Oltre ai sensori di linea, il robot è dotato di sensori di distanza ad ultrasuoni.
I sensori ad ultrasuoni da me usati, sono in grado misurare un ostacolo ad un massimo di 4 metri con una precisione di centimetri.
Il sensore utilizzato è il modello HC-SR04.
In fase di test, sono stati montati tre sensori tutti avanti al robot, ma durante l'utilizzo il centrale è stato spostare posteriormente.
Il sensore funziona nel seguente modo:
La capsula trasmettitore, siglata con la lettera T, trasmette un suono a 40Khz, questo suono se incontra un ostacolo rimbalza e viene captata dalla capsula ricevente, siglata con la lettera R.
Calcolando il tempo di invio e ritorno e conoscendo la velocità del suono, si può ricavare la distanza.
Il sensore ha quattro piedini con le rispettive funzioni:
VCC
GND
TRIG
ECHO
VCC e GND, come abbiamo visto in precedenza, sono alimentazione (5 Volt) e massa.
TRIG è il piedino usato per innescare l'invio dell'impulso.
ECHO è il piedino che riceve l'impulso inviato.
A grandi linee il suo funzionamento a livello software è il seguente:
Porto a livello logico alto l'uscita della scheda collegata al piedino TRIG per 10 microsecondi.
Il trasmettitore invia il suono (PING).
Mi metto in ascolto sulla porta della scheda collegata al piedino ECHO e misuro il tempo in cui il suo valore logico rimane a uno (HIGH) (PONG).
Il tempo è proporzionato alla distanza dell'ostacolo rilevato.
Questo indica che se non è presente nessun ostacolo il piedino ECHO rimane a zero, stesso discorso se l'ostacolo si trova a più di 4 metri.
Per calcolare il tempo è presente una funzione nelle librerie di Arduino che potete leggere nel codice successivo, che vi facilita di molto l'utilizzo dei sensori, mentre il calcolo della distanza dell'oggetto, deve essere fatto a parte.
Ricordatevi di posizionare i sensori non troppo fuori il robot, altrimenti vedrà degli ostacoli che può superare senza problemi.
Aggiunta il link al corso Linux Uno su Udemy.
Aggiunto il tutorial per la realizzazionedi un Arcade con materiale di riciclo.