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 :
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 :
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 :
Écran LED :
Lors de mes tests, deux autres soucis concernent l’écran LED.
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…