Table des matières

Thymio : Qu'est-ce que c'est ?

Une interface de programmation pour le robot Thymio.

Thymio : un robot éducatif open-source conçu par des chercheurs de l'EPFL, en collaboration avec l'ECAL, et produit par Mobsya, une association à but non lucratif.

Grâce à cette combinaison de capteurs et de LEDs, Thymio stimule l'expérimentation et la créativité, offrant aux utilisateurs une expérience d'apprentissage interactive et amusante dans le domaine de la robotique.


L'interface de programmation du Thymio

Pour programmer le robot Thymio, il faut créer une nouvelle activité et utiliser l'interface Thymio. Cette interface se compose de différentes parties.

Cette interface est composée de 5 parties :

  1. le menu, situé en haut. Via les icônes, on accède aux paramètres ou aux fonctions d’exécution du code, mais aussi à la gestion des affichages.
  2. les catégories des blocs, à gauche, dans lesquelles sont rangés les éléments à piocher pour construire le programme. Accompagné d'une zone de construction, qui permet l’assemblage des blocs pour créer le programme.
  3. la zone de code, située au centre, qui affiche le code en langage Python
  4. le simulateur, situé à droite, qui permet de simuler les cartes, capteurs et microcontrôleur sans le matériel.
  5. la console, située en bas, qui montre le programme exécuté. Il est également possible d'interagir avec son programme dans cette console.

Les blocs “Au démarrage” et “Répéter indéfiniment” sont les éléments clés du fonctionnement de la carte. Ils sont présents dès l'ouverture de l'interface. Les instructions placées dans le bloc “Au démarrage”, seront exécutées dès l'alimentation en électricité de la carte. Alors que les instructions du programme placées dans le bloc “Répéter indéfiniment”, seront exécutées après le démarrage et ensuite en continu jusqu'à ce que la carte ne soit plus alimentée en électricité.

Envoyer le programme Python dans la carte :

le code est exécuté sur la carte dès la fin du transfert.

Télécharger le script Python :

Annuler ou rétablir :

les actions précédentes ou suivantes.


Les points forts de l'interface

Traduction du code assemblé par blocs en Python

L'interface permet de débuter avec la logique de programmation par bloc, qui élimine le risque d'erreur de syntaxe, puis de passer en douceur au code textuel en Python.

Transfert du code vers la robot en 1 clic !

Le système permet le transfert d'un programme sans aucune installation de driver ou logiciel (avec les navigateurs compatibles Chrome, Edge, Opéra, Safari ; sur Firefox le téléchargement de programme est possible via un glisser-déposer).

Simulateur

L'interface ESP32 embarque un simulateur, ce qui permet d'exécuter un programme sans avoir de matériel ! La quasi-totalité des blocs sont disponibles dans le simulateur, ce qui permet de réaliser de très nombreux projets. Découvrez la liste des blocs disponible dans l'interface.

Traceur de graphe en temps réel

L'interface permet de tracer un graphique à partir des données reçues par la carte en temps réel, puis d'exporter ces données en toute simplicité aux formats CSV ou API. Le traceur de graphe fonctionne également avec le simulateur pour encore mieux tester vos programmes avant de passer au réel !


Tutoriels

Créer un programme en bloc

Nous allons procéder à la création d'un premier programme : allumer la LED du haut.

Il faut utiliser des blocs d'instructions pour construire le programme. Chaque bloc correspond à une action que le robot va réaliser lorsque le programme va être lancé.

Pour ce premier programme, il faut utiliser le bloc “allumer la LED…” situé dans la partie “Affichage” du casier des blocs.

Différents choix s'offrent à vous pour contrôler la couleur de la LED. Vous pouvez utiliser :

Une fois que vous avez choisi votre bloc, celui-ci doit être glissé-déposé sur la zone de travail et placé dans le bloc “Au démarrage” déjà présent.


Utiliser le simulateur Thymio

Un simulateur est intégré à l'interface de programmation, il permet de visualiser le programme créé sans le copier sur robot.

Pour ouvrir le simulateur, il faut cliquer sur le bouton suivant :

Voici ci-dessous le simulateur avec un programme. Le programme créé allumé la LED du haut en vert.


Téléverser le code sur Thymio

Avant votre premier téléversement, vous devez d'abord télécharger et lancer le programme TDMLauncher. Ce petit logiciel ne nécessite aucune installation, n'a pas d'interface graphique et s'exécute en tâche de fond. Seule une petite icône indique qu'il est en fonctionnement.

Ce programme permet d'établir une communication entre votre ordinateur et le robot Thymio afin de lui transférer le code Python.

Pour ce faire, vous devez appuyer sur le bouton Télécharger .exe dans le menu déroulant du bouton Téléverser.

Le téléchargement va ensuite se lancer et vous obtiendrez deux fichiers .exe : TDMLaucher et thymio-device-manager. Vous ne devez lancer que le fichier TDMLaucher. Le second fichier, thymio-device-manager, doit impérativement se trouver dans le même dossier, mais vous n'avez pas à l'exécuter. Ainsi, il est vivement conseillé de créer un nouveau dossier et d'y ajouter ces deux fichiers.

Il se peut que le programme TDMLaucher.exe soit détecté comme malveillant selon les sécurités mises en place sur votre ordinateur. Si tel est le cas, vous devez cliquer sur Informations complémentaires puis sur le bouton Exécuter quand même.

La dernière étape de préparation consiste à insérer le dongle (fournit avec le robot) dans un port USB de votre ordinateur et d'allumer votre Thymio. Une LED rouge va se mettre à clignoter sur le dongle ET sur le robot. Si ce n'est pas le cas, essayez de redémarrer le robot ou à débrancher/rebrancher le dongle USB.

Vous êtes maintenant prêt pour envoyer du code Python sur votre Thymio !

Pour copier le programme conçu sur l'interface Vittascience sur le robot, il vous suffit d'appuyer sur le bouton Téléverser.

Note 1 : le téléchargement est à effectuer une seule fois. À l'avenir, si vous souhaitez utiliser l'interface Vittascience avec votre Thymio, vous n'aurez qu'à lancer le fichier TDMLaucher.

Note 2 : vous avez la possibilité de vérifier que la communication avec le robot a bien été établie et que le transfert du code a été réussi à l'aide des différents messages qui s'affiche dans la console de l'interface. thymioSuccessConsole