In questo tutorial vediamo come usare il sensore Line Follower del nostro mBot.
Obbiettivo far seguire a mBot un percorso creato con del nastro nero, il percorso avrà curve a dx e a sx, e sarà disegnato sopra una serie di cartoncini bianchi uniti.
Il segui linea sfrutta il sensore infrarosso Line Follower posizionato sotto il telaio.
I sensori lavorano con un led TX che emana raggi infrarossi e in base a quanti ne ritornato al fotodiodo RX capiscono se la superficie sottostante è nera o bianca, in quanto una superficie chiara fa ritornare tanti raggi infrarossi, mentre una superficie scura fa ritornare una quantità minima di raggi rispetto a quelli che gli sono arrivati.
In mBlock3 ci sono 2 blocchi associati al follower di linea:
Il primo blocco restituirà un numero compreso tra 0 e 3 in base alle seguenti situazioni :
Il secondo blocco restituirà true o false.
Noi utilizzeremo il primo blocco, vediamo nella prossima immagine le quattro situazioni in cui mBot si troverà sul percorso rispetto alla linea nera: 0, se si trova sulla linea nera, continua a muoversi in avanti; 1-2, se devia dalla linea nera, gira a destra o a sinistra in tempo per mantenersi in linea; 3, se si trova fuori dalla linea torna indietro fino a ritrovare la linea nera.
Se vogliamo che il nostro robot segua una linea nera, avremo il seguente pseudocodice:
If( line follower = 0) ---- Go forward Else if (line follower = 1) ---- Turn Left Else if(line follower = 2) ---- Turn Right Else if(line follower = 3) ---- Go backward
Per avere un movimento più lineare e non troppo a scatti, ho preferito eseguire gli spostamenti a sinistra e a destra regolando in modo autonomo la velocità dei singoli motori, ho anche utilizzato due variabili per impostare la velocità max e la velocità indietro e inserito il blocco tasto sulla scheda premuto per la partenza, vediamo nel codice sotto:
Se disponete anche del display LED a matrice può essere simpatico far fare alcune faccine a seconda della posizione di mBot:
Comments