ESP32 - Geräuschsensor

Diese Anleitung zeigt Ihnen, wie Sie einen Geräuschsensor und den ESP32 mit MicroPython verwenden, um Geräusche zu erkennen. Im Einzelnen lernen wir:

ESP32 MicroPython Geräuschsensor

Später können Sie den Code so ändern, dass eine LED oder eine Lampe (über ein Relais) eingeschaltet wird, wenn ein Geräusch erkannt wird, oder dass sich ein Servomotor dreht.

Überblick über Sound Sensor

Ein Geräuschsensor kann verwendet werden, um Geräusche in der Nähe zu erkennen. Es gibt zwei Arten von Geräuschsensormodulen:

  • Digitales Geräuschsensormodul: Liefert ein einfaches EIN- oder AUS-Signal.
  • Analoges Geräuschsensormodul: Bietet kontinuierliche Messwerte zusätzlich zu EIN/AUS-Signalen.

Die Empfindlichkeit des digitalen Ausgangs kann mit einem eingebauten Potentiometer eingestellt werden.

Pinbelegung des digitalen Geräuschsensors

Der digitale Geräuschsensor hat drei Pins:

  • VCC-Pin: Verbinden Sie ihn mit VCC, zwischen 3,3V und 5V.
  • GND-Pin: Verbinden Sie ihn mit GND, also 0V.
  • OUT-Pin: Dieser Ausgangspin bleibt HIGH, wenn kein Geräusch vorhanden ist, und geht auf LOW, wenn ein Geräusch erkannt wird. Verbinden Sie ihn mit dem Eingangspin Ihres ESP32.
Geräuschsensor Pinbelegung
image source: diyables.io

Der Geräuschsensor hat einen Regler zur Einstellung der Empfindlichkeit und zwei Leuchten, die seinen Status anzeigen.

  • Eine LED zeigt an, dass die Stromversorgung eingeschaltet ist
  • Eine LED für Geräusche: Sie leuchtet bei Geräuschen auf und erlischt, wenn es still ist

Pinbelegung des analogen Geräuschsensors

Der analoge Geräuschsensor hat vier Anschlüsse.

  • + Pin: Mit 5V oder 3,3V verbinden.
  • G-Pin: Mit GND (0V) verbinden.
  • DO-Pin: Dies ist ein digitaler Ausgangspin, der HIGH bleibt, wenn kein Geräusch vorhanden ist, und auf LOW geht, wenn ein Geräusch erkannt wird. Verbinden Sie ihn mit einem digitalen Eingangspin des ESP32.
  • AO-Pin: Dieser analoge Ausgangspin liefert den Geräuschpegel als Analogwert. Verbinden Sie ihn mit einem analogen Eingangspin des ESP32.
Analoger Geräuschsensor Pinbelegung
image source: diyables.io

Der analoge Geräuschsensor hat ein eingebautes Potentiometer zur einfachen Einstellung der Empfindlichkeit. Außerdem verfügt er über zwei LED-Anzeigen.

  • Eine LED zeigt an, dass die Stromversorgung eingeschaltet ist.
  • Eine weitere LED signalisiert das Vorhandensein von Geräuschen. Sie leuchtet bei Lärm und erlischt, wenn es still ist.

Funktionsweise

Das Modul enthält ein Potentiometer, mit dem Sie seine Empfindlichkeit gegenüber Geräuschen einstellen können. Der Ausgangspin geht auf LOW, wenn der Sensor ein Geräusch erkennt, und bleibt HIGH, wenn kein Geräusch erkannt wird.

Verdrahtungsdiagramm

  • So verbinden Sie ESP32 und Geräuschsensor mithilfe eines Steckbretts
ESP32 MicroPython Geräuschsensor Schaltplan

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

So verbinden Sie ESP32 und Geräuschsensor

So programmieren Sie den Geräuschsensor

  • Setzt den ESP32-Pin 8 als digitalen Eingang.
sensor_pin = Pin(SENSOR_PIN, Pin.IN)
  • Prüft den Zustand eines Pins am ESP32.
sound_state = sensor_pin.value()

ESP32 MicroPython Code - Geräusche erkennen

/* * Dieser ESP32 MicroPython Code wurde von newbiely.de entwickelt * Dieser ESP32 MicroPython 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/esp32-micropython/esp32-micropython-sound-sensor */ from machine import Pin import time SENSOR_PIN = 18 # The ESP32 pin GPIO18 connected to OUT pin of the sound sensor prev_sound_state = 1 # the previous state from the input pin sound_state = 1 # the current reading from the input pin # Initialize the sensor pin as an input sensor_pin = Pin(SENSOR_PIN, Pin.IN) # Main loop while True: # Read the state of the input pin sound_state = sensor_pin.value() if prev_sound_state == 1 and sound_state == 0: print("The sound has been detected") elif prev_sound_state == 0 and sound_state == 1: print("The sound has disappeared") # Save the last state prev_sound_state = sound_state time.sleep(0.1) # Delay for 100 milliseconds to mimic Arduino's loop delay

Schnelle Schritte

Hier finden Sie eine Anleitung, wie Sie Ihren MicroPython-Code auf dem ESP32 mit der Thonny IDE einrichten und ausführen:

  • Stellen Sie sicher, dass Thonny IDE auf Ihrem Computer installiert ist.
  • Vergewissern Sie sich, dass die MicroPython-Firmware auf Ihrem ESP32-Board geladen ist.
  • Wenn Sie zum ersten Mal einen ESP32 mit MicroPython verwenden, lesen Sie die Anleitung ESP32 MicroPython Erste Schritte für eine Schritt-für-Schritt-Anleitung.
  • Verbinden Sie den Geräuschsensor gemäß dem bereitgestellten Schaltplan mit dem ESP32.
  • Verbinden Sie das ESP32-Board mit einem USB-Kabel mit Ihrem Computer.
  • Öffnen Sie Thonny IDE auf Ihrem Computer.
  • Gehen Sie in Thonny IDE zu Tools Options.
  • Wählen Sie im Tab Interpreter aus dem Dropdown-Menü MicroPython (ESP32).
  • Stellen Sie sicher, dass der richtige Port ausgewählt ist. Thonny IDE erkennt ihn normalerweise automatisch, aber möglicherweise müssen Sie ihn manuell auswählen (z. B. COM12 unter Windows oder /dev/ttyACM0 unter Linux).
  • Kopieren Sie den bereitgestellten MicroPython-Code und fügen Sie ihn in den Editor von Thonny ein.
  • Speichern Sie den Code auf Ihrem ESP32:
    • Klicken Sie auf den Save-Button oder drücken Sie Ctrl+S.
    • Wählen Sie im Speicherdialog MicroPython device.
    • Nennen Sie die Datei main.py.
  • Klicken Sie auf den grünen Run-Button (oder drücken Sie F5), um das Skript auszuführen.
  • Klatschen Sie in der Nähe des Geräuschsensors in die Hände.
  • Sehen Sie sich die Meldung in der Shell unten in Thonny an.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot The sound has been detected The sound has disappeared The sound has been detected The sound has disappeared
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Wenn die LED immer an oder immer aus ist, selbst wenn Geräusche vorhanden sind, können Sie das Potentiometer nachstellen, um die Reaktion des Sensors auf Geräusche zu verbessern.

Fehlerbehebung

Wenn der Geräuschsensor nicht richtig funktioniert, versuchen Sie die folgenden Schritte:

  • Empfindlichkeit einstellen: Drehen Sie die kleine Schraube am Sensor, um seine Empfindlichkeit zu ändern.
  • Vibrationen reduzieren: Damit der Sensor keine Vibrationen oder Windgeräusche aufnimmt, befestigen Sie ihn fest auf einer stabilen Oberfläche.
  • Erfassungsbereich beachten: Der Sensor kann nur Geräusche innerhalb von 10 Zoll (ca. 25 cm) erkennen. Für genaue Messungen sollten die Geräusche nahe am Sensor erzeugt werden.
  • Stromversorgung prüfen: Stellen Sie sicher, dass die Stromversorgung stabil ist, da Schwankungen die Leistung dieses analogen Sensors beeinträchtigen können.

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.

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!