Benötigte Komponenten
- Arduino UNO R3 kompatibles Board
- Soundmodul
- 4 Buchse-Stecker Kabel
Beschreibung
In dieser Anleitung zeigen wir Ihnen, wie Sie mit dem Soundmodul Töne erkennen können. Das Modul reagiert super auf Händeklatschen, Schnipsen, Klopfen oder andere akustische Signale. Es besteht aus einer Schaltung mit einem Mikrofon, dessen Empfindlichkeit über das Potentiometer eingestellt werden kann. Einfach erklärt ist ein Mikrofon ein Schallwandler, der akustische Signale in elektrische Signale umwandelt. Mikrofone funktionieren im genauen Gegensatz zu Lautsprechern, die aus elektrischen Signalen Töne erzeugen.
Funktionsweise
Mikrofone gibt es mit verschiedenen Formen, Größen und Technologien. Auf unserem Modul ist ein Kondensator-Mikrofon verbaut, mit dem wir uns etwas genauer beschäftigen. Kondensatormikrofone werden oft in Mobiltelefonen, Laptops ect. Verbaut. Sie arbeiten wie ein Plattenkondensator, der seine Kapazität ändern kann. Im Inneren ist eine hauchdünne, elektrisch leitende Membran dicht an einer elektrisch geladenen Metallplatte angebracht.
Wenn Schall auf die Membran trifft, fängt sie an zu schwingen, wodurch sich die Kapazität des Kondensators verändert. Diese Veränderung der Kapazität resultiert in einer variablen Spannung.
Der Pin DO ist ein Digitaler Ausgang, der „High“ ausgibt, wenn der Schwellenwert überschritten wird. Den Schwellenwert können Sie mit dem Potentiometer einstellen. Mit diesem Anschluss können Sie nur erkennen, ob eine bestimmte Lautstärke überschritten wird.
Während der digitale Ausgang nur 1 oder 0 ausgibt, können Sie mit dem analogen Ausgang AO nicht nur Geräusche erkennen, sondern auch die Lautstärke als analoges Signal verarbeiten.
Schaltplan
Anschlussplan
Soundmodul | Arduino |
- | GND |
+ | 5V |
AO (analoger Ausgang) | A0 |
DO (digitaler Ausgang) | 3 |
Code für Arduino
Analoges Signal
Mit dem Code für den analogen Ausgang können Sie die Lautstärke direkt im seriellen Monitor der Arduino IDE auslesen.
int sensorPin = A0; // Pin vom Soundmodul
int ledPin = 13; // Pin der LED, 13 ist die integrierte LED des Arduino UNO
int sensorValue = 0; // Variable um den Messwert zwischenzuspeichern
void setup()
{
pinMode(ledPin,OUTPUT);
Serial.begin(9600);
}
void loop(){
sensorValue = analogRead(sensorPin);
digitalWrite(ledPin, HIGH);
delay(sensorValue);
digitalWrite(ledPin, LOW);
delay(sensorValue);
Serial.println(sensorValue, DEC);
}
Digitales Signal
Mit dem digitalen Ausgang können Sie erkennen, ob eine gewisse Lautstärke überschritten wird. Den Schwellenwert können Sie am Potentiometer vom Modul einstellen. Wenn ein Geräusch den Schwellenwert überschreitet, liegt am Pin 3 vom Arduino ein „High“-Signal an und die LED „L“ auf dem Arduino leuchtet auf.
int ledPin=13;// Pin der LED, 13 ist die integrierte ledPin des Arduino UNO
int sensorPin=3; //define switch port
;int val;//define digital variable val
void setup()
{
pinMode(ledPin,OUTPUT);
pinMode(sensorPin,INPUT);
}
void loop()
{ val=digitalRead(sensorPin);
if(val==HIGH)// Wenn an Pin 3 ein Signal anliegt, soll die LED aufleuchten
{
digitalWrite(ledPin,HIGH);
}
else
{
digitalWrite(ledPin,LOW); // ansonsten soll die LED aus sein
}
}