Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Scratch 3
  3. L'extension Thymio
Extrait - Scratch 3 S'initier à la programmation et à la robotique par le jeu
Extraits du livre
Scratch 3 S'initier à la programmation et à la robotique par le jeu
2 avis
Revenir à la page d'achat du livre

L'extension Thymio

Introduction

Thymio est un robot suisse open source dédié au monde de l’éducation. Il a été développé en 2011 par l’École Polytechnique Fédérale de Lausanne. L’objectif de ce projet était de proposer un outil pour faire découvrir à des néophytes (enfants et adultes) la programmation en utilisant différents langages : Aseba Studio, Thymio VPL ou Blockly4Thymio. Très vite, ce robot est devenu un incontournable dans le monde de l’éducation en raison de sa souplesse de programmation et du spectre des langages qu’il couvre.

Scratch pour Thymio est un logiciel externe à Aseba. Il s’agit d’une extension disponible dans un premier temps sous ScratchX puis depuis mai 2019 sous Scratch 3 en version Beta. C’est cette dernière extension qui a été utilisée pour rédiger ce chapitre.

Thymio et Scratch 3

1. Présentation

Thymio est un robot blanc qui peut se déplacer dans toutes les directions. Il est composé de nombreux capteurs et de LED lui permettant d’interagir avec son environnement. Thymio est pourvu de :

  • Deux moteurs DC : il s’agit de moteurs à double courant continu. Sur chacun des moteurs est positionnée une roue.

  • Cinq boutons tactiles (dessus) pour sélectionner quatre modes préprogrammés. Ils peuvent être utilisés pour déclencher des instructions.

  • Sept capteurs infrarouges de proximité : cinq capteurs sont positionnés à l’avant et deux à l’arrière pour détecter les obstacles situés jusqu’à 10 cm environ.

  • Deux capteurs de sol : situés en dessous et dirigés vers le sol, ces deux capteurs infrarouges font office de suiveur de ligne. Thymio peut ainsi suivre un tracé en toute autonomie.

  • Un capteur fait office de récepteur pour la télécommande.

  • Un haut-parleur (sur le dessus) : de la musique peut être diffusée.

  • Un capteur de température situé sur le côté gauche.

  • Un accéléromètre trois axes pour connaître sa position, c’est-à-dire son angle d’inclinaison.

  • Quatre fixations mécaniques (sur le dessus) : situées aux quatre...

Les blocs

Quarante-trois blocs sont spécifiques à Thymio pour contrôler les deux moteurs, les capteurs ainsi que les différentes LED.

1. Les moteurs

images/22FI04.PNG

Ce bloc est pourvu d’un menu déroulant et d’une zone à valeur.

Le menu déroulant permet de spécifier le moteur concerné par ce bloc. Les moteurs peuvent tourner indépendamment l’un de l’autre (moteur gauche ou moteur droit) ou en même temps (tous).

Comme nous l’avons vu précédemment avec les Lego WeDo et Mindstorms, si seul le moteur gauche est activé, le robot tourne vers la droite. Si seul le moteur droit est activé, le robot tourne vers la gauche.

La zone à valeur sert à définir la puissance du moteur, c’est-à-dire sa vitesse.

images/22FI05.PNG

Ce bloc permet d’arrêter les moteurs. La puissance est à 0.

images/22FI06.PNG

Ce bloc permet d’allumer les deux moteurs et faire avancer Thymio de la distance spécifiée exprimée en simili mm (unité de mesure se rapprochant des millimètres). Si la valeur est positive, il avance et si elle est négative, il recule.

Exemples de déplacements

 quand la touche flèche haut est pressée

 avancer 50 // Thymio se dirige vers l’avant.

 quand la touche flèche bas est pressée

 avancer -50 // Thymio se dirige vers l’arrière.

 quand la touche espace est pressée

 stop moteurs // pour arrêter les déplacements.

images/22FI07.PNG
images/22FI08.PNG

Ce bloc utilisé pour faire avancer (valeur positive) ou reculer (valeur négative) est constitué de deux zones à valeurs :

La première, pour définir la distance à parcourir en fonction d’une valeur positive ou négative.

La deuxième, pour définir la vitesse de déplacement en simili mm/ s.

images/22FI09.PNG

Permet de faire avancer ou reculer Thymio un temps déterminé, mesuré en secondes.

images/22FI10.PNG

Permet de tourner vers la gauche en spécifiant un angle inférieur à 0, ou de tourner vers la droite en spécifiant un angle supérieur à 0.

images/22FI11.PNG

Ce bloc est utilisé pour faire tourner Thymio. La première zone de valeur est exprimée en degrés. Les valeurs inférieures à 0 permettent de tourner vers la gauche, et les valeurs supérieures...

Des déplacements autonomes

Ce programme est un exemple de déplacement autonome. Lorsque Thymio détecte un obstacle, il recule et tourne sur sa droite. D’autres instructions pourraient être définies.

 quand drapeau vert est cliqué

 répéter indéfiniment // ouverture d’une boucle de répétition. Elle contient le bloc utilisé pour faire avancer Thymio, et l’algorithme pour lui faire éviter des obstacles.

 leds fixer couleur 50 pour tout// toutes les LED présentes sur Thymio sont allumées en vert.

 avancer 50 // la valeur définie étant positive, Thymio se déplace vers l’avant. Cette valeur peut être modifiée.

 si 2000 < capteurs horizontaux alors // si la valeur mesurée par les capteurs horizontaux est supérieure à 2000, cela signifie qu’un obstacle est présent.

 leds fixer couleur 0 pour tout // toutes les LED présentes sur Thymio deviennent rouge.

Un son peut être ajouté pour alerter du danger !

 avancer -100 // la valeur étant négative Thymio recule.

 tourner 90 en 1 s // Thymio tourne ensuite vers la droite avant de continuer à avancer.

 Fermeture de la condition.

 Fermeture de la boucle de répétition.

images/22FI54.PNG

 quand la touche espace est pressée

 stop moteurs // cette...

Un suiveur de ligne

Grâce aux deux capteurs situés en dessous de Thymio, vous pouvez le faire suivre une ligne noire sur fond plan. Pour un meilleur résultat, les lignes doivent être courbes et non avec des angles droits.

Ce programme nécessite la création de deux variables utilisées pour définir la puissance des moteurs, et s’ils sont allumés ou éteints. Elles ont pour nom Moteur gauche et Moteur Droit.

Le programme est constitué de quatre conditions pour définir la position de la ligne noire et suivre son tracé.

 quand drapeau vert est cliqué

 répéter indéfiniment // ouverture d’une boucle de répétition.

Première condition de type si () sinon : si aucune ligne noire n’est présente.

 si capteur dessous 0 > 450 et capteur dessous 1 > 450 alors // si le capteur de gauche et le capteur de droite détectent du blanc cela signifie qu’il n’y a pas de ligne noire sous Thymio. Il ne roule plus.

 mettre Moteur Droit à 0 // le moteur de droite ne tourne pas.

 mettre Moteur Gauche à 0 // le moteur de gauche ne tourne pas. Thymio ne se déplace pas.

 sinon

Deuxième condition de type si () sinon : si une ligne noire est présente.

 si capteur dessous 0 < 400 et capteur dessous 1 < 400 // si le capteur de gauche et le capteur de...

Conclusion

L’extension Thymio pour Scratch est très bien pourvue en termes de blocs. De très nombreux projets peuvent être réalisés à partir de cette extension en utilisant les capacités de ce robot. De nombreuses ressources pédagogiques sont disponibles sur Internet, Thymio étant très exploité dans le monde éducatif, des challenges sont entre autres réalisés.