Wi-Servo : Contrôlez des servomoteurs via Wi-Fi depuis un navigateur Web
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino UNO | 1 |
| Espressif ESP8266 ESP-01 | 1 |
| Shield Proto Arduino | 1 |
| Servomoteur SG90 | 1 |
| Fils de liaison (générique) | 1 |
Applications et services en ligne
- Arduino IDE
À propos de ce projet
Ce projet montre comment contrôler des servomoteurs à distance dans un réseau Wi-Fi, en utilisant un navigateur Internet ordinaire (Firefox, par exemple). Cela peut être utilisé dans plusieurs applications : jouets, robots, drones, caméra pan/tilt, etc.
Les moteurs étaient attachés à un Arduino Uno, qui se connecte au réseau Wi-Fi via un module ESP-8266. L'interface de contrôle a été conçue avec HTML et jQuery.
Le tutoriel de Miguel (https://allaboutee.com/2015/01/02/esp8266-arduino-led-control-from-webpage/), qui montre comment allumer/éteindre des LED en utilisant ESP-8266, a servi d'inspiration pour ce projet.
La technique montrée ici est utilisée dans l'un de mes projets : "Robô da Alegria". Vous pourriez en trouver plus à ce sujet dans l'un des liens suivants :
- https://hackaday.io/project/12873-rob-da-alegria-joy-robot
- https://www.facebook.com/robodaalegria/
- https://github.com/ferauche/RoboAlegria
Étape 1 : Électronique



Pour ce projet, vous aurez besoin des composants suivants :
- Arduino Uno
- ESP8266
- Proto-shield (pour une version plus compacte) ou une plaque d'essai ordinaire
- Résistance 10 kohm (x3)
- Quelques fils de liaison
- Servomoteur SG90 (x2)
- Un ordinateur (pour compiler et téléverser le code Arduino)
Vous n'aurez pas besoin d'outils spécifiques pour l'assemblage de ce projet. Tous les composants peuvent être trouvés en ligne sur votre boutique e-commerce préférée. Le circuit est alimenté par le port USB (connecté à un ordinateur ou un chargeur de téléphone ordinaire), mais vous pouvez également ajouter une alimentation DC externe ou une batterie connectée à la prise d'alimentation de l'Arduino.
Étape 2 : Assemblage


Connectez tous les composants selon le schéma. Vous aurez besoin de quelques fils de liaison pour connecter le module ESP-8266 et les servomoteurs. Vous pouvez utiliser un proto-shield (pour un circuit plus compact), une plaque d'essai ordinaire, ou concevoir votre propre shield Arduino.
Branchez le câble USB sur la carte Arduino Uno et passez à l'étape suivante.
Étape 3 : Code Arduino
Installez le dernier Arduino IDE. Dans ce projet, la bibliothèque servo.h a été utilisée pour le contrôle des servos. Afin d'éviter les conflits entre le module Wi-Fi et le port USB de l'ordinateur pendant le téléversement du code, la bibliothèque softserial a été utilisée. Aucune bibliothèque supplémentaire n'était nécessaire pour la communication avec le module ESP-8266. Veuillez vérifier le débit en bauds de votre ESP8266 et le régler correctement dans le code.
Certains servomoteurs commencent à trembler et à faire des bruits étranges lorsque leur position est proche des limites (0 et 180 degrés). Pour éviter cela, l'angle a été limité entre 10 et 170 degrés à la fois dans le code Arduino et dans l'interface de contrôle (plus tard).
Malheureusement, la bibliothèque servo.h et la bibliothèque softserial.h utilisent le même minuteur du microcontrôleur. Cela peut provoquer des tremblements dans les servos chaque fois que l'Arduino communique avec l'ESP-8266. Pour éviter cela, les servos sont détachés de l'Arduino après chaque commande. Vous pouvez également connecter le module aux broches série standard. Dans ce cas, n'oubliez pas de déconnecter le module avant chaque téléversement.
Téléchargez le code Arduino (wi-servo.ino) et remplacez XXXXX par le SSID de votre routeur Wi-Fi et YYYYY par le mot de passe du routeur. Connectez la carte Arduino au port USB de votre ordinateur et téléversez le code.
Étape 4 : Interface

Une interface HTML a été conçue pour le contrôle des servomoteurs. Dans cet exemple, deux servos ont été utilisés, mais d'autres peuvent être ajoutés à l'Arduino Uno (j'ai testé jusqu'à quatre moteurs).
Un formulaire avec zone de texte est utilisé pour entrer l'adresse IP du module ESP. Téléchargez les fichiers Wi-servo.html et jquery.js et enregistrez-les dans le même dossier.
Étape 5 : Utilisation



Lorsque l'Arduino redémarre, il essaiera de se connecter à votre réseau Wi-Fi automatiquement. Utilisez le Moniteur Série pour vérifier si la connexion a réussi et pour obtenir l'adresse IP qui a été attribuée à votre ESP-8266 par votre routeur.
Ouvrez le fichier HTML dans un navigateur Internet (Firefox).
Entrez l'adresse IP de votre ESP-8266 dans la zone de texte et vous serez prêt à partir. Sélectionnez l'angle souhaité pour chaque servo en utilisant les curseurs. Le navigateur enverra automatiquement une requête à l'Arduino lorsque vous relâcherez le bouton de la souris, et déplacera chaque servo.
Code
GitHub
https://github.com/ferauche/RoboAlegria
Schémas

Processus de fabrication
- Construire un robot Raspberry Pi piloté par Bluetooth avec retour audio
- Serveur Web Arduino Uno WiFi : Commander une LED via Navigateur
- Transformez une vieille voiture RC en véhicule piloté au joystick avec Arduino
- Calculatrice basique Arduino UNO - Projet facile pour débutants
- Bras robotique 6 DoF piloté par Nunchuk Wii – Kit Arduino Mega
- Robot commandé par la voix avec Arduino Nano et Bluetooth
- Construire un affichage à persistance rétinienne portable avec Arduino UNO et ATtiny85
- PiBot : Robot pianiste Arduino pour performance musicale de précision
- Interrupteur LED tactile capacitif avec Arduino UNO – Projet DIY facile