Rilevare urti con buzzer piezoelettrico

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.

Ciao, so che sei un vecchio utente del forum :slight_smile: , ma ... non riesco a trovare il tuo post di presentazione, per cui, cortesemente, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiederei di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO che, in tutti questi anni, è piuttosto cambiato ... Grazie. :slight_smile:

Guglielmo

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.