home - tutorial - TUTORIAL - SENSORE DI INCLINAZIONE LEGO WEDO 2.0

TUTORIAL - SENSORE DI INCLINAZIONE LEGO WEDO 2.0

Il kit LEGO® WeDo 2.0 fornisce all’utilizzatore il sensore di inclinazione: uno strumento in grado di percepire l’inclinazione e la rotazione di una costruzione su cui è montato. Il sensore è sensibile alle vibrazioni che, se eccessive, potrebbero causare problemi durante le inclinazioni.

  by Roberto Faloppi

Lego® Wedo 2

Introduzione

LEGO® Education WeDo 2.0 è un kit creativo di introduzione alla robotica che ti permette di costruire robot interattivi e altre creazioni. Puoi utilizzare il software proprietario LEGO® WeDo 2.0 oppure combinare insieme i blocchi di programmazione di Scratch per interagire con le tue creazioni e per aggiungere suoni e animazioni sullo schermo.
In questo tutorial vedrai l’utilizzo dei sensori presenti nel set LEGO® Education WeDo 2.0.
Nello specifico, approfondirai:
  • l’installazione del sensore di inclinazione (Tilt Sensor) in Scratch 3 e come programmarlo
  • l’installazione del sensore di inclinazione (Tilt Sensor) in LEGO® WeDo 2.0 e come programmarlo
Tecnologie:

Installazione del sensore di inclinazione nel software Scratch 3

Il sensore di inclinazione è in grado di rilevare il verso di inclinazione in cui è orientato l’oggetto su cui è montato: verso l’alto, il basso, a destra e a sinistra (considera che la parte posteriore del sensore è quella con il cavo e l’inclinazione si riferisce al modo in cui è orientata la “punta”, cioè la parte opposta). È possibile sfruttarne tutto il potenziale utilizzandolo, ad esempio, con il software Scratch 3. Come? Il sensore utilizza una scala numerica, con valori interi da 0 a 45, in relazione al grado di inclinazione dell’oggetto su cui è posizionato ed è in grado di rilevare fino a 7 differenti tipi di inclinazioni a cui i modellini WeDo 2.0 possono essere sottoposti:
  • inclinazione laterale, sia in un senso che in quello opposto, quindi verso destra e verso sinistra
  • sollevamento, verso l’alto
  • abbassamento, verso il basso
  • nessuna inclinazione, appoggiato orizzontalmente su un piano (valore 0)
  • qualsiasi inclinazione
  • scrollata (shake)
Per cui più ci si avvicina all’inclinazione massima (90° come angolo di rotazione del sensore), più il valore tenderà al valor massimo di 45. Le inclinazioni vengono anche calcolate in base ad un asse, per cui il sensore rileverà valori sia positivi che negativi ed il range si estenderà da -45 a 45. Ad esempio, se in fase di programmazione (come verrà illustrato più avanti) scegli l’inclinazione verso l’alto, il valore misurato sarà 45 se inclinato di 90° in alto, 0 se posto in orizzontale e -45 se inclinato di 90° in basso (il ragionamento è analogo se la scelta iniziale dell’inclinazione è verso il basso, verso destra o verso sinistra).
Per utilizzarlo in Scratch 3 assicurati, innanzitutto, che il tuo sistema operativo sia compatibile con Scratch Link e di averne installato l'ultima versione. I requisiti di sistema sono:
  • Windows 10 versione 1709+
  • macOS 10.13+
  • Bluetooth
  • Scratch Link
Se non l’hai ancora fatto, per installare Scratch Link segui questa procedura:
  • scarica e installa Scratch Link dalla pagina web dedicata nel sito ufficiale di Scratch
  • avvia Scratch Link e assicurati che sia in esecuzione: dovrà comparire l’icona specifica nella barra degli strumenti
Per iniziare collega WeDo 2.0 con Scratch. L’installazione del sensore è immediata e molto semplice, non è richiesto alcun setup: una volta collegato allo Smarthub in dotazione nel set e connesso l’hub tramite Bluetooth al computer attraverso Scratch Link (vedi TUTORIAL – SMART HUB E MOTORE LEGO EDUCATION WEDO 2.0), Scratch rileverà automaticamente la presenza del sensore.
Il passo successivo che devi eseguire è far comparire a schermo i blocchi necessari alla programmazione. A questo punto:
  • clicca sul pulsante “Aggiungi un’Estensione” situato in basso a sinistra della schermata (Fig.1)
  • fai doppio clic su “LEGO Education WeDo 2.0” (Fig.2)
  • i blocchi compariranno nella nuova categoria “WeDo 2.0”, sotto la categoria “I Miei Blocchi” (Fig.3)
Per verificare che l’installazione sia andata a buon fine puoi far comparire in Scratch 3 il valore che il sensore assume quando è inclinato.
Esistono differenti modi per svolgere questa operazione:
  • cliccare sul pulsante “angolo inclinazione verso …” solamente una volta per far visualizzare a schermo il valore tramite una finestra a scomparsa, selezionando preliminarmente il verso (Fig.4)
  • creare una variabile “inclinazione” (blocco arancione scuro), oppure più di una per ogni verso di inclinazione, che aggiorni e visualizzi il valore del sensore durante i suoi rilevamenti (Fig.5); cliccare sulla spunta vicino alla variabile per visualizzarla a schermo
  • mostrare il valore come testo di dialogo del gattino di Scratch (Fig.6)

Come programmare l’utilizzo del sensore in Scratch 3

Scratch mette a disposizione due modi per poter interagire con il sensore.

* Primo metodo *

Il metodo più semplice e intuitivo è associare il sensore al blocco “Quando inclinato (valore da scegliere)”. Puoi scegliere il verso di inclinazione e associare un evento scelto in base ad una inclinazione definita.
Puoi ad esempio (Fig.7):
  • aumentare la potenza del motore quando il sensore è inclinato verso l’alto, immaginando che la tua navicella LEGO® abbia bisogno di una velocità elevata per decollare
  • diminuire la potenza del motore quando il sensore è inclinato verso il basso, in fase di atterraggio
Nella figura seguente è riportato un altro esempio di utilizzo: puoi utilizzare un blocco diverso per ogni tipo di inclinazione, in modo tale da poter associare una funzione differente da far svolgere al tuo personaggio (Fig.8).
* Secondo metodo *

L’estensione “WeDo 2.0” fornisce il blocco “inclinato …” e il blocco “angolo inclinazione verso …” da abbinare alle altre istruzioni, ma in questo caso è necessario costruirsi uno script con un blocco condizionale. È possibile domandarsi: “Cosa succederebbe se si utilizzasse il sensore inclinato in un dato verso?”. Questo quesito, tradotto in linguaggio informatico, necessita del blocco condizionale “se allora”, situato nella categoria “Controllo”.
Componendo le istruzioni come in figura puoi associare ad una direzione scelta un qualsiasi compito si voglia far eseguire alla costruzione Lego® WeDo 2.0 o agli Sprite di Scratch (Fig.9).
Lo script appena presentato esegue le istruzioni date solamente una volta. Nel caso tu voglia ripetere l’esecuzione e accendere il motore e spostare lo Sprite ogni volta che il sensore rileva l’inclinazione scelta, dovrai utilizzare il blocco “per sempre” (Fig.10).
Il sensore può essere programmato anche per muovere un personaggio virtuale in Scratch, come il gattino già presente di default o altri importati dall’utente, sfruttando il range di valori che può rilevare. Nella figura successiva è riportato il seguente esempio: il personaggio si sposta lungo l’asse Y, per sempre, di una quantità uguale al valore dell’angolo di inclinazione che il sensore ha verso l’alto, e si sposta lungo l’asse X, per sempre, di una quantità uguale al valore dell’angolo di inclinazione che il sensore ha verso destra (Fig.11). Ricordati che il sensore misura per ogni direzione valori sia positivi che negativi e che il valore minimo è -45 e quello massimo 45. In questo modo lo Sprite si muoverà nell’intero Stage con velocità diverse perché ogni volta sarà diverso l’angolo di inclinazione.

Installazione del sensore di inclinazione nel software LEGO® WeDo 2.0

Anche con il software proprietario della LEGO l’installazione risulta semplice e rapida, esattamente come in Scratch: una volta collegato il sensore allo Smarthub in dotazione e connesso quest’ultimo al computer tramite il Bluetooth, LEGO® WeDo 2.0 Software ne rivelerà automaticamente la presenza.
Il sensore di inclinazione associa ad ogni posizione un valore numerico specifico, per un totale di 5 stati:
  • 0 sensore non inclinato ed appoggiato orizzontalmente su un piano
  • 3 sensore inclinato verso l’alto
  • 5 sensore inclinato verso destra
  • 7 sensore inclinato verso sinistra
  • 9 sensore inclinato verso il basso
Per verificare che l’installazione sia andata a buon fine puoi far comparire anche in WeDo 2.0 il valore che il sensore assume quando è inclinato.
Lo script in figura permette di visualizzare a schermo il valore che il sensore assume ogni volta che viene spostato, combinando tra loro il blocco “input sensore di inclinazione”, il “blocco display” e la ripetizione ciclica (Fig.12).

Come programmare l’utilizzo del sensore in LEGO® WeDo 2.0 Software

Nella figura sottostante (Fig.13) è presente un esempio di come puoi programmare il sensore di inclinazione. È necessario usare il blocco “invio messaggio” abbinato al blocco “input sensore di inclinazione”: il valore mostrato a schermo verrà così salvato come “messaggio”. Con il “blocco avvio su messaggio” puoi abbinare al valore numerico salvato un’istruzione specifica: nell’esempio proposto il motore ruoterà il suo asse verso sinistra quando il sensore è rivolto verso l’alto e si spegnerà quando inclinato verso il basso.
Un’altra sequenza che puoi costruire è la seguente (Fig.14):
In questo caso utilizza il blocco “attendi per” (la clessidra di colore giallo) per aspettare che il sensore venga rivolto verso l’alto (come si osserva dal blocco arancione connesso sotto); nel momento in cui si verifica questo evento vengono eseguiti i blocchi successivi, cioè viene impostata la rotazione dell’asse del motore in senso orario, la potenza a 10 e il tempo di accensione a 10 secondi. È presente anche il “blocco ripeti”, che racchiude la sequenza appena descritta e che permette la ripetizione all’infinito della logica implementata.

Ti è piaciuto il tutorial?

Se vuoi maggiori informazioni, una consulenza o se vuoi far parte della famiglia We Turtle scrivi all'indirizzo e-mail: info@weturtle.org
Per restare sempre aggiornato iscriviti alla Newsletter e segui We TurtleTALENT su Facebook.

Riferimenti e links



LEGO e il logo LEGO sono marchi e/o copyright di LEGO Group. © 2018 The LEGO Group. Tutti i diritti riservati.

Vuoi leggere il tutorial quando vuoi, anche offline?





Hai letto la lezione? Che cosa ne pensi? Lascia un commento qui sotto!