Buongiorno,
Uso un Arduino UNO e sto usando il sensore HC-SR04 per creare un sensore di parcheggio inverso; mi spiego meglio: il mio sensore di parcheggio verrà attaccato al muro del mio garage per segnalarmi tramite led luminosi se sto posizionando la mia auto nella miglior posizione possibile, ovvero da permettermi di uscire comodamente lato autista, senza picchiare la portiera quando la apro. Detto ciò vorrei sapere se esiste un modo per spegnere il sensore, cioè spegnendo sia il Trigger che l'Echo. Ho provato a mettere a LOW entrambi, ma continua a leggere ed eseguire il codice.
Si può fare?
Di seguito vi posto il codice che ho scritto.
int triggerPort = 7;
int echoPort = 8;
int red = 9;
int blue = 10;
int green = 11;
void colore (unsigned char rosso, unsigned char verde, unsigned char blu){//output del colore sul led RGB
analogWrite(red, rosso);
analogWrite(blue, blu);
analogWrite(green, verde);
}
void setup() {
pinMode( triggerPort, OUTPUT );
pinMode( echoPort, INPUT );
pinMode( red, OUTPUT );
pinMode( blue, OUTPUT );
pinMode( green, OUTPUT );
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: " );
//
if ( duration > 38000 ) {
// Serial.println( "fuori portata");
}
else {
Serial.print( r ); Serial.println( "cm" );
if(r <= 5){
colore(255, 0, 0); //rosso
}
else{
if(r <= 10 ){
colore(0, 0, 255); //blu
}else{
if (r < 15) {
colore(0, 255, 0); //verde
}else{
colore(0,0,0); // spento
}
}
}// fine else
}
delay(10);
}//END
Grazie in anticipo.