Arduino Lektion 19 – Teil 1: Hochempfindlicher Geräuschdetektor „Klatschdetektor“

Ein hochempfindlicher Geräuschdetektor reagiert bei Veränderung der eingestellten Sensibilität. Diesen Sensor habe ich über ebay.de bezogen, die Lieferzeit war ca. 14 Tage und damit deutlich schneller als sonst.

Den Sensor kann man digital sowie analog betreiben, beides hat seine Vorteile.
Beispiel für den digitalen Betrieb wäre ein Klatschsensor.
Beispiel für den analogen Betrieb wäre ein Geräuschdetektor mit einer LED Balkenanzeige.

Geräuschdetektor Modul
Geräuschdetektor Modul

Technische Daten

  • Betriebsspannung 4V bis 6V (getestet auch mit 3.3V)

Klatschsensor

Folgendes Beispiel soll verdeutlichen wie der Sensor als einfacher „Klatschsensor“ dienen kann. Dabei soll durch ein lautes Geräusch eine LED angeschaltet werden.

Einstellen der Empfindlichkeit

Die Empfindlichkeit des Sensors kann über eine Stellschraube eingestellt werden. Wenn man sich das untere Sketch nimmt und den Status des Signals über den seriellen Monitor ausgeben lässt.

int microPin = 3; // Pin für das Mikrofon - Input

void setup() {
  pinMode(microPin, INPUT);  //Den PIR Sensor als Eingang deklarieren
  Serial.begin(9600); //Serielle kommunikation mit 9600 Baud beginnen.
}
 
void loop(){
   int val = digitalRead(microPin);
   // Ausgabe des Status des Sensors auf den Seriellen Monitor.
   Serial.println(val); 
}

Dann kann man beim Einstellen der Schraube am Monitor dieses verfolgen.

Schaltplan

Der Sensor verfügt über folgende PINs, welche an den Arduino Nano wie folgt angeschlossen werden:

  • A0 – analog PIN A1
  • G – GND
  • + – 3.3V
  • D0 – digitaler PIN D3
Aufbau des Geräuschdetektors.
Aufbau des Geräuschdetektors.

Quellcode

Der Quellcode für die digitale Verwendung des Sensors wird nicht wirklich überraschen, denn es muss nur geprüft werden, ob das Signal „HIGH“ oder „LOW“ ist.

int ledPin = 7; //Pin für die LED - Output
int microPin = 3; // Pin für das Mikrofon - Input

void setup() {
  pinMode(ledPin, OUTPUT); //Die LED als Ausgang deklarieren
  pinMode(microPin, INPUT);  //Den PIR Sensor als Eingang deklarieren
  Serial.begin(9600); //Serielle kommunikation mit 9600 Baud beginnen.
}
 
void loop(){
   int val = digitalRead(microPin);
  if (val == HIGH) { 
    digitalWrite(ledPin, HIGH); 
  } 
    digitalWrite(ledPin, LOW); 
}

Video

Hochempfindlicher Geräuschdetektor „Klatschdetektor“ - KY 037
Dieses Video ansehen auf YouTube.

Download

4 Kommentare

  1. kann man damit Geräsche detektieren und
    ein Ausgangssignal generieren, z.B. um
    ein Relais anzusteuern?

    Dank für rasche Antwort!

    1. Hi,

      du kannst den analogen Wert des Sensors auslesen und bei einer Überschreitung eines Wertes X dann einen digitalen Pin auf HIGH bzw. LOW setzen.
      An diesem digitalen Pin kann zbsp. ein einfaches Relaisshield hängen.

      Gruß,

      Stefan

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.