ESP8266 - Clavier - Moteur servo
Ce tutoriel vous explique comment utiliser l'ESP8266 et un clavier pour contrôler un moteur servo. En détail :
- Si l'utilisateur saisit un mot de passe accepté sur le clavier, l'ESP8266 fera tourner le servo-moteur à 90°.
- Après un certain temps, le servo-moteur sera remis à 0°.
Le code ESP8266 prend également en charge plusieurs mots de passe.
Préparation du matériel
1 | × | ESP8266 NodeMCU | |
1 | × | Micro USB Cable | |
1 | × | Keypad | |
1 | × | Servo Motor | |
1 | × | 5V Power Adapter | |
1 | × | DC Power Jack | |
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 clavier et du servomoteur
Si vous ne connaissez pas le clavier et le moteur servo (y compris le brochage, leur fonctionnement et comment les programmer), les tutoriels suivants peuvent vous aider :
- ESP8266 - Keypad tutorial
- ESP8266 - Servo Motor tutorial
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.
Veuillez noter que le schéma de câblage présenté ci-dessus convient uniquement à un moteur servo à faible couple. Si le moteur vibre au lieu de tourner, une source d'alimentation externe doit être utilisée pour fournir plus de puissance au moteur servo. Ci-dessous est présenté le schéma de câblage avec une source d'alimentation externe pour moteur servo.
À AJOUTER IMAGE
N'oubliez pas de connecter le GND de l'alimentation externe au GND de l'ESP8266.
Code ESP8266 - fait tourner le moteur Servo si le mot de passe est correct
Si le mot de passe est correct, le servo-moteur sera réglé à 90° pendant une période de 5 secondes. Ensuite, il sera remis à 0°.
Étapes rapides
Pour commencer avec l'ESP8266 sur Arduino IDE, suivez ces étapes :
- Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez ESP8266.
- Connectez les composants comme indiqué dans le schéma.
- Branchez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Choisissez la bonne carte ESP8266, comme par exemple NodeMCU 1.0 (Module ESP-12E), et son port COM respectif.
- Connectez un câble USB entre l'ESP8266 et le PC.
- Ouvrez Arduino IDE, choisissez la bonne carte et le bon port.
- Cliquez sur l'icône Libraries dans la barre gauche de Arduino IDE.
- Recherchez "keypad" et trouvez la bibliothèque de clavier créée par Mark Stanley et Alexander Brevig.
- Appuyez sur le bouton Install pour installer la bibliothèque de clavier.
- Copiez le code et ouvrez-le avec l'IDE Arduino.
- Cliquez sur le bouton Upload dans l'IDE Arduino pour compiler et téléverser le code vers l'ESP8266.
- Entrez 12345# sur le clavier.
- Ensuite, tapez 5642B#.
- Vérifiez le moniteur série et observez l'état du moteur servo.
Explication du code
Les mots de passe valides sont prédéfinis dans le code de l'ESP8266. Une chaîne de caractères, appelée input_password, est utilisée pour stocker le mot de passe saisi par les utilisateurs. Le clavier possède deux touches (* et #) qui sont utilisées à des fins spéciales : effacer le mot de passe et terminer le mot de passe. Lorsqu'une touche du clavier est pressée :
- S'il ne s'agit pas de l'une des deux touches spéciales, il sera ajouté à l'input_password.
- Si la touche pressée est *, alors l'input_password sera effacé, permettant à l'utilisateur de commencer ou de recommencer la saisie du mot de passe.
- Si la touche pressée est # :
- L'ESP8266 vérifie si le mot de passe est valide en comparant l'input_password avec les mots de passe prédéfinis. S'il correspond à l'un d'eux, l'ESP8266 fait tourner le servomoteur à 90°.
- Que le mot de passe soit correct ou non, l'input_password sera effacé pour la prochaine saisie.
- Après un délai, l'ESP8266 fait tourner le servomoteur à 0°.