Salve a tutti,
mi accade qualcosa che non so spiegare,
il codice che uso è
#define echoPin 7 // Echo Pin
#define trigPin 8 //Trigger Pin
int maximumRange = 200;
int minimumRange = 0;
long duration, distance;
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(10);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration/58.2;
if (distance >= maximumRange || distance <= minimumRange){
Serial.println("no object");
}
else {
Serial.println(distance);
}
//Delay 50ms before next reading.
delay(150);
}
posiziono il sensore HC-SR04
dinanzi ad un muro
e mi restituisce costantemente una certa distanza,
ad esempio 37 cm
a random mi da per una frazione di secondo un numero notevolmente inferiore come 5 cm
e poi ritorna a darmi 37 cm,
questa prova l'ho fatta molte volte,
non c'è tra il sensore e il muro altro che può disturbare per una frazione di secondo
la misurazione,
cosa posso fare per ovviare?
Grazie