Klopf­zei­chen pie­zo­elek­tri­schen Keramik-Sensor

int LED = 7;
int PIEZO = A0; 
int LAUTSPRECHER = 5;
int SensorWert;

void setup()
{ 
  pinMode(LED, OUTPUT);
  pinMode(LAUTSPRECHER, OUTPUT);

  // Seriellen Monitor starten 
  Serial.begin(9600);

  // auf serielle Verbindung warten
  while (!Serial) {;}
}

void loop() 
{ 
  SensorWert = analogRead(PIEZO);   
  /* 
    damit der Auslösewert angepasst werden kann 
    Sensorwert anzeigen  
    kann danach auskommentiert werden 
  */ 
  Serial.println(SensorWert);

  /*  
    Wert festlegen an dem LED/Lautsprecher aktiviert werden              
    diesen Wert zwischen 20 und 80 anpassen, 
    wenn Klopfzeichen nicht (oder zu oft) erkannt werden 
  */
  int AusloeserWert = 40; 
  
  // wenn der Wert über dem Auslösewert liegt
  // LED/Lautsprecher einschalten  
  if (SensorWert >= AusloeserWert)  
  { 
    digitalWrite(LED, HIGH);  
    tone(LAUTSPRECHER, 1000);   
  
    /*   
      der Sensorwert braucht einige Zeit, 
      um wieder unter den Auslösewert zu fallen  
      der Wert muss eventuell größer oder kleiner sein  
    */ 
    delay(50); 
  } 
  else  
  { 
    digitalWrite(LED, LOW);  
    noTone(LAUTSPRECHER);
  }
}

Letzte Aktualisierung: 25. Jul 2023 @ 18:56