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

TUTORIAL - SENSORE DI INCLINAZIONE LEGO WEDO 1.0

L’utilizzo dei sensori permette di capire il sistema in cui i robot sono capaci di interagire con il mondo circostante.

In che modo una macchina percepisce il senso di equilibrio o una rotazione in un dato verso?
Il kit “Lego® WeDo” contiene il sensore di inclinazione,...

  by Federico Camilletti

Lego® Wedo 1

 Introduzione

In questo tutorial vedremo l’utilizzo dei sensori in Lego® WeDo 1.0.

Nello specifico, tratteremo:

● Installazione del sensore di inclinazione in Scratch e come programmarlo

● Installazione del sensore di inclinazione in Lego® WeDo e come programmarlo

 

Tecnologia

●  Kit Lego® WeDo 1.0;

● Computer;

● Software Scratch 2 o Lego® WeDo Software.

 

Installazione del sensore di inclinazione nel software Scratch

Il sensore di inclinazione è in grado di rilevare la direzione verso cui è puntato: in alto, in basso, a destra o a sinistra. È possibile sfruttarne il potenziale utilizzandolo con il software Scratch.

L’installazione è immediata e semplice: una volta collegato all’hub USB in dotazione con il kit e connesso l’hub al computer, Scratch rivelerà automaticamente la presenza del sensore.

Il passo preliminare da eseguire è far comparire a schermo i blocchi necessari. A questo punto:

1. Selezionare il pulsante “Altri Blocchi” situato in alto al centro della schermata;

2. su “Aggiungi un’estensione” (fig. 1): doppio clic su “Lego® WeDo 1.0” (fig. 2) si avrà accesso ai pulsanti necessari.

Il sensore di inclinazione associa ad ogni posizione un valore numerico, per un totale di 5 stati:

● 0 corrisponde al sensore non inclinato ed appoggiato orizzontalmente su un piano;

● 1 se inclinato verso il basso;

● 3 verso l’alto (rispetto all’asse Y);

● 2 se inclinato a destra;

● 4 verso sinistra (rispetto all’asse X).

Per verificare che l’installazione sia andata a buon fine è possibile far comparire in Scratch il valore che il sensore assume quando è inclinato.
Esistono differenti modi per svolgere questa operazione; dopo aver inclinato il sensore in una certa posizione:

● cliccare sulla spunta vicino al pulsante inclinazione, se presente (fig. 3);

● creare una variabile che aggiorni e visualizzi il valore del sensore durante i suoi movimenti, con uno schema tipo questo:

● cliccare sul pulsante una volta per far visualizzare il valore (fig. 4);

● mostrarlo come testo di dialogo del gatto di Scratch (fig. 5).

Possibili difficoltà

Se si dovessero notare imprecisioni nei valori mostrati a schermo dal sensore, controllare che esso sia correttamente installato nell’hub: il sensore è sensibile alle vibrazioni che, se eccessive, potrebbero causare problemi durante le inclinazioni.

Come programmare l’utilizzo del sensore in Scratch

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

-Primo metodo-

Quello più semplice e intuitivo è associare il sensore al blocco “Quando inclinazione = (valore da inserire)”, programmando l’esecuzione di uno o più blocchi  si verifica una certa inclinazione.

Possiamo ad esempio:

● aumentare la potenza del motore quando il sensore è inclinato verso l’alto, immaginando che la nostra costruzione Lego® abbia bisogno di velocità per scalare una salita;

● diminuire la potenza del motore se il sensore è inclinato verso il basso (fig. 6).

Un altro esempio di utilizzo: potremmo utilizzare un blocco diverso per ogni tipo di inclinazione, in modo tale da poter associare una funzione differente da far svolgere al nostro robot per ogni inclinazione scelta.

-Secondo metodo-

Questo metodo, consentito dall’estensione “Altri blocchi”, richiede la costruzione di uno script con un’istruzione 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” e dell’operatore verde di uguaglianza.
Componendo le istruzioni come in figura è possibile associare a una direzione scelta un qualsiasi compito si voglia far eseguire alla costruzione Lego® WeDo.

Lo script appena mostrato in figura esegue l’istruzione data solamente una volta. Nel caso si volesse ripetere l’esecuzione e rilevare ogni volta che il sensore viene spostato in una data direzione, è possibile utilizzare il blocco “per sempre”, come in figura:

Il sensore può essere programmato anche per muovere un personaggio virtuale in Scratch, come il gattino già presente o altri importati dall’utente.
In figura è riportato il seguente esempio: il personaggio si sposta lungo l’asse Y, per sempre, di 10 unità se il sensore è inclinato verso l’alto, di 10 unità verso il basso se inclinato in quella direzione.

Installazione del sensore di inclinazione nel software Lego® WeDo

L’installazione è semplice e rapida, esattamente come in Scratch: una volta collegato il sensore all’hub USB in dotazione e connesso quest’ultimo al computer, Lego® WeDo ne rivelerà automaticamente la presenza.

Il sensore di inclinazione associa ad ogni posizione un valore numerico, per un totale di 5 stati:

● 0 corrisponde al sensore non inclinato ed appoggiato orizzontalmente su un piano;

● 10 se inclinato verso il basso;

● 2 verso l’alto (rispetto all’asse Y);

● 8 se inclinato a sinistra;

● 4 verso destra (rispetto all’asse X).

Per verificare che l’installazione sia andata a buon fine è possibile far comparire in WeDo il valore che il sensore assume quando è inclinato.
Lo script in figura ci permetterà di visualizzare a schermo il valore che il sensore assume ogni volta viene spostato, combinando tra loro il blocco di inclinazione, il blocco “display” e la ripetizione ciclica.

Come programmare l’utilizzo del sensore in Wedo Software  

Nella figura sottostante è presente un esempio di come si potrebbe programmare il sensore di inclinazione. È necessario usare il blocco “invio messaggio” abbinato al blocco del sensore: il valore mostrato a schermo verrà così salvato come “messaggio”.

Con il blocco “Avvia su messaggio” l’utente potrò abbinare al valore numerico salvato un’istruzione specifica: nell’esempio proposto il motore verrà ruotato a sinistra quando il sensore è rivolto verso l’alto, e si spegnerà quando inclinato in basso.

Un’altra sequenza che potrebbe essere costruita è la seguente:

In questo caso utilizziamo 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 del motore in senso orario, la potenza a 10 e il tempo di accensione a 10 decimi di secondo. È presente anche il blocco ripeti, all’esterno di questa sequenza appena descritta, che permette la ripetizione all’infinito della logica implementata.

Ti è piaciuto il tutorial?

Se vuoi maggiori informazioni o una consulenza o se vuoi far parte della famiglia We Turtle scrivi all'indirizzo email: 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!