mercoledì 27 marzo 2013

Sensore ad ultrasuoni HC SR04 su Arduino

Questo modulo ad ultrasuoni permette di calcolare la distanza di oggetti con Arduino (e di farsi anche un Theremin digitale
Il modulo ha 4 cavi
Vcc
Gnd
Trigger
Echo

Nello sketch successivo(ripreso da qui)  i pint digitali 7 ed 8 devono essere collegati al Trigger ed ad Echo
La distanza massima misurabile e' dell'ordine di 40-50 cm (dipende anche dalle dimensioni ed il materiale del bersaglio)

---------------------------------------------------------------------
//HC RS04 Sensore ultrasuoni
int triggerPort = 8;
int echoPort = 7;

void setup() {

pinMode( triggerPort, OUTPUT );
pinMode( echoPort, INPUT );
Serial.begin( 9600 );
Serial.println( "Sensore ultrasuoni: ");

}

void loop() {
//porta bassa l'uscita del trigger
digitalWrite( triggerPort, LOW );

//invia un impulso di 10microsec su trigger
digitalWrite( triggerPort, HIGH );
delayMicroseconds( 10 );
digitalWrite( triggerPort, LOW );

long duration = pulseIn( echoPort, HIGH );

long r = 0.034 * duration / 2;

Serial.print( "durata: " );
Serial.print( duration );
Serial.print( " , " );
Serial.print( "distanza: " );

//dopo 38ms è fuori dalla portata del sensore
if( duration > 38000 ) Serial.println( "fuori portata");
else { Serial.print( r ); Serial.println( "cm" );}

//aspetta 1.5 secondi
delay( 1500 );
}
----------------------------------------------
Alcuni utenti usano una libreria alternativa (Arduino New Ping) che sembra garantire prestazioni migliori