ESP32 - Geluidsensor - Servo Motor
In deze handleiding verkennen we hoe u een geluidsensor kunt gebruiken om een servo motor aan te sturen. We gaan specifiek in op twee spannende toepassingen:
- Geluidschakelaar: Wanneer geluid wordt gedetecteerd (bijvoorbeeld een klap), draait de ESP32 de servo motor naar 90 graden als deze op 0 graden staat, en terug naar 0 graden als hij op 90 graden staat.
- Geluid-geactiveerd relais: Bij het detecteren van geluid draait de ESP32 de servo motor naar 90 graden voor een bepaalde tijdsduur en keert daarna weer terug naar 0 graden.
Hardware Benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables ESP32 Starterskit (ESP32 inbegrepen) | |
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over Servo Motor en Geluidsensor
Als u niet bekend bent met de servo motor en geluidsensor (pinout, werking, programmeren ...), bekijk dan de volgende tutorials:
Bekabelingsschema

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.
ESP32 Code - Geluidschakelaar wisselt hoek van Servo Motor
De onderstaande code wisselt de hoek van de servo motor tussen 0 en 90 graden telkens wanneer geluid wordt gedetecteerd.
Snelle Stappen
- Als u ESP32 voor het eerst gebruikt, bekijk dan hoe u de omgeving instelt voor ESP32 in Arduino IDE.
- Voer de bekabeling uit zoals op de afbeelding hierboven.
- Verbind de ESP32 met uw pc via een micro USB-kabel.
- Open de Arduino IDE op uw pc.
- Selecteer de juiste ESP32 board (bijvoorbeeld ESP32 Dev Module) en COM-poort.
- Klik op het Libraries icoon in de linkerzijbalk van de Arduino IDE.
- Typ ESP32Servo in het zoekveld, zoek vervolgens de servo bibliotheek van Kevin Harrington, John K. Bennett.
- Klik op de knop Installeren om de servo motor bibliotheek voor ESP32 te installeren.

- Verbind de ESP32 met de pc via USB-kabel.
- Open Arduino IDE, selecteer het juiste board en de juiste poort.
- Kopieer bovenstaande code en open deze met Arduino IDE.
- Klik op de Upload knop in Arduino IDE om de code naar de ESP32 te uploaden.
- Klap met uw handen voor de geluidsensor.
- Observeer de beweging van de servo motor.
ESP32 Code - Geluids-geactiveerde Servo Motor voor een bepaalde tijd
De onderstaande code draait de servo motor naar 90 graden gedurende een bepaalde tijdsduur wanneer geluid wordt gedetecteerd. Na deze tijdsduur draait de servo motor weer terug naar 0 graden.
Let op dat de bovenstaande code de delay() functie gebruikt voor eenvoud. Als u echter meer code toevoegt, kan deze geblokkeerd worden gedurende de vertraging. Om dit te voorkomen implementeert de volgende code een non-blocking methode met de millis() functie in plaats van delay, zodat blokkering wordt vermeden.
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.