Introduction: ARDUINO – RANGE FINDER

Buongiorno a tutti,

in questo progetto ho realizzato un sensore in grado di stabilire la distanza rispetto agli oggetti che lo circondano montando il sensore a ultrasuoni hc-sr04 su di un servomotore in grado di ruotare di 180°.

E’ un primo prototipo per il sensore che prevedo di inserire nel robottino che sto progettando, si tratta di un robot in grado di muoversi autonomamente all’interno della casa evitando gli ostacoli, accendendo i “fari” quando entra in una stanza buia e altre piccole sciocchezze del genere.

Si tratta di un progetto che mi piacerebbe un giorno espandere per replicare in piccole dimensioni i combattimenti fra robot di “Robot WarS”, ma con robot non radiocomandati ma programmati.

In ogni caso parliamo del progetto appena realizzato. Si tratta in effetti di un progetto piuttosto semplice tutto sommato. L’utilizzo del sensore è piuttosto semplice, inviando un segnale sul piedino Trig della durata di 10 microsecondi attiva la trasmissione e manda un segnale sul piedino echo finché non sente, appunto, l’eco di ritorno. Di conseguenza la durata del segnale sul piedino echo in rapporto con la velocità di propagazione delle onde sonore nell’aria ci dà la distanza degli oggetti posti nella direzione in cui è orientato, in quel momento il sensore. Il risultato va diviso per 2 in quanto il tempo impiegato è quello necessario a raggiungere il primo ostacolo e tornare indietro. Quindi, alla temperatura della stanza dove ho svolto l’esperimento si tratta di 29.5 microsecondi per ogni centimetro percorso, quindi il valore rilevato dal pin echo va diviso per 29.5*2 = 59 per convertirlo in centimetri.

Il servomotore si muove lungo i 180° (Supponiamo, sempre parlando del robot, che parta da sinistra facendo tutto il semicerchio frontale fino a destra) facendo scatti di 15° (si tratta di un limite imposto dal sensore, 15° è la precisione massima del sensore che ho utilizzato, altri sensori sono più precisi ma costano circa 15 volte in più rispetto all’HC-SR04).

Per il momento tutti i valori sono semplicemente inviati al computer che li stampa a schermo, nel robot saranno invece conservati in apposite variabili per capire la posizione relativa del robot rispetto agli oggetti che lo circondano.

Il codice sorgente del progetto lo trovate qui