Sensore ad ultrasuoni srf05

Oggi voglio raccontarti di qualche esperimento che ho potuto eseguire con il sensore ad ultrasuoni srf05 in grado di misurare la distanza da 3cm a 4m

sensore ad ultrasuoni srf05

per fare i miei test ho utilizzato arduino uno.

Il sensore ad ultrasuoni srf05 è formato da un emettitore o Tx di ultrasuoni ed un ricevitore o Rx degli stessi orientati nella stessa direzione, è inoltre dotato di una circuiteria, visibile in figura, che ti aiuta ad eseguire le misurazioni facilmente.

Per eseguire una misura è necessario inviare un segnale ( Trigger ) e leggere l’eco di quel segnale dopo che esso dopo aver rimbalzato sull’oggetto torna indietro.

Per comprendere meglio il principio di funzionamento del sensore ad ultrasuoni srf05 ho realizzato un disegno:

sensore ultrasuoni srf05

ora dovresti avere più chiaro il principio di funzionamento dei sensori ad ultrasuoni in generale, questa tecnica è simile a quella utilizzata dai radar ad ultrasuoni o gli eco-scandagli ad uso nautico.

In pratica l’ultrasuono emesso dal trasmettitore ( Tx ), non udibile dall’orecchio umano in quanto oltre la soglia che puoi percepire, rimbalza sul muro o altro oggetto e torna nella stessa direzione in modo che l’eco, questo è il nome del segnale di ritorno, possa essere captato dal ricevitore ( Rx ).

Teoria del sensore ad ultrasuoni srf05

Per utilizzare il sensore ad ultrasuoni sfr05 per misurare la distanza di un oggetto puoi utilizzare una formula fisica che già conosci quella relativa alla velocità ossia:

Velocità = Spazio / Tempo

da cui puoi facimente ricavare che:

Spazio = Velocità * Tempo

La Velocità è un valore noto in quanto trattandosi di suono sai che la velocità del suono è 331,5 m/s (metri al secondo) ad una temperatura di 0° e puoi calcolarla alla temperatura ambiente come:

331,5 m/s + 0,62 * T

in cui T è la temperatura misurata in °C per cui a 20°C la velocità del suono è:

331,5 + 0,62 * 20 = 331,5 + 12,4 = 343,9 m/s

che puoi arrotondare a 343 m/s che puoi approssimare a 0,0343 cm/microsecondi, tornando alla misura della distanza che puoi eseguire con il sensore ad ultrasuoni srf05 puoi sostituire questo valore alla formula della velocità:

Spazio = 0,0343 * Tempo

Osservando il disegno ti sarai accorto che il suono viaggia sia in direzione dell’ostacolo sia come eco nel ritorno per cui devi dimezzare il valore calcolato con la formula precedente:

Spazio = (0,0343 * Tempo) / 2 = 0,01715 * Tempo

hai semplicemente diviso il primo valore della formula per 2 ossia hai dimezzato il valore, per semplificare ancora la formula puoi considerarla come scritta in questa notazione:

Spazio = 1/Tempo * 1/0,01715 = 1/Tempo * 58,31 = Tempo / 58,31

Per calcolare lo spazio percorso dal suono e quindi ricavare la distanza dell’oggetto rilevato puoi quindi inviare un segnale a ultrasuoni e attendere che il sensore ad ultrasuoni srf05 riceva l’eco della trasmissione, il tempo intercorso puoi sostituirlo nella formula per calcolare lo spazio e quindi la distanza.

Cosa uso per calcolare la distanza con srf05

Il comando che puoi utilizzare per misurare il tempo inytercorso tra l’invio del suono e la ricezione del suo eco è pulseIn( pin,STATO ) di cui ho già trattato nell’articolo dedicato a Leo-Wi Rover5 in grado di misurare il tempo trascorso tra un impulso ed il successivo presente sul pin.

Il sensore ad ultrasuoni srf05 ha una propria elettronica che genera un treno di impulsi proporzionali al tempo trascorso tra l’invio del suono e la ricezione dell’eco.

Inviando quindi un suono e misurando il treno di impulsi generato dal sensore ad ultrasuoni srf05 puoi conoscere la distanza dell’oggetto applicando la formula già vista.

Collegare il sensore ad ultrasuoni srf05 ad Arduino

le connessioni e parte delle informazioni che hai letto le ho apprese da sito ufficiale arduino su cui trovi il seguente schema per i collegamenti:

srf05

Rispetto ai pin che hai visto nella prima figura devi collegare il modo a massa (GND) il positivo ed il negativo rispettivamente ai +5v e Gnd e il pin Trigger devi collegarlo al pin 8 di arduino od a qualsiasi altro pin ricordandoti di modificarlo anche nello sketch di esempio riportato di seguito.

Lo sketch

lo sketch rappresnta un semplice esempio:

int durata;            // durata dell'impulso
int distanza;          // distanza dell'oggetto
int pin_segnale = 8;   // pin Arduino a cui è collegato l'SRF05
int boud_rate = 9600;

void setup()
{
  Serial.begin(boud_rate);
}

void loop()
{
  pinMode(pin_segnale, OUTPUT);
  digitalWrite(pin_segnale, LOW);
  delayMicroseconds(2);
  digitalWrite(pin_segnale, HIGH);
  delayMicroseconds(10);
  digitalWrite(pin_segnale, LOW);
  pinMode(pin_segnale, INPUT);
  durata = pulseIn(pin_segnale, HIGH);
  distanza = durata/58;
  Serial.println(distanza);
  delay(100);
}

in pratica questo sketch genera sul pin trigger un segnale HIGH per la durata di 10 millisecondi, necessario al sensore per generare il suono da trasmettere ( Tx ) e di conseguenza attendere sul pin 8 il treno di impulsi generato in funzione del tempo trascorso tra invio e ricezione dell’eco.

linea 16: poni il pin 8 ad HIGH;

linea 17: attendi i 10 millisecondi necessari ad inizializzare il sensore ad ultrasuoni srf05;

linea 18: riporta il pin a LOW per riportare il sensore in modalità di ricezione dell’eco;

linea 19: cambia la modalità da OUTPUT ad INPUT per poter ricevere l’input generato dal sensore;

linea 20: usa il comando pulseIn( pin, STATO ) per rilevare la frequenza del treno d’onda generata dal sensore ad ultrasuoni srf05;

linea 21: calcola la distanza con la formula Spazio = Tempo/58 in cui Tempo è il valore ritornato dal comando pulseIn() alla linea 20;

Ora tutto è più chiaro ma se ti chiedi cosa te ne fai di un sensore ad ultrasuoni srf05 pensa al tuo prossimi robot, potresti misurare la distanza dai muri con questo sensore o altre applicazioni tipo rilevare una persona che entra nel tuo appartamento o attivare una serie di luci e suoni quando qualcuno passa davanti alla tua vetrina o al tuo plastico.

Inoltre proprio in questi giorni ho scoperto che l’AR Drone della Parrot utilizza un sensore simile a questo per stabilire la distanza da terra durante il volo:

parrot ar drone

Buon divertimento !!!

Prima di inserire un commento, per favore, leggi il regolamento

Permanent link to this article: https://www.mauroalfieri.it/elettronica/sensore-ad-ultrasuoni-srf05.html

Lascia un commento

Your email address will not be published.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.