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.
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
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.
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 Programm nimmt und den Status des Signals über den seriellen Monitor ausgeben lässt, kannst du mit diesem deinen Sensor recht einfach justieren.
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
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); }
kann man damit Geräsche detektieren und
ein Ausgangssignal generieren, z.B. um
ein Relais anzusteuern?
Dank für rasche Antwort!
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