Publié le 7 décembre 2022 - par

Robot éducatif programmable avec ESP32 : Crowbot Bolt d’Elecrow

Elecrow propose régulièrement des kits destinés à l’apprentissage de la programmation. Le dernier en date est le CrowBot-Bolt, un petit robot propulsé par un ESP32. La carte du rover est pleine de surprises et autorise un nombre de fonctions étonnant vu sa petite taille. L’intégration de nombreux capteurs permet à des jeunes en école, collège ou FabLab de débuter en robotique, la programmation Letscode étant très proche de celle de Scratch. On peut bien entendu le programmer en MicroPython ou via IDE Arduino.

Robot éducatif programmable avec ESP32 : Crowbot Bolt d’Elecrow

Présentation

Crowbot Bolt est un rover programmable intelligente open source piloté par un ESP32. Il est dotée d’une multitude de capteurs (tels qu’un capteur de lumière, un capteur à ultrasons et un capteur de suivi de ligne), de fonctions Wifi et Bluetooth, et peut être utilisé avec une variété d’environnements de programmation comme Letscode, MicroPython et Arduino.

On peut rapidement réaliser des fonctions telles que le suivi de la lumière, le suivi de la ligne, l’évitement des obstacles, la télécommande et le spectacle de lumière. En tant que robot éducatif STEAM d’entrée de gamme, le Bolt, cool et mignon, rend l’apprentissage et l’enseignement de la programmation de robots faciles et amusants. Il est livré avec 16 leçons en anglais pour trois langages (Letscode, Arduino, MicroPython). La programmation graphique ressemble à Scratch et permet aux débutants en programmation d’apprendre à programmer en s’amusant. Il comporte 2 interfaces d’extension, qui peuvent être utilisées avec plus de 150 types de modules Crowtail.

Il s’agit d’un rover open source, tous les fichiers de conception peuvent être téléchargés ici.

Déballage

Le rover arrive dans un carton solide et il est protégé par un plastique à bulles.

La boîte du rover présente ses caractéristiques.

A l’ouverture on trouve la notice de montage qui comporte au verso une piste pour le suiveur de ligne.

Le matériel est bien protégé dans une coque en mousse rigide.

Le contenu de l’emballage étalé avant montage.

Les plaques en acrylique sont protégées par un papier adhésif qu’il faudra enlever. Ici le capteur à ultrason.

La manette de commande

La manette avant montage. A gauche le joystick analogique, à droite les 4 boutons (A,B, C, D) en croix. A l’avant deux boutons poussoirs L et R. On a dans les mains une « vraie » manette de jeu pilotée par un ESP32.

La carte mère / Châssis

La carte mère sert en même temps de châssis pour le robot. L’ESP32 est bien repérable avec son boîtier métallique.

La communication est confiée à un port USB-C. On trouve également des LEDs chargées d’indiquer l’état des différents sous-ensemble du robot (alimentation, Bluetooth, WiFi, communication via USB). L’interrupteur A/M se trouve à gauche de la photo.

Les moteurs sont de bonne qualité, la démultiplication par des engrenages métalliques garantit une longue durée de vie. Comme ils sont apparents, il faudra veiller à l’entretien (propreté et graissage).

A l’avant de la carte mère/Châssis on trouve le connecteur pour le détecteur ultrason et son éclairage (les 4 connecteurs marqué 5V, RGB, IO et GND). A gauche et à droite deux capteurs de lumière qui permettront de guider le robot avec une source lumineuse et enfin au centre la diode réceptrice infrarouge (le boîtier noir) chargé de recevoir les informations envoyées par la télécommande.

Sous la carte on voit des LEDs RGB qui permettent de faire des effets lumineux, et à l’avant les capteurs infrarouge utilisés pour le suivi de ligne.

A l’arrière de la carte la bille qui sert de roue arrière, juste au dessus de la prise USB-C qui permet de programmer l’ESP32. A gauche les switch Bluetooth (BT) et WiFi qui permettent d’activer ces fonctions de l’ESP32. La carte comporte également 2 prises d’extension qui pourront recevoir plus d’une centaine de modules de la gamme Crowtail. Les LED RGB permettent de faire des effets lumineux.

Ces deux images indiquent la fonction des différents éléments de la carte mère. Les IO correspondantes sont disponibles dans la documentation du rover.

Montage du CrowBot-BOLT

Ici on a les plaques utilisées pour le montage du châssis. A droite les deux plaques pour protéger le circuit de la télécommande.

Le dessus du robot supporte le boîtier de piles. Notez la prise qui sort du boîtier, il faudra la brancher sur la carte mère… ce qui n’est pas indiqué dans la notice de montage

Les différentes pièces comportent des encoches qui permettent un montage de bonne qualité. Après si vous avez quatre mains (ou si vous êtes 2) c’est mieux. Sinon c’est un peu la galère pour assembler tout le bazar 😛

Après plusieurs essais infructueux et quelques jurons de charretier, j’ai fini par tout démonter. J’ai fixé les deux entretoises sur une plaque latérale, ce qui m’a servi de base de montage.

J’ai monté le dessus du robot, puis en desserrant les vis (juste ce qu’il fallait) j’ai enclenché la carte mère dans la partie basse. Si vous montez la carte mère / Châssis en suivant la notice vous obtenez ceci :

Bin oui… tout est monté mais la prise d’alimentation n’est pas connectée ! Alors avant de monter la carte mère :

Vérifiez que l’interrupteur A/M est sur Arrêt. Enlevez le cache de la prise marquée BAT sur la carte mère.

Connectez le câble des piles pour alimenter la carte mère.

Mettez la carte mère en place dans les encoches prévues à cet effet, puis serrez les vis. Avec cette méthode, le montage par une seule personne me semble plus efficace que ce qui est décrit dans la notice de montage. Ici on voit le dessous de la carte mère avec la boule qui sert de roue folle, et les deux prises pour les extensions, de chaque côté de la roue.

L’ensemble des plaques s’emboite parfaitement (merci la découpe Laser ?) comme on peut le voir ci-dessus avec la carte mère et une des pattes de côté du châssis.

Montage des roues

Repérez le méplat sur l’axe de sortie du moteur.

Il  faudra faire coïncider le méplat de l’axe avec la partie plate au centre de la roue. Ainsi la roue ne pourra pas glisser par rapport à l’axe moteur et elle assurera une bonne transmission.

Montage du capteur de distance à ultrason

Le capteur à ultrason avec son air de chaton vient se connecter sur les 4 connecteurs situés à l’avant de la carte mère. Une fois cette étape terminée, vous pouvez mettre le robot sous tension et commencer à jouer l’utiliser.

La télécommande / Joystick Bluetooth

C’est pratiquement une « vraie ». Vous trouvez ci-dessus toutes les fonctions. On a un joystick analogique + appui central, 4 boutons en croix à droite et deux boutons à l’avant (G et D) On peut ajouter un interrupteur A/M et une LED PWR, un écran OLE de 0,91 pouce, un buzzer, un vibreur et une prise d’interface I2C pour connecter plein de modules Crowtail. Tout ça sous la coupelle d’un simple ESP32. Une prise USB-C permet de charger ses propres programmes.

Cette télécommande / Joystick fonctionne en Bluetooth. Il faudra mettre l’interrupteur BT (Bluetooth) du rover sur ON avant de le démarrer, ce qui activera le Bluetooth. En cas de problème de connexion, voir en fin d’article.

Dans un premier temps, mettez la plaque inférieure en place. Elle a un sens, des découpes sont prévues pour laisser passer les pattes soudées du joystick analogique. Si vous la mettez à l’envers elle ne viendra pas contre le circuit imprimé du joystick. Il faudra prévoir 2 piles AAA.

Mettez en place les 4 cabochons de couleur (ils se clipsent sur les boutons poussoirs). Il y a deux cabochons blancs pour garnir les boutons de l’avant gauche et droite. Vissez  les 4 entretoises en laiton. Les vis sont dessous.

Il reste ensuite à positionner la plaque transparente, puis à mettre en place le bouton du joystick. Sur ma manette, la jupe du bouton frotte un peu sur le trou de la plaque transparente et reste coincée. Ça se résoudra avec un petit coup de lime.

Test de la manette

Après avoir mis le switch Bluetooth de la carte mère sur ON et mis sous tension le robot et la manette, celle-ci se connecte et on pilote le rover avec la manette de jeu.

La télécommande infrarouge

Mise en place de la CR2032

Le robot est livré avec une télécommande infrarouge du type de celles qui sont souvent rencontrées dans les kits Arduino, Raspberry Pi… Simple mais efficace ! Il y a une languette à enlever pour connecter la pile, je tire dessus et… Tiens, ça ne fonctionne pas ! Comment vérifier une télécommande ? Les makers le savent en général, mais je le rappelle pour ceux qui découvrent. Filmez la diode qui se trouve à l’avant de la télécommande avec votre smartphone et appuyez sur une touche. Si la LED émet de l’infrarouge, vous verrez les flash car la caméra du smartphone est sensible à ces longueurs d’ondes. Ici rien ne se passe, on ne voit pas le LED clignoter.

Ouverture du logement de pile : on appuie sur la languette à gauche pour déverrouiller et on sort le support … qui est vide. Bon, la pile n’est pas livrée avec la télécommande infrarouge. Cette fois c’est une pile CR2025 qu’il faut installer. Le + est indiqué sur le support. Placez la pile, refermez le bazar. On peut refaire le test. (Nota : Des piles CR2032 on en a tous, je pense, alors pourquoi de la CR 2025 ??? 🙄 )

Cette fois c’est bon, la LED infrarouge fonctionne. Cette astuce est valable pour toutes vos télécommandes (télé, lecteur de CD, clim…), pensez-y.

Fonctions de la télécommande

D’origine le rover CrowBot-BOLT est programmé pour répondre aux ordres de la télécommande. Il ne faut pas que les switch BT et/ou WiFi soient sur ON. Les fonctions des touches sont les suivantes après mise sous tension de la carte mère du rover :

  • 1 – Éviter les obstacles (ultrasons)
  • 2 – Suiveur de ligne
  • 3 – Suivi de source lumineuse
  • 4 – Robot musicien + light show
  • 0 – Robot patrouilleur (3 en 1)
  • 5, 6, 7, 8, 9 – Disponibles pour l’utilisateur
  • * – Allumer les lumières
  • # – Activer le buzzer
  • flèches – diriger les déplacements
  • OK – Arrêter le programme

Vous pourrez reprogrammer le robot pour qu’il réagisse aux 17 touches de la télécommande à votre guise.

Programmation avec Letscode

Elecrow fournit Letscode, basé sur Scratch 3.0. Pour l’installer rendez vous sur la page de téléchargement de Letscode. Il existe 3 versions : Windows, Mac et Raspberry Pi.

Attention à ce jour (6/12/2022) cette image avec les liens peut être partiellement masquée par l’image qui est au dessus, sur certains navigateurs. L’info est remontée chez Elecrow et cela devrait s’arranger.Si vous ne la voyez pas essayez de changer de navigateur.

Pour les tests j’ai utilisé la version Windows, je pense que c’est celle que la majorité utilisera. Téléchargez et installez la version qui vous convient. Malheureusement il n’y a pas le français dans le choix des langues disponibles.

Démarrez Letscode après son installation. Cliquez sur l’icône en bas à gauche pour ajouter des extensions. C’est comme dans Scratch.

Dans la page qui s’ouvre, descendez pour trouver le robot CrowBot-Bolt et installez l’extension. Vous aurez ainsi accès aux briques correspondantes pour la programmation.

Cliquez pour agrandir – (Programme uniquement à titre de démo)

Vous pouvez maintenant utiliser Letscode + les extensions Crowbot-Bolt pour Letscode programmées par Elecrow. Si vous ouvrez le volet Code, vous verrez le programme s’écrire en même temps en langage Arduino. Les déclarations des bibliothèques utilisées, les initialisations… C’est un bon moyen pour assurer la transition entre le langage graphique et l’IDE Arduino…

Programmation avec l’IDE Arduino

Installez l’IDE Arduino depuis la page https://www.arduino.cc/

Connectez le CrowBot au PC ou au Raspberry Pi, mettez le sous tension.

Sur ma machine, le rover est apparu au port COM7. Ouvrez le menu Fichier > Préférences > URL de gestionnaire de cartes supplémentaires. Cliquez sur l’icône en bout de cette ligne

Dans la fenêtre collez les adresses suivantes, une par ligne puis cliquez sur OK. (dans les 2 fenêtres) :

  • https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
  • https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

Installez le paquet pour l’ESP32 : Outils > Type de carte > Gestionnaire de carte.

Faites défiler ou cherchez esp32, cliquez sur Installer.

En fonction de la vitesse de votre connexion Internet, il faudra patienter un peu…

A la fin de l’installation, fermez la fenêtre. Allez dans Outils > Type de carte > ESP32 Arduino t sélectionnez la carte ESP32-WROOM-DA Module.

Vérifiez que le port correspondant au robot est bien sélectionné, et vous pouvez commencer à programmer votre rover. Les sources d’origine sont fournies et vous pourrez lez réinstaller si besoin.

Programmation en Python

Elecrow préconise l’utilisation de Thonny. La mise en œuvre ne devrait pas poser de problème si vous utilisez déjà cet IDE. Les détails (en anglais) pour l’installation du logiciel sont disponibles avec les leçons de Python.

Vidéo

Démo à améliore, le scotch d’électricien fait des plis et freine le rover, il n’aime pas non plus les virages serrés… Mais on voit que ça fonctionne 😉

Connexion Bluetooth problématique ?

Elecrow donne la solution sur sa page de FAQ :

Mettez l’interrupteur Bluetooth sur ON sur la carte CrowBot. Vérifiez si le condensateur au niveau de C26 sur le joystick (flèche ci-dessus) est un condensateur au tantale 100μF, sinon, veuillez le changer pour un condensateur au tantale 100μF.

Conclusion

Vendu 35$ (58$ avec la manette) ce robot CrowBot-BOLT d’Elecrow permet de débuter en douceur la programmation de robots. accessibles pour plusieurs niveaux d’age et de connaissances en programmation grâce à ses 3 langages Letscode (Scratch) MicroPython et Arduino IDE. On peut regretter l’absence de la langue française dans Letscode, ce qui impose d’être capable de lire l’anglais, ou de réaliser un travail de traduction.

La documentation me semble bien faite, avec les sources des exemples. Aux tests aussi bien avec la télécommande infrarouge qu’en Bluetooth tout a bien fonctionné. Pour le moment j’utilise les programmes d’origine (démo demain pour des visites de lycéens au FabLab). Par la suite j’espère avoir un peu de temps pour écrire des programmes adaptés à ce robot.

Si vous avez déjà pratiqué sur Crowbot-Bolt, n’hésitez pas à donner votre avis dans les commentaires, ils sont faits pour ça !

Pour Noël 2022 bénéficiez de 10% de remise et 25% pour l’achet de 2 robots (jusqu’au 25 décembre)

Source

Lien vers la page de la boutique

Télécharger Letscode : https://www.elecrow.com/letscode.html

Wiki : https://www.elecrow.com/wiki/index.php?title=CrowBot-BOLT_Programmable_Smart_Robot_Car_STEAM_Robot_Kit

Forum : https://forum.elecrow.com/

Letscode Windows : https://www.elecrow.com/maker/letscode/cnt?f=Letscode%20Setup%203.4.0-rc.V1.2.3.zip

Letscode Mac : https://www.elecrow.com/maker/letscode/cnt?f=Letscode%20for%20mac-V1.1.9.zip

Letscode Raspberry Pi : https://www.elecrow.com/maker/letscode/cnt?f=Letscode%20for%20Raspberry_armv7l-V1.1.9.zip

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

Une réflexion au sujet de « Robot éducatif programmable avec ESP32 : Crowbot Bolt d’Elecrow »

  1. Ping : Robot éducatif programmable avec ESP32 : Crowbot Bolt d’Elecrow – Jhc Info

  2. Ping : Un chronomètre au 1/1000 de seconde avec Arduino UNO - Ecran LCD1602 - Framboise 314, le Raspberry Pi à la sauce française....

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.