Schallsensor am Arduino – Geräusch als Auslöser

In diesem Beispiel soll ein Mikrofon (Schallsensor) verwendet werden, um bei ansteigender Lautstärke etwas auszulösen. In diesem Aufbau lediglich eine LED auf dem Board und einer auf dem Steckbrett.

Es gibt unterschiedliche Module um Schallsignale zu erfassen.
Hier zum Beispiel der KY-037 und der KY-038.

KY-037 KY-038

Beide sind Module zur Erfassung von Ton- oder Schallsignalen, jedoch unterscheiden sie sich in ihren spezifischen Eigenschaften und Anwendungen. Hier sind die Hauptunterschiede zwischen diesen beiden Modulen:

  • Mikrofon-Typ:
    • KY-037: Das KY-037-Modul verwendet ein analoges Mikrofon, um Schallsignale zu erfassen. Es liefert ein analoges Audiosignal als Ausgabe.
    • KY-038: Das KY-038-Modul verwendet ein digitales Mikrofon oder einen Schallsensor, um Schallsignale zu erfassen.
  • Ausgangssignal:
    • KY-037: Liefert ein analoges Ausgangssignal, das die Lautstärke des erfassten Tons in einer kontinuierlichen Spannung repräsentiert.
    • KY-038: Liefert ein digitales Ausgangssignal, das in der Regel „HIGH“ ist, wenn ein Ton erkannt wird, und „LOW“, wenn kein Ton erkannt wird.
  • Anwendungen:
    • KY-037: Aufgrund seines analogen Ausgangs eignet sich dieses Modul gut für Anwendungen, bei denen Sie die Lautstärke oder Frequenz des Tons analysieren oder verarbeiten möchten. Es kann in Audioverarbeitungsprojekten verwendet werden.
    • KY-038: Aufgrund seines digitalen Ausgangs eignet sich dieses Modul gut für einfache Schall- oder Geräuscherkennungsprojekte, wie das Auslösen einer Aktion, wenn ein bestimmter Schwellenwert an Lautstärke überschritten wird.
  • Empfindlichkeit:
    • Die Empfindlichkeit kann je nach Modell und Hersteller variieren. Bei den mir vorliegenden Modul ist diese an einem blauen digitalen Potentiometer einstellbar.
  • Stromversorgung:
    • Beide Module benötigen eine Spannungsversorgung, normalerweise 3,3 V oder 5 V. Wie immer dem Datenblatt des Herstellers entnehmen

Verdrahtung:

Hardware:
Microphone Sound Sensor Module

Quellcode:

int ledPin=13;
int micPin=4;
boolean wert =0;

void setup(){
  pinMode(ledPin, OUTPUT);
  pinMode(micPin, INPUT);
}
  
void loop (){
  wert =digitalRead(micPin);
  if (wert==HIGH) {
    digitalWrite(ledPin, LOW);
  }
  else {
    digitalWrite(ledPin, HIGH);
    delay (1000); //Dauer des Auslösers
  }
}

Nach dem Hochladen wird bei ansteigender Lautstärke, wie klatschen, rufen, singen 🙂 usw. die LED eingeschaltet. Zum Testen ist das „delay“ derzeit auf 1 Sekunde Pause gestellt damit die LED einen Augenblick an bleibt.

, , ,