ESP32 - Capteur de son - Moteur servo
Dans ce tutoriel, nous explorerons comment utiliser le capteur sonore pour contrôler un moteur servo. Plus précisément, nous plongerons dans deux applications passionnantes :
- Interrupteur sonore : Lorsqu'un son est détecté (par exemple un coup), l'ESP32 fait tourner le servo-moteur à 90 degrés s'il est à 0 degré, et à 0 degré s'il est à 90 degrés.
- Relais activé par le son : Lors de la détection d'un son, l'ESP32 fait tourner le servo-moteur à 90 degrés pendant une période de temps spécifique, puis le ramène à 0 degré.
Préparation du matériel
1 | × | ESP-WROOM-32 Dev Module | |
1 | × | USB Cable Type-C | |
1 | × | Sound Sensor | |
1 | × | Servo Motor | |
1 | × | Jumper Wires | |
1 | × | (Recommended) ESP32 Screw Terminal Adapter |
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos du servomoteur et du capteur sonore
Si vous ne connaissez pas le moteur servo et le capteur sonore (brochage, fonctionnement, programmation...), renseignez-vous sur ces derniers dans les tutoriels suivants :
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, vous pouvez trouver des conseils dans le tutoriel suivant : Comment alimenter l'ESP32.
Code ESP32 - L'interrupteur sonore bascule l'angle du moteur servo
Le code ci-dessous bascule l'angle du moteur servo entre 0 et 90 degrés à chaque fois que le son est détecté.
Étapes rapides
- Si c'est la première fois que vous utilisez ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
- Faites le câblage comme sur l'image ci-dessus.
- Connectez la carte ESP32 à votre PC via un câble micro USB.
- Ouvrez Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP32 (par exemple, ESP32 Dev Module) et le port COM.
- Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
- Tapez ServoESP32 dans la zone de recherche, puis recherchez la bibliothèque servo de Jaroslav Paral. Veuillez noter que les versions 1.1.1 et 1.1.0 comportent des bugs. Veuillez choisir une version différente.
- Cliquez sur le bouton Install pour installer la bibliothèque du moteur servo pour ESP32.
- Connectez l'ESP32 au PC via le câble USB
- Ouvrez l'Arduino IDE, sélectionnez la bonne carte et le bon port
- Copiez le code ci-dessus et ouvrez-le avec l'Arduino IDE
- Cliquez sur le bouton Upload dans l'Arduino IDE pour charger le code sur l'ESP32
- Claquez des mains devant le capteur sonore
- Observez le changement du moteur servo
Code ESP32 - Servomoteur activé par le son pour une durée déterminée
Le code ci-dessous fait tourner le moteur servo à 90 degrés pendant une période lorsque un son est détecté. Après cette période, le moteur servo est ramené à 0 degré.
Veuillez noter que le code mentionné ci-dessus utilise la fonction delay() par simplicité. Cependant, si vous incorporez du code supplémentaire, il peut se bloquer pendant le temps de délai. Pour remédier à cela, le code suivant met en œuvre une approche non bloquante en utilisant la fonction millis() au lieu de delay pour éviter le blocage.