Les étapes

Les étapes du projet

Démarrage

Nous avons démarré avec les exemples d'uPycraft (un fichier html et un script micropython) et un routeur wifi. uPycraft n'est pas si simple à prendre en main, il faut souvent faire des reflush en démarrage de projet car même si vos nouveaux fichiers sont dans votre WORKSPACE, il faut l'"actualiser" pour uPycraft. Dans un établissement scolaire, il faut disposer d'un minimum de droits d'administration pour installer le driver CP210x. Il est aussi possible, mais je déconseille, de travailler directement sur l'ESP32 (device). Les fichiers nous affichaient un curseur sur le serveur web (IP donnée en console) mais les GPIOs de l'ESP n'étaient reliés à rien. Nous nous sommes équipés de breadbords, de résistances et de LEDs. Un gros défaut de l'ESP32 est sa largeur (trop large pour une breadboard standard) mais passons. Au départ, nous voulions faire simple: une voiture avec 2 moteurs (1 pour chaque roue avant pour pouvoir gérer la direction). Nous avons parfois voire souvent contourné les difficultés.

Etape 2: passage à 2 LEDs

La deuxième étape a été de commander 2 LEDs, d'abord ensemble puis séparément (avec 2 curseurs), il est ici nécessaire de comprendre l'essentiel du script. Explications à venir.

Etape 3: commande moteur.

Passage des curseurs à la verticale. pouvoir commander les 2 curseurs en même temps.

Nous avons du faire face à 2 difficultés: la méthode .duty() fonctionne très bien sur les LEDs mais pas sur les moteurs. Il se trouve que l'ESP32 ne peut pas envoyer de signal analogique, elle envoie du numérique en faisant varier la fréquence des 1 et des 0, elle fonctionne en PWM (Pulse-Width Modulation).

Une autre difficulté: la marche arrière qui demande d'inverser la polarité des moteurs en courant continu, nous aurions pu, pour la marche arrière, utiliser un pont en h classique. C'est là que je suis tombé sur le L298N qui résout les 2 problèmes à la fois, pont en H et PWM/analogique. Le L298N est notre petit miracle.

Nous avons ensuite alimenté les moteurs avec la broche 3v3 de l'ESP¨: c'est insuffisant. Après quelques essais à différentes tensions, nous décidons que 9V conviennent. Le L298N fournira ainsi les 5V nécessaires au fonctionnement de l'ESP32. Voilà où nous en sommes après 10 heures

"Je trouve ça joli mais je ne suis pas superficiel. C'est quand-même plus un tricycle qu'une voiture!" mon frère/ami Greg.

Cette horreur visuelle a demandé un morceau de contreplaqué, une boite en plastique pour loger correctement l'ESP32, des dominos, un boitier pour piles (avec des piles), des cables (Dupont ou pas), un interrupteur et de la colle néoprène.

Etape 4: optionnelle

Utilisation d'un joystick virtuel pour commander la voiture. Quelques groupes d'élèves y travaillent.

Autre fonctionnement possible: 2 roues motrices sur le même moteur et un servo pour la direction.