Arduino - Schallsensor

Der Schalldetektor kann die Anwesenheit von Schall in der Umgebung erkennen. Er kann verwendet werden, um schallreaktive Projekte zu erstellen, z. B. auf Klatschen reagierende Lichter oder einen schallaktivierten Tierfutterautomaten.

In diesem Tutorial werden wir lernen, wie man Arduino und einen Schallsensor verwendet, um den Schall zu erkennen. Im Detail werden wir lernen:

Arduino-Schallsensor

Anschließend können Sie den Code so anpassen, dass er eine LED oder ein Licht (über ein Relais) aktiviert, wenn er Schall erkennt, oder sogar einen Servomotor drehen lässt.

Erforderliche Hardware

1×Arduino Uno R3
1×USB 2.0 Kabel Typ A/B (für USB-A PC)
1×USB 2.0 Kabel Typ C/B (für USB-C PC)
1×Digitaler Schallsensor
1×Analoger Schallsensor
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V3 Starter-Kit (Arduino enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über den Schallsensor

Der Schallsensor kann verwendet werden, um das Vorhandensein von Geräuschen in der Umgebung zu erkennen. Es gibt zwei Arten von Schallsensor-Modulen:

  • Digitales Schallsensor-Modul: gibt den digitalen Signalwert aus (AN/AUS)
  • Analoges Schallsensor-Modul: gibt sowohl analoge als auch digitale Signalwerte aus

Die Empfindlichkeit des digitalen Ausgangs kann durch die Verwendung eines eingebauten Potentiometers angepasst werden.

Pinbelegung des digitalen Schallsensors

Der digitale Schallsensor umfasst drei Anschlüsse:

  • VCC-Pin: muss mit VCC verbunden werden (3,3 V bis 5 V)
  • GND-Pin: muss mit GND verbunden werden (0 V)
  • OUT-Pin: ist ein Ausgangspin: HIGH, wenn kein Geräusch vorhanden ist, und LOW, wenn ein Geräusch erkannt wird. Dieser Pin muss mit dem Eingangs-Pin des Arduino verbunden werden.
Schallsensor-Pinbelegung
image source: diyables.io

Der Schallsensor verfügt außerdem über ein eingebautes Potentiometer, mit dem die Empfindlichkeit des Sensors eingestellt werden kann. Außerdem verfügt er über zwei LED-Anzeigen.

  • Eine LED-Anzeige für die Stromversorgung
  • Eine LED-Anzeige für den Tonstatus: Leuchtet, wenn Ton vorhanden ist, aus, wenn kein Ton vorhanden ist

Die Pinbelegung des analogen Schallsensors

Der analoge Schallsensor verfügt über vier Pins:

  • + Pin: muss mit 5V verbunden werden
  • G Pin: muss mit GND (0V) verbunden werden
  • DO Pin: ist ein digitaler Ausgangspin: HIGH, wenn ruhig, und LOW, wenn Geräusch erkannt Wird. Dieser Pin muss mit dem digitalen Eingangspin des Arduino verbunden werden.
  • AO Pin: ist ein analoger Ausgangspin: gibt den analogen Wert des gemessenen Schalldruckpegels aus. Dieser Pin muss mit dem analogen Eingangspin des Arduino verbunden werden.
Analoge Schallsensor-Pinbelegung
image source: diyables.io

Der analoge Tonsensor verfügt über ein praktisches eingebautes Potentiometer, mit dem Sie die Empfindlichkeit des digitalen Ausgangs ganz einfach einstellen können. Zusätzlich verfügt er über zwei LED-Indikatoren:

  • Eine LED-Anzeige zeigt den Leistungsstatus an.
  • Eine weitere LED-Anzeige zeigt den Tonstatus an und leuchtet, wenn Ton erkannt wird, und schaltet sich aus, wenn es ruhig ist.

So funktioniert es

Das Modul verfügt über ein integriertes Potentiometer zur Einstellung der Geräuschempfindlichkeit.

  • Wenn der Schall erkannt wird, ist der Ausgangspin des Sensors LOW
  • Wenn der Schall nicht erkannt wird, ist der Ausgangspin des Sensors HIGH

Verdrahtungsdiagramm

Arduino-Schallsensor-Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Die eigentliche Verdrahtung:

Arduino-Schallsensor-Verbindung

Wie man für einen Schallsensor programmiert

  • Initialisiert den Arduino-Pin in den digitalen Eingangsmodus, indem die pinMode() Funktion verwendet wird. Zum Beispiel Pin 5
pinMode(5, INPUT);
  • Liest den Zustand des Arduino-Pins, indem die digitalRead()-Funktion verwendet wird.
int soundState = digitalRead(5);

Arduino-Code - Die Erkennung des Tons

/* * Dieser Arduino Code wurde von newbiely.de entwickelt * Dieser Arduino Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino/arduino-sound-sensor */ // Arduino's pin connected to OUT pin of the sound sensor #define SENSOR_PIN 5 int lastState = HIGH; // the previous state from the input pin int currentState; // the current reading from the input pin void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the Arduino's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: currentState = digitalRead(SENSOR_PIN); if (lastState == HIGH && currentState == LOW) Serial.println("The sound has been detected"); else if (lastState == LOW && currentState == HIGH) Serial.println("The sound has disappeared"); // save the the last state lastState = currentState; }

Schnelle Schritte

  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
  • Klicken Sie auf die Schaltfläche Hochladen in der Arduino IDE, um den Code auf den Arduino hochzuladen
  • Klatschen Sie mit der Hand vor dem Schallsensor
  • Sehen Sie das Ergebnis im Serial Monitor
COM6
Send
The sound has been detected The sound has disappeared The sound has been detected The sound has disappeared
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Bitte beachten Sie, dass Sie das Potentiometer einstellen können, um die Empfindlichkeit des Sensors gegenüber Geräuschen fein abzustimmen, falls Sie feststellen, dass der LED-Status dauerhaft an ist oder selbst dann aus bleibt, wenn Geräusche vorhanden sind.

Jetzt können wir den Code so anpassen, dass eine LED oder ein Licht aktiviert wird, wenn Schall erkannt wird, oder sogar einen Servomotor rotieren lassen. Weitere Informationen und Schritt-für-Schritt-Anleitungen finden Sie in den am Ende dieses Tutorials bereitgestellten Tutorials.

Fehlerbehebung

Wenn der Schallsensor nicht ordnungsgemäß funktioniert, versuchen Sie die folgenden Schritte:

  • Vibrationen reduzieren: Der Schallsensor ist auch empfindlich gegenüber mechanischen Vibrationen und Windrauschen. Die Montage des Schallsensors auf einer festen Oberfläche kann dazu beitragen, diese Vibrationen zu minimieren.
  • Den Erfassungsbereich beachten: Beachten Sie, dass dieser Schallsensor eine kurze Erfassungsreichweite hat, etwa 10 Zoll. Um genaue Messwerte zu erhalten, müssen Sie ein Geräusch näher am Schallsensor erzeugen.
  • Stromversorgung überprüfen: Stellen Sie sicher, dass die Stromversorgung sauber ist, da der Schallsensor aufgrund seiner analogen Schaltung empfindlich auf Störgeräusche der Stromversorgung reagiert.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!