Arduino Nano ESP32 - Schallsensor

Der Schallsensor ist in der Lage, Geräusche in seiner Umgebung zu erkennen. Er kann verwendet werden, um trendige geräuschreaktive Projekte zu erstellen, wie Lichter, die bei einem Klatschen aktiviert werden, oder einen Futterautomaten für Haustiere, der auf Geräusche reagiert.

In diesem Tutorial lernen wir, wie man den Arduino Nano ESP32 und einen Schallsensor verwendet, um Geräusche zu erkennen. Wir werden uns mit Folgendem befassen:

Arduino Nano ESP32 Schallsensor

Anschließend haben Sie die Flexibilität, den Code so anzupassen, dass bei Geräuscherkennung eine LED oder eine Lichtquelle (mithilfe eines Relais) ausgelöst wird oder sogar ein Servomotor zum Drehen aktiviert werden kann.

Erforderliche Hardware

1×Arduino Nano ESP32
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Digitaler Schallsensor
1×Analoger Schallsensor
1×Breadboard
1×Verbindungskabel
1×(Optional) 5V Power Adapter for ESP8266
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano ESP32

Oder Sie können die folgenden Kits kaufen:

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 Schallsensor

Der Schallsensor kann verwendet werden, um Schall in der Umgebung zu erkennen. Es gibt zwei Arten von Schallsensor-Modulen:

  • Digitaler Schallsensor-Modul: gibt den digitalen Signalwert aus (AN/AUS)
  • Analoger Schallsensor-Modul: gibt sowohl den analogen als auch den digitalen Signalwert aus

Die Empfindlichkeit des digitalen Ausgangssignals kann durch die Verwendung eines eingebauten Potentiometers eingestellt werden.

Die Pinbelegung des digitalen Schallsensors

Der Schallsensor hat drei Pins:

  • 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: HOCH, wenn kein Schall vorhanden ist, und NIEDRIG, wenn Schall erkannt wird. Dieser Pin muss mit dem Eingangspin des ESP32 verbunden werden.
Schallsensor-Pinbelegung
image source: diyables.io

Der Schallsensor verfügt über ein praktisches integriertes Potentiometer, mit dem Sie die Empfindlichkeit ganz einfach einstellen können. Außerdem verfügt er über zwei LED-Anzeigen:

  • Eine LED-Anzeige zeigt den Stromstatus.
  • Eine weitere LED-Anzeige zeigt den Tonstatus an und geht an, wenn Ton erkannt wird, und geht aus, wenn es ruhig ist.

Die Pinbelegung des analogen Sound-Sensors

Der analoge Schallsensor enthält vier Anschlüsse:

  • + Pin: muss an 5 V angeschlossen werden
  • G-Pin: muss an GND (0 V) angeschlossen werden
  • DO-Pin: ist ein digitaler Ausgangspin: HIGH, wenn kein Ton erkannt wird, und LOW, wenn Ton erkannt wird. Dieser Pin muss mit dem digitalen Eingangspin des Arduino Nano ESP32 verbunden werden.
  • AO-Pin: ist ein analoger Ausgangspin: Gibt den analogen Wert des gemessenen Schallpegels aus. Dieser Pin muss mit dem analogen Eingangspin des Arduino Nano ESP32 verbunden werden.
Analoger Geräuschsensor Pinbelegung
image source: diyables.io

Wie es funktioniert

Das Modul verfügt über ein praktisches integriertes Potentiometer, mit dem sich die Empfindlichkeit gegenüber Geräuschen einstellen lässt. So verhält sich der Ausgangspin des Sensors:

  • Wenn Ton erkannt wird, wird der Ausgangspin auf LOW gesetzt.
  • Wenn kein Ton erkannt wird, wird der Ausgangspin auf HIGH gesetzt.

Verdrahtungsdiagramm

Arduino Nano ESP32 Schallsensor-Verdrahtungsdiagramm

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

So programmieren Sie einen Schallsensor

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

Arduino Nano ESP32 Code - Erkennung des Sounds

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano ESP32 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-nano-esp32/arduino-nano-esp32-sound-sensor */ #define SENSOR_PIN D3 // The Arduino Nano ESP32 pin D3 connected to the OUT pin of the sound sensor int prev_sound_state = HIGH; // The previous state from the input pin int sound_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP32's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the ESP32's input pin sound_state = digitalRead(SENSOR_PIN); if (prev_sound_state == HIGH && sound_state == LOW) Serial.println("The sound has been detected"); else if (prev_sound_state == LOW && sound_state == HIGH) Serial.println("The sound has disappeared"); // save the the last state prev_sound_state = sound_state; }

Schnelle Schritte

  • Wenn Sie Arduino Nano ESP32 zum ersten Mal verwenden, sehen Sie sich die Anleitung zur Einrichtung der Umgebung für Arduino Nano ESP32 in der Arduino IDE an.
  • Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
  • Klicken Sie auf die Schaltfläche Hochladen in der Arduino IDE, um den Code auf den Arduino Nano ESP32 zu übertragen.
  • Klatschen Sie mit der Hand vor dem Schallsensor.
  • Überprüfen 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 möglicherweise das Potentiometer einstellen müssen, um die Schallempfindlichkeit des Sensors fein abzustimmen, falls Ihnen auffällt, dass der LED-Status ständig an oder aus bleibt, selbst wenn Ton vorhanden ist.

Nun haben wir die Freiheit, den Code zu personalisieren und ihn so zu gestalten, dass eine LED oder eine Leuchte ausgelöst wird, wenn Schall erkannt wird. Wir können sogar einen Servo-Motor entsprechend dem eingehenden Schallsignal rotieren lassen. Für detailliertere Hinweise und eine Schritt-für-Schritt-Anleitung kannst du dich auf die am Ende dieses Tutorials bereitgestellten Anleitungen beziehen.

Fehlerbehebung

Wenn Sie Probleme mit der Funktion des Schallsensors feststellen, ziehen Sie bitte die folgenden Schritte zur Fehlerbehebung in Betracht:

  • Vibrationen reduzieren: Mechanische Vibrationen und Windgeräusche können die Leistung des Schallsensors beeinträchtigen. Um diese Störungen zu minimieren, versuchen Sie, den Schallsensor auf einer stabilen Oberfläche zu montieren.
  • Berücksichtigen Sie den Erfassungsbereich: Beachten Sie, dass dieser spezielle Schallsensor einen begrenzten Erfassungsbereich von etwa 10 Zoll hat. Für genaue Messwerte versuchen Sie, Geräusche näher am Sensor zu erzeugen.
  • Stromversorgung überprüfen: Stellen Sie sicher, dass die Stromversorgung sauber und frei von Störungen ist, da der Schallsensor aufgrund seiner analogen Bauweise empfindlich gegenüber Störungen der Stromversorgung ist.

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.

Funktionsreferenzen

Verwandte Tutorials

※ 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!