Quelques séances avec mBot et premier bilan

, par Patrice Freney


J’ai profité des dernières séances de juin pour mettre en fonctionnement mon armée de robot mBot avec des petits exercices plus ou moins compliqués pour mes classes de 5e et de 4e, et surtout cela m’a permis de corriger les premiers défauts de consignes données ou de voir les dysfonctionnements du robot…

Petit rappel, il existe trois moyens de faire exécuter un programme par le robot mBot :
- le câble USB (mode direct)
- le mode WIFI (mode direct)
- le téléversement du programme dans le robot (mode téléversé).

Le câble USB :
Pas de gros soucis à signaler si ce n’est un câble trop court par rapport à la position des unités centrales des îlots de la classe. J’avais des câbles plus longs en réserve, bon OK, un peu trop long (6 m). De 2 à 3 mètres me semblent la longueur idéale.
Mais le petit souci principal du câble est qu’il "retient" le robot lors de ses déplacements. Comme il est plus lourd et trop rigide par rapport au robot, ce dernier galère pour tourner. Pratique pour quelques exercices sur les moteurs, mais il faut passer rapidement au mode Wifi pour les mouvements.

Le mode Wifi :
Je n’ai pas eu le temps de vraiment l’utiliser avec les élèves. Le mode WIFI est très pratique, car le câble devient inutile. Gare cependant à l’autonomie de la batterie du robot. Le robot est très réactif. Aucun temps de latence.
Les clés USB WIFI et les cartes sont jumelées. Il ne faut donc pas les mélanger. J’ai numéroté chaque robot/clé/câble/télécommande et carton de rangement afin de ne rien mélanger.

Le téléversement :
Le téléversement permet donc au robot d’être autonome. Pratique, le robot se débrouille tout seul.

Par contre, quelques remarques :
- contrairement à ce que j’ai pu lire ici et là, y compris dans un manuel d’éditeur le téléversement ne peut pas se faire en mode WIFI. J’ai essayé, sans succès.
Après contact avec mon fournisseur, ce dernier m’a confirmé cette impossibilité. Le câble USB devient donc obligatoire.
- le téléversement est long, mais pas que. Il faut donc brancher le câble, connecter le logiciel mBlock, téléverser, et essayer le robot. Toutes ces manipulations sont longues et la connexion/déconnexion du câble n’est pas viable dans le temps et va surement poser des problèmes de faux-contacts.
- toujours au chapitre de cette lenteur, ne pas oublier de désactiver les antivirus qui ralentissent, avec un fort coefficient, le téléversement.


Mode direct vs Mode téléversement :
Si les trois modes ci-dessus semblent faire fonctionner le robot de la même manière, ce n’est pas tout à fait vrai dans la réalité.

J’ai galéré un peu pour faire fonctionner correctement le robot en suiveur de ligne. Tout était là : un robot, mBlock, une piste avec une ligne noire, un câble USB…
Je connecte le robot avec le câble USB, teste brièvement les états du capteur de ligne, pas de souci. Je commence donc le programme, et là, le robot avance bizarrement, sort de la ligne, cherche et ne trouve plus rien. Bref, un comportement erratique.
En cherchant sur internet, je trouve des corrigés, je réécris le programme et même comportement.
En fait, la solution est simple : la commande en direct (câble ou WIFI) ne permet pas de faire fonctionner le robot de manière optimale, car trop lente. La bonne solution est de téléverser le programme dans le robot. Celui-ci étant traduit en langage machine, son exécution est beaucoup plus rapide.
Effectivement, une fois téléversé, le robot s’est mis à fonctionner tout à fait normalement.
Cela me pose un problème avec les élèves, car à chaque modification, ils doivent donc retéléverser le programme pour le tester correctement. Le temps est mon ennemi…

J’ai pu faire quelques autres tests ou les deux modes ne font pas fonctionner les éléments de la même manière :
- pour l’affichage d’un texte défilant sur l’écran, celui-ci est beaucoup plus rapide en mode téléversé.
- un servomoteur, placé sur le devant du robot, pour la recherche d’obstacles. Très saccadé en mode direct, très rapide en mode téléversé.


Écran LED :
Lors de mes tests, deux autres soucis concernent l’écran LED.
- il semble que la longueur de la phrase ait des limites en nombre de caractères en mode téléversé. La même phrase en mode direct est correcte, mais elle est coupée lorsque le programme est téléversé.
- l’écran a parfois refusé de m’afficher une distance alors qu’il fonctionnait parfaitement en mode direct.
À creuser…


Moteurs en vitesse lente :
Je n’ai pas pu faire aller mon robot avec une vitesse de 50 et inférieure (de 0 à 250). Il stoppe tout simplement. Il commence à rouler avec 60.


mBlock et Scratch :
mBlock est issu de Scratch, logiciel de programmation fortement recommandé au collège par nos plus hautes autorités (je n’ai pas dit obligatoire, car je veux rester poli) pour les Mathématiques et la Technologie.
Il faut un minimum de notions pour utiliser mBlock. Si les élèves n’ont pas acquis les bases de Scratch en cours de Mathématiques, cela pose un problème de temps d’apprentissage, ce que je ne peux pas vraiment me permettre en ayant les élèves une fois par semaine. Cela va tout de même se régler dès la rentrée prochaine, car la réforme ayant été mise en place début 2016, tous les élèves de 4e et 3e à la rentrée 2017, auront fait du Scratch, en Mathématiques et/ou en Technologie.
Heureusement que j’avais pu faire programmer des élèves durant l’année avec "Hour of code" pendant des séances ou je n’avais pas tous les élèves ou les veilles de vacances. Cela les a aidés.
Les plus avancés dans les exercices proposés ont buté sur la logique même de programmation avec, par exemple, des conditions telles que "si…sinon", mais imbriquées les unes dans les autres, ou encore "répéter jusqu’à…". Bref, il me reste un peu travail en perspective pour simplifier tout ceci afin de le rendre accessible aux élèves.


Autonomie du robot
J’ai été assez étonné de voir mes robots fonctionner toute une matinée durant une journée de portes ouvertes. Bien évidemment, comme je les faisais tourner sur une piste, certains finissaient par aller moins vite que les autres, mais globalement, ils ont roulé sans ronchonner. La petite batterie au lithium est très efficace.


Les élèves sont joueurs…
Certains ont changé les câbles de place, et donc les capteurs n’étaient plus sur le même numéro de port (de 1 à 4), pendant que d’autres ont légèrement déconnecté la fiche RJ. La fiche était en place, mais pas les connexions électriques. "Ah bah maintenant, elle va marcher beaucoup moins bien forcément !". ;-)
Sont joueurs quand même !


Malgré tous ces petits soucis, les robots fonctionnent plutôt bien. Ils sont assez attractifs et semblent assez solides. Les élèves se sont bien amusés avec.
Une nouvelle commande est partie pour une autre armée de huit robots. La suite bientôt…