home - tutorial - TUTORIAL - SENSORE DI CONTATTO LEGO MINDSTORMS EV3

TUTORIAL - SENSORE DI CONTATTO LEGO MINDSTORMS EV3

In che modo un robot può reagire quando entra in contatto con un oggetto, continuare a spingere un avversario finché questo non si ritira, rilevare le pressioni effettuate con un dito?

Il kit “Lego® Mindstorms® EV3 Education” contiene il sensore di contatto,...

  by Luca Balestra

Lego® Mindstorms® EV3

Introduzione

In questo tutorial vedremo l’utilizzo del sensore di contatto, contenuto nel kit Lego® Mindstorms® EV3 Education.

Nello specifico, tratteremo:

  • Caratteristiche del sensore di contatto
  • Installazione del sensore di contatto
  • Programmazione del sensore di contatto

Tecnologia:

Caratteristiche del sensore di contatto

Il sensore di contatto è un sensore che rileva lo stato del proprio pulsante rosso posto nella parte anteriore.

Il sensore di contatto può rilevare tre stati:

  • Premuto
  • Rilasciato
  • Premuto e rilasciato

Il sensore di contatto può indicare solo lo stato del pulsante, e non può quindi misurare quanto a fondo o quanto forte sia stato premuto.

Per qualsiasi stato rilevato, il sensore di contatto può fornire un valore numerico o un valore logico.

Nello stato Premuto, il sensore è in grado di fornire un valore numerico uguale a “1”, o un valore logico: vero se il pulsante è premuto, falso se non è premuto. 

Nello stato Rilasciato, il sensore è in grado di fornire un valore numerico uguale a “0”, o un valore logico: vero se il pulsante non è premuto, falso se è premuto. 

Nello stato Premuto e rilasciato, il sensore è in grado di fornire un valore numerico uguale a “2”, o un valore logico: vero se il pulsante è stato premuto e rilasciato in precedenza, falso in caso contrario. 

Installazione del sensore di contatto

L’installazione è immediata e semplice: per poter funzionare basta connetterlo, attraverso i cavi neri di connessione, al mattoncino EV3 utilizzando le porte di ingresso 1, 2, 3 e 4 (fig. 4).

Se crei un programma mentre il mattoncino EV3 è disconnesso dal pc, il software assegna il sensore di contatto alla porta predefinita 1.

Se connetti il mattoncino EV3 al pc durante la programmazione, il software identifica automaticamente in quale porta è collegato il sensore di contatto.

Per verificare che l’installazione sia andata a buon fine è possibile visualizzare in diretta il valore che sta leggendo il sensore.

Esistono due modi per svolgere questa operazione:

  • Visualizzazione nel mattoncino EV3
  • Visualizzazione nel software Lego® Mindstorms® EV3 Education

Nel primo caso, utilizza l'interfaccia del mattoncino EV3 e le sue quattro schermate di base (fig. 5), che consentono di accedere a diverse funzioni esclusive.

Utilizzando la funzione Port View (fig. 6), che trovi nella schermata Applicazioni, è possibile visualizzare un riepilogo delle porte a cui sono collegati i sensori.

Con i pulsanti direzionali del mattoncino puoi accedere alla porta occupata dal sensore di contatto e consultare le letture correnti restituite dal sensore.

Con il pulsante centrale puoi controllare e modificare le impostazioni correnti relativo al sensore collegato.

Nel secondo caso, utilizza la pagina hardware del software Lego® Mindstorms® EV3 Education, situata nell’angolo inferiore destro dell’ambiente di programmazione.

All’interno della pagina hardware, scegli la scheda Visualizzazione Porte (fig. 7) per visualizzare le informazioni sui sensori connessi al mattoncino EV3.

Quando connetti il mattoncino EV3 al computer, queste informazioni vengono identificate automaticamente per permetterti di visualizzare i valori letti dal sensore in tempo reale.

Cliccando sopra l’icona del sensore collegato puoi controllare e modificare le relative impostazioni correnti.

Programmazione del sensore di contatto

Il sensore di contatto può essere impiegato in diverse modalità e con diversi blocchi di programmazione.

Di seguito sono riportati solo alcuni esempi di come utilizzarlo nel software Lego® Mindstorms® EV3 Education.

  • Esempio 1: Accendere le luci ogni volta che viene premuto il sensore di contatto

Questo programma (fig. 8) fa accendere le luci al robot ogni volta che il sensore di contatto viene premuto e mantenuto premuto, e le fa spegnere ogni volta che il sensore viene rilasciato.

Il programma utilizza un blocco Selettore in modalità Sensore di contatto – Confronto – Stato per testare lo stato Premuto.

In caso affermativo, il selettore fa impostare le luci di stato del mattoncino su On; in caso contrario, su Off.

Il selettore viene ripetuto in un ciclo in modo che il test venga ripetuto continuamente.

  • Esempio 2: Emettere un suono ogni volta che viene premuto il sensore di contatto

Questo programma (fig. 9) fa emettere al robot una nota ogni volta che il sensore di contatto viene premuto.

Per ogni pressione viene emesso una sola nota.

Il programma utilizza un blocco Attesa in modalità Sensore di contatto - Confronto - Stato per testare lo stato Premuto, quindi utilizza un altro blocco Attesa per attendere lo stato Rilasciato.

I due blocchi Attesa e il blocco Suono – Riproduci nota vengono ripetuti in un ciclo in modo che il test venga ripetuto continuamente.

Senza l’attesa dello stato Rilasciato, la nota verrebbe ripetuta fintanto che il sensore di contatto resta premuto: questo è dovuto al fatto che l’attesa dello stato Premuto proseguirebbe immediatamente con il blocco successivo se il sensore di contatto è già premuto.

  • Esempio 3: Spostarsi secondo uno schema finché il sensore di contatto non viene premuto e rilasciato

Questo programma (fig. 10) fa ripetere al robot uno schema di spostamenti in linea retta e curve finché non viene premuto e rilasciato un sensore di contatto, che funge da pulsante di arresto.

Una volta che il sensore di contatto viene premuto e rilasciato, il robot si arresterà dopo la successiva curva.

Il programma utilizza un blocco Ciclo in modalità Sensore di contatto - Stato per ripetere gli spostamenti finché lo stato del sensore di contatto non è Premuto e rilasciato.

Utilizzando lo stato Premuto e rilasciato, il sensore di contatto ricorda se è stato premuto e rilasciato in precedenza: il robot quindi si arresterà anche se il sensore è stato premuto e rilasciato mentre erano in esecuzione i blocchi Movimento.

Possibili difficoltà

Il sensore di contatto, oltre a indicare se il proprio pulsante attualmente è premuto o rilasciato, tiene traccia del fatto che tale pulsante sia stato premuto e rilasciato in precedenza: è il cosiddetto stato Premuto e rilasciato. In questo modo è facile determinare se un sensore di contatto è stato premuto come un pulsante senza dover verificare costantemente che avvenga una pressione e quindi attendere il rilascio.

Il sensore di contatto, dopo aver indicato lo stato Premuto e rilasciato, non indicherà di nuovo tale stato finché non verrà premuto e quindi rilasciato ancora una volta. Questo consente ad esempio di assicurarsi che a ogni pressione corrisponda un'azione che viene eseguita una sola volta.

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, il logo LEGO e MINDSTORMS 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!