A distanza di molti anni ho ripreso il mio arduino UNO e il kit con i vari sensori...
Vorrei rilevare alcuni piccoli urti con un buzzer (PKM22EPP-40) ma ho riscontrato una serie di problemi:
#define piezo A0
void setup(){
Serial.begin(9600);
pinMode(piezo, INPUT);
}
void loop(){
int vibrazioni = analogRead(piezo);
if(vibrazioni > 200){
Serial.println(vibrazioni);
vibrazioni= 1000;
}
delay(500);
}
Il seriale però mi da valori che variano in continuazione (seppur di poco) in maniera descrescente o crescente a seconda del caso.
In questo momento è partito da 900 e sta lentamente calando.
Io mi aspettavo che al "knock" fosse stampato un valore "alto" e a riposo un valore prossimo allo zero.
Non si può fare così ?
Per quanto riguarda lo schema ho collegato un cavetto direttamente al GND e l'altro polo del buzzer a una resistenza da un Megaohm e quest'ultimo cavetto al pin analogico A0.