LEGO Spike

Le informazioni fondamentali sul kit si trovano sul sito Lego o su quello di Campustore che lo commercializza. È nato anche un gruppo su Facebook. L'app è disponibile per tutti i sistemi operativi per pc e tablet (Mac OS, Windows 10 ,Chromebook, Android, iPad) e si scarica qui https://education.lego.com/it-it/downloads/spike-app/software.

Apriamo l'app sul tablet e partiamo da qui (far scorrere le immagini per vedere le varie fasi dell'attività):

Per capire come funziona questo kit è utile partire dalle attività proposte come esempio che i bambini possono gestirsi anche da soli perchè molto guidate. Si scarica una unità di apprendimento da scegliere fra quelle dedicate all'ingegneria, all'informatica o a entrambe. Nel filmato che segue l'attività "Eliminiamo i rifiuti" realizzata da Federico (8 anni).

Il secondo percorso parte direttamente dalla costruzione. Quando abbiamo il nostro oggetto possiamo passare alla programmazione con due modalità: con i blocchi previsti dalla lezione in cui il progetto è inserito oppure in modalità libera con tutti i blocchi.

Raccogliamo i rifiuti-Federico.mp4

Il pannello per la scelta del tipo di costruzione.

Dalla pagina di programmazione sono anche accessibili delle estensioni con blocchi aggiuntivi per realizzare progetti specifici.

Il pannello delle estensioni

I comandi per l'estensione Meteo

La costruzione di un ciclista e la sua programmazione sono un contesto molto interessante perchè dà la possibilità di sviluppare molti contenuti scientifici.

Gli aspetti meccanici sono tutti da studiare e da collegare con discorsi sulle articolazioni e sui muscoli inerenti lo studio del corpo umano.

In questo caso il bambino ha semplicemente programmato il ciclista per farlo andare avanti e indietro. Molte variazioni possono essere realizzate introducendo anche i diversi sensori di cui è dotato il kit.

La programmazione

I comandi sono spiegati in modo dettagliato nella guida del software e ciascuno di essi è inserito in un blocco. La programmazione avviene incastrando i blocchi. Ogni blocco svolge la funzione descritta dal testo. Una sequenza di blocchi costituisce uno stack. I blocchi che non hanno l'incastro servono per fare calcoli o rilevare dati dai sensori e vanno inseriti dentro un altro blocco che gestisce i valori risultanti.

blocchi motore

Primo blocco. A indica la porta a cui è collegato il motore. La freccia indica il senso della rotazione del motore e il numero quante rotazioni deve fare oppure per quanti secondi deve ruotare oppure di quanti gradi, coesistono tutte e tre le modalità.

Secondo blocco. Possiamo decidere in quale posizione espressa in gradi deve fermarsi il motore.

Terzo e quarto blocco. Per avviare e fermare il motore.

Quinto blocco. Imposta la velocità di rotazione.

Gli altri due blocchi vanno inseriti dentro un controllo e riportano il valore della posizione o la velocità.

blocchi movimento

Il significato dei primi blocchi è intuitivo, fanno spostare la struttura motrice come indicato dalla freccia usando i motori scelti con il blocco imposta motori di movimento, A+B indica le porte a cui sono connessi.

L'ultimo blocco collega la rotazione con lo spostamento che può quindi essere calibrato.

blocchi luce

I blocchi con il disegno della matrice a 9 punti programmano la comparsa di un immagine per un certo periodo di tempo.

Si può scegliere il colore dei pixel accesi, la luminosità, l'orientamento.

Gli ultimi due blocchi hanno un'icona diversa: il primo imposta la luce del pulsante centrale dell'Hub, il secondo illumina il sensore di distanza.

blocchi suono

Si può riprodurre un suono registrato oppure effetti sonori impostando anche il volume.

blocchi evento

Questi sono semore i primi blocchi di ogni stack. Infatti non si possono collegare a blocchi precedenti.

Il primo blocco riproduce tutti i blocchi ad esso collegati in sequenza.

I blocchi successivi avviamo la sequenza quando si avvera la condizione posta.

Gli ultimi tre gestiscono i messaggi che devono essere inviati e ricevuti per avviare una sequenza.

blocchi controllo

Questi blocchi modificano il flusso del programma perchè pongono delle condizioni: ripetere più volte o per sempre una sequenza, attendere fino a quando..., se... allora, se ... allora ... altrimenti..., arrestare uno stack...

sensori

Rucevono informazioni dais ensori che vengono utilizzati da un altro blocco per gestire una procedura. Quindi non si attaccano direttamente allo stack tranne quello che imposta l'angolo di imbardata su 0 cioè la direzione che aveva all'avvio del programma.

operatori

Anche questi blocchi si inseriscono dentro altri, sono operatori logici e aritmetici, eseguono tutte le operazioni indicate.

variabili e blocchi personalizzati

Questi blocchi sono visibili solo se si imposta una variabile numerica o una lista o un blocco personalizzato