ESP8266 - Moteur Servo
Ce tutoriel vous explique comment utiliser l'ESP8266 pour contrôler un moteur servo. Nous allons apprendre en détail :
- Comment connecter un moteur servo à ESP8266
- Comment programmer pour ESP8266 pour contrôler un moteur servo
- Comment contrôler la vitesse d'un moteur servo en utilisant ESP8266
Préparation du matériel
1 | × | ESP8266 NodeMCU | |
1 | × | Micro USB Cable | |
1 | × | Servo Motor | |
1 | × | Jumper Wires | |
1 | × | (Optional) 5V Power Adapter for ESP8266 | |
1 | × | (Optional) ESP8266 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
Un servomoteur est un composant capable de faire tourner son axe (généralement dans une plage de 0 à 180 degrés) pour contrôler la position angulaire d'un objet.
Le brochage du moteur servo
Le moteur servo a trois broches :
- La broche VCC (généralement rouge) doit être connectée à VCC (5V)
- La broche GND (généralement noire ou marron) doit être connectée à GND (0V)
- La broche de signal (généralement jaune ou orange) qui reçoit le signal de commande PWM d'une broche d'ESP8266.
ESP8266 - Moteur Servo
Certains des broches de l'ESP8266 peuvent être programmées pour produire un signal PWM. Connecter la broche de signal du moteur servo à une broche ESP8266 et la programmer pour générer du PWM sur la même broche nous permet de contrôler le moteur servo.
Grâce à la bibliothèque Servo ESP8266, contrôler un moteur servo est facile. Nous n'avons pas besoin de comprendre comment fonctionne le moteur servo ni comment générer un signal PWM. Tout ce que nous devons faire est d'apprendre à utiliser la bibliothèque.
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.
Pour des raisons de simplicité, le schéma de câblage ci-dessus est utilisé à des fins de test ou d'apprentissage, et pour un moteur servo de faible couple. En réalité, nous recommandons fortement d'utiliser une alimentation externe pour le moteur servo. Le schéma de câblage ci-dessous montre comment connecter le moteur servo à une source d'alimentation externe.
This image is created using Fritzing. Click to enlarge image
Comment programmer pour un servomoteur
Le cœur Arduino-ESP8266 est déjà équipé de sa bibliothèque de servomoteurs intégrée, donc nous n'avons pas besoin de l'installer.
- Inclure la bibliothèque :
- Créez un objet Servo :
Si vous avez plus d'un servo-moteur, déclarez simplement des objets Servo supplémentaires :
- Attribuez la broche de contrôle de l'ESP8266 à la broche de signal du moteur servo. Par exemple, broche D7 :
- Finalement, tournez le servo moteur à l'angle requis. Par exemple, 90°.
Code ESP8266
Étapes rapides
Pour commencer avec ESP8266 sur Arduino IDE, suivez ces étapes :
- Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est votre première utilisation d'ESP8266.
- Connectez les composants comme indiqué sur le schéma.
- Connectez la carte ESP8266 à votre ordinateur via un câble USB.
- Ouvrez l'Arduino IDE sur votre ordinateur.
- Choisissez la bonne carte ESP8266, par exemple (ex. NodeMCU 1.0 (Module ESP-12E)), et le port COM correspondant.
- Connectez votre ESP8266 à l'ordinateur à l'aide d'un câble USB.
- Lancez l'Arduino IDE, sélectionnez la carte et le port corrects.
- Copiez le code fourni et ouvrez-le dans l'Arduino IDE.
- Cliquez sur le bouton Upload dans l'Arduino IDE pour compiler et téléverser le code vers l'ESP8266.
- Découvrez le résultat : Le moteur servo tourne dans le sens horaire et antihoraire.
Explication du code
Découvrez l'explication ligne par ligne contenue dans les commentaires du code source !
Comment contrôler la vitesse du moteur servo
En utilisant les fonctions map() et millis(), nous pouvons réguler la vitesse du moteur servo de manière fluide sans entraver le reste du code.