Esercitazione di robotica con LEGO EV3

Contastrisce fino a 4 in avanti e 4 indietro

(torna al punto di partenza)

A cura del prof. Giuseppe SPALIERNO

Aprile 2020

In questa esercitazione il robot si muove su un pavimento con piastrelle chiare aventi fughe scure.

Scopo del programma è contare il numero di fughe, cioè di strisce nere trasversali incontrate durante il percorso in avanti con motori con potenza 40%, fermarsi quando ne ha contate 4 e ripetere la procedura a motori in retromarcia, cioè con stessa potenza del percorso di andata ma con valore negativo.

L’algoritmo utilizzato prevede l’utilizzo di due blocchi personalizzati: “inc” che ha lo scopo di incrementare la variabile x già inizializzata a 0 nel programma principale “funziono”, e “uguale” che, a sua volte contiene, il blocco personalizzato “inc” menzionato in precedenza.

Nella seguente figura si mostrano i comandi del programma principale di nome “funziono” ed una succinta descrizione sotto lo schema.

 

 

Nella successiva figura si mostrano i comandi del blocco personalizzato “uguale”.

Il blocco personalizzato “uguale” funziona così: il blocco di selezione semplice sceglie il percorso “vero” (segno di spunta in alto)  se il sensore di luce incontra una striscia trasversale nera con luce riflessa inferiore a 50%, si attiva il blocco “inc” poi si attende 0.1s, per consentire al robot di passare oltre la striscia. Se il sensore di luce ha un codice maggiore o uguale a 50 viene eseguito il ramo inferiore “falso” (segno x in basso) che non permette lo svolgimento della procedura di incremento.

Se il sensore è passato sulla striscia nera si confronta se x=4 , in caso negativo si ripete la sua procedura attendendo l’incontro con la successiva striscia nera. Se invece ha raggiunto il valore x=4 il programma principale “funziono” continua reinizializzando la variabile x=0, attivando i motori stavolta con potenza -40%.

Nella seguente figura si mostra il contenuto del blocco personalizzato “inc”.

 

Viene letta la variabile x ed inserita nel sommatore per 1. Il risultato dell’operazione è scritto nuovamente nella variabile x che successivamente è trasferito sul display del robot EV3 a centro schermo. Su di esso noteremo apparire i numeri 1, 2, 3, 4 durante il percorso di andata a mano a mano che incontra le strisce nere trasversali. Poi il robot inizierà il percorso di ritorno a marcia indietro e rivedremo sul display, in successione, le cifre 1, 2, 3, 4. A questo punto il robot si ferma, emette il suono “stop” attende 3s ed esce dal programma.