Objectif du projet
Construire un robot marcheur piloté par smartphone/PC.
Utilisation du contrôleur Raspberry Pi pico W avec programmation sous Micropython.
Mise en œuvre d’un serveur web.
L’ensemble est destiné à des fins d’éducation. Il met en œuvre une interaction entre une page html et des servomoteurs avec des exemples simples pour une modification dynamique de la page web.
Note : Le projet fonctionne également avec les contrôleurs ESP32 etESP8266.

Composants
L’image montre les éléments nécessaires à la fabrication. Peu d’éléments sont utilisés. Les pièces mécano peuvent être remplacées par des tiges en aluminium et la plaque par un support en bois.
L’ensemble des fichiers est disponible ici.

Schéma du montage
Le montage est simple à réaliser et ne pose pas de problème particulier.
L’alimentation se fait par une série de batteries pour obtenir 6V. La diode Schottky alimente le contrôleur. Lorsque le contrôleur est branché au PC pour mise à jour par la prise USB il n’y a pas interférence avec la batterie.


Assemblage mécanique
Quatre tiges par côté forment les pieds. L’élément central est fixé à l’axe de rotation par un bras d’entraînement. Le montage est simple. L’utilisation de vis avec écrous autobloquant permet de donner de la souplesse aux articulations tout en évitant que les vis se dévissent.






Le programme
Le programme est simple et utilise les éléments html de base. Il met en œuvre un petit serveur web qui va permettre d’actionner les servomoteurs au travers d’une page web depuis un PC ou un smartphone.
Afin de simplifier la compréhension le programme est découpé en cinq fichiers.
Le fichier « boot.py » initialise la connexion WiFi.
Le fichier « functions.py » comporte les fonctions de pilotage des servomoteurs.
Il utilise les classes «.self» pour faciliter la construction et la lecture.
Le fichier « webpage.py » contient la page html avec les boutons pour les actions à mener. La page est contenue dans une fonction. Deux paramètres permettent de compléter la page html avec la valeur de la vitesse et un emoji.
Le fichier « css.py » contient sous la forme d’une variable la partie <style> de la page html.
Le fichier « main.py » orchestre la relation entre l’interface web et les servomoteurs.
Le programme est sollicité par l’appel de l’adresse IP. Il complète la page html avec la partie CSS et la vitesse des moteurs et l’envoie en retour. En fonction du bouton sélectionné le programme lance une action sur les servomoteurs et renvoie la page html.
A titre de démonstration j’ai ajouté une barre de progression, l’affichage d’un emoji et l’insertion d’une image pour renvoie vers un autre site.
Une explication plus détaillée d’une partie du code est donnée par les sites qui m’ont inspiré dans la section références.
Conclusion
Ce programme démontre la facilité de pilotage d’un robot par l’intermédiaire d’une simple page web. Elle indique également comment modifier la page web en y incluant des informations. J’espère que cela va inspirer l’un ou l’autre bricoleur. Enjoy-it !
Références
Sites d’inspiration
Pour architecture ESP32 et ESP8266
https://randomnerdtutorials.com/esp32-esp8266-micropython-web-server/
Pour Raspberry Pi Pico
Editeur html pour tests :