ESP32 - Geluidsensor

De geluidsensor heeft de mogelijkheid om de aanwezigheid van geluid in zijn omgeving te detecteren. Hiermee kunt u trendy geluidsgestuurde projecten maken, zoals lampen die aan gaan bij een klap of een voerautomaat voor huisdieren die reageert op geluid.

In deze handleiding leert u hoe u de ESP32 en een geluidsensor gebruikt om geluid te detecteren. We behandelen de volgende punten:

ESP32 geluidsensor

Daarna heeft u de vrijheid om de code aan te passen, bijvoorbeeld om een LED of een lamp (via een relais) te laten reageren op geluidsdetectie, of om een servomotor te laten draaien.

Hardware Benodigdheden

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×Digitale Geluidsensor
1×Analoge Geluidsensor
1×Breadboard (experimenteerprint)
1×Jumperdraden
1×(Optioneel) 5V Voeding Adapter voor ESP8266
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor ESP32
1×(Aanbevolen) Breakout Expansion Board for ESP32
1×(Aanbevolen) Stromsplitter voor ESP32

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over de Geluidsensor

De geluidsensor kan worden gebruikt om geluid in de omgeving te detecteren. Er zijn twee soorten geluidsensormodules:

  • Digitale geluidsensormodule: levert een digitale signaalwaarde (AAN/UIT)
  • Analoge geluidsensormodule: levert zowel analoge als digitale signaalwaarden

De gevoeligheid van de digitale uitgang kan worden aangepast door een ingebouwde potentiometer.

De Pinout van de Digitale Geluidsensor

De digitale geluidsensor heeft drie pinnen:

  • VCC-pin: moet worden verbonden met VCC (3,3V tot 5V)
  • GND-pin: moet worden verbonden met GND (0V)
  • OUT-pin: is een uitgangspin: HIGH als het stil is en LOW als geluid wordt gedetecteerd. Deze pin moet worden verbonden met een input pin van de ESP32.
Pinout Geluidsensor
image source: diyables.io

De geluidsensor heeft een handige ingebouwde potentiometer waarmee u gemakkelijk de gevoeligheid kunt afstellen. Daarnaast heeft het twee LED-indicatoren:

  • Eén LED-indicator toont de voedingsstatus.
  • Een andere LED-indicator geeft het geluidsstatus aan, deze gaat aan wanneer geluid wordt gedetecteerd en uit als het stil is.

De Pinout van de Analoge Geluidsensor

De analoge geluidsensor heeft vier pinnen:

  • + pin: moet worden verbonden met 5V
  • G pin: moet worden verbonden met GND (0V)
  • DO pin: is een digitale uitgangspin: HIGH als het stil is en LOW als geluid wordt gedetecteerd. Deze pin moet worden verbonden met een digitale input van de ESP32.
  • AO pin: is een analoge uitgangspin: levert een analoge waarde die het geluidsniveau aangeeft. Deze pin moet worden verbonden met een analoge input van de ESP32.
Pinout Analoge Geluidsensor
image source: diyables.io

De analoge geluidsensor heeft een handige ingebouwde potentiometer waarmee u gemakkelijk de gevoeligheid van de digitale uitgang kan instellen. Daarnaast heeft het twee LED-indicatoren:

  • Eén LED-indicator toont de voedingsstatus.
  • Een andere LED-indicator geeft de geluidsstatus aan, deze gaat aan als geluid wordt gedetecteerd en uit als het stil is.

Hoe Werkt Het

De module bevat een handige ingebouwde potentiometer die u in staat stelt de geluidsgevoeligheid aan te passen. Zo gedraagt de uitgangspin van de sensor zich:

  • Wanneer geluid wordt gedetecteerd, is de uitgangspin LOW.
  • Wanneer er geen geluid is, is de uitgangspin HIGH.

Bedradingsschema

ESP32 Geluidsensor Bedradingsschema

This image is created using Fritzing. Click to enlarge image

Als u niet weet hoe u ESP32 en andere componenten van stroom moet voorzien, vindt u instructies in de volgende tutorial: Hoe ESP32 van stroom te voorzien.

Hoe ESP32 en geluidsensor aansluiten

Hoe Te Programmeren Voor Geluidsensor

  • Initialiseer de ESP32 pin naar digitale input modus met behulp van de functie pinMode(). Bijvoorbeeld pin GPIO18
pinMode(18, INPUT);
  • Lees de staat van de ESP32 pin uit met de functie digitalRead().
int soundState = digitalRead(18);

ESP32 Code - Geluid Detecteren

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/esp32/esp32-sound-sensor */ #define SENSOR_PIN 18 // ESP32 pin GPIO18 connected to the OUT pin of the sound sensor 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 ESP32's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the ESP32's 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; }

Snelle Stappen

  • Als dit de eerste keer is dat u de ESP32 gebruikt, bekijk dan hoe u de omgeving instelt voor ESP32 in de Arduino IDE.
  • Kopieer bovenstaande code en open deze met de Arduino IDE
  • Klik op de Upload knop in de Arduino IDE om de code op de ESP32 te zetten
  • Klap met uw handen voor de geluidsensor
  • Bekijk het resultaat op de Seriële 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  

Houd er rekening mee dat als u merkt dat de LED-status constant aan of uit blijft, zelfs als er geluid is, u mogelijk de potentiometer moet aanpassen om de geluidsgevoeligheid van de sensor fijner af te stemmen.

Nu kunt u de code personaliseren zodat hij bijvoorbeeld een LED of lamp activeert wanneer geluid wordt gedetecteerd. U kunt zelfs een servomotor laten draaien op basis van het geluidsniveau. Voor diepgaandere begeleiding en stapsgewijze instructies kunt u terecht bij de tutorials aan het einde van deze handleiding.

Problemen Oplossen

Als u problemen ondervindt met de werking van de geluidsensor, overweeg dan de volgende stappen voor probleemoplossing:

  • Vibraties verminderen: Mechanische vibraties en windgeluiden kunnen de werking van de geluidsensor beïnvloeden. Monteer de sensor daarom op een stabiele ondergrond om deze verstoringen te minimaliseren.
  • Houd rekening met het detectiebereik: Deze specifieke geluidsensor heeft een beperkt detectiebereik van ongeveer 25 cm. Voor nauwkeurige metingen is het het beste om geluid dichtbij de sensor te maken.
  • Controleer de voeding: Zorg voor een schone voeding zonder storingen, aangezien de geluidsensor gevoelig is voor interferentie van de voeding vanwege zijn analoge karakter.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u snel aan de slag te gaan.

Functie Referenties

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!