Soundmodul mit Arduino auslesen
Beginne mit einer fesselnden Aussage, einer Frage oder einer interessanten Tatsache, um die Aufmerksamkeit des Lesers zu gewinnen. Gib einen kurzen Überblick über das Thema und erkläre, warum es wichtig oder relevant ist.
Benötigte Komponenten:
- Arduino UNO R3 kompatibles Board
- Soundmodul
- 4 Buchse-Stecker Kabel
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.
| Soundmodul | Arduino |
| - | GND |
| + | 5V |
| AO (analoger Ausgang) | A0 |
| DO (digitaler Ausgang) | 3 |
Code für Arduino - Analoges Signal
Mit dem Code für den anlogen Ausgang können Sie die Lautstärke direkt im seriellen Monitor der Arduino IDE auslesen.
Code anzeigen / einklappen
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.
Code anzeigen / einklappen
int ledPin = 13; // Pin der LED, 13 ist die integrierte LED des Arduino UNO
int sensorPin = 3; // Digitaler Sensor-Pin
int val; // Variable fuer den digitalen Zustand
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
}
}