Ciao a tutti,
praticamente sto provando il sensore ad ultrasuoni e sto cercando di fare in modo che da 3 cm a 45 cm un led si illumini in proporzione alla distanza (vicino, luminoso; distante, meno luminoso).
Il problema sta nel fatto che è come se leggesse distanze a caso. Non si stabilizza mai ed il led non ha mai luminosità costante, indicandomi come se le distanze cambiassero istantaneamente.
Il sensore è a sbalzo sul tavolo, al limite della breadboard, quindi ho limitato le interferenze.
Cosa può essere? Per completezza vi posto il codice. Grazie infinite.
int trigg = 9;
int eco = 10;
int led = 11;
void setup() {
pinMode (trigg, OUTPUT);
pinMode (eco, INPUT);
pinMode (led, OUTPUT);
}
void loop() {
digitalWrite (trigg,LOW);
delayMicroseconds (10);
digitalWrite (trigg, HIGH);
delayMicroseconds (5);
digitalWrite (trigg, LOW);
long tempo = pulseIn (eco,HIGH);
if (tempo > 2647 || tempo < 176) { digitalWrite (led, LOW);}
if (tempo <= 2647 && tempo >= 176){
long r = (0,034*tempo/2);
int r2 = 45-r;
int ledval = map(r2,0,30,0,255);
analogWrite (led, ledval);
delay(150);
}
}