Example code 13

Dependencies:   HCSR04 mbed

Fork of STMNucleoF401RE_ExampleCode_13_Ultasound by 20161020-Corso Rapid Prototyping with STM32Nucleo

Sensore di distanza ad ultrasuoni

Il sensore ad ultrasuoni, emette un treno di impulsi, tipicamente ad una frequenza di 40Khz. Nota la velocità del suono nell'aria e' possibile calcolare la distanza dell'oggetto dal sensore, misurando il tempo necessario per ricevere l'eco del suono emesso.

Sensore HC-SR04

Si tratta di un sensore economico e con un buon raggio d'azione.

/media/uploads/perlatecnica/hc-sr04.jpg

Questo sensore presenta quattro pin. Due pin sono dedicati all'alimentazione a 5V, gli altri due sono dedicati al trigger per l'invio del treno di impulsi ed per la ricezione del tempo trascorso fino alla ricezione dell'eco. Il segnale di trigger e' un impulso della durata di almeno 10 us. Il segnale sul pin di echo e' un impulso della durata pari al tempo impiegato dalle onde sonore per tornare riflesse. Se il tempo e' superiore a 38ms si ritiene che non ci sia alcun ostacolo.

/media/uploads/perlatecnica/ultrasounddiagram.png

Quando il pin di trigger del sensore viene tenuto alto per una durata di 10us, il sensore invia un treno di 8 impulsi di ultrasuoni a 40Khz. Il sensore poi tiene alta l'uscita echo per un tempo che e' proporzionale alla distanza dell'oggetto dal sensore.

Calcolo della distanza

La velocità del suono nell'aria, alla temperatura di 20° è di circa 343,4 m/s, che per semplicità approssimiamo a 340 m/s. La legge in funzione della temperatura t: V = 331.4 + 0.62*t, che può essere utilizzata nel caso serva maggiore precisione.

Il sensore restituisce il tempo, espresso in microsecondi, impiegato dalle onde sonore per essere emesse e tornare riflesse.

La velocità del suono espressa in cm/us e' pari a:

340m/s = 34000 cm/s

ed essendo

1s = 10^-6us

la velocità del suono espressa in cm/us sara':

34000 [cm/s] = 34000/10^-6 [cm/us] = 3,4 * 10^-2 [cm/us]

Poiché il tempo fornito dal sensore comprende sia il tempo che impiega il treno di impulsi a raggiungere l'ostacolo che a tornare riflesso da questo, dovremo dividere per 2 il tempo misurato.

Dunque lo spazio percorso in un verso, ossia la distanza sara'

S = v * t

S = 3.4 * 10^-2 * t/2 = 1,7 * 10^-2 * t cm

Il circuito

/media/uploads/perlatecnica/hcr04circuit.png

Changes

RevisionDateWhoCommit message
0:a4f31fdfb261 2015-11-02 perlatecnica v1.0 default tip