Matériel nécessaire :
- Tapis avec le parcours
- Thymio
- Post-it avec les code-barre
Activité :
- Thymio doit suivre une ligne noir à l’aide d’un des deux capteurs de proximité. Le long de cette ligne noire sont disposés des post-it contenant un code-barre. Quand Thymio lit ce code-barre avec l’autre capteur de proximité, il doit exécuter la danse correspondante au code-barre.
Mise en situation :
- Les élèves travaillent par équipe. L’activité est réalisée sous forme de test-erreur : on donne la consigne de ce que doit faire Thymio au début de l’activité, et on laisse les enfants imaginer et tester des programmes. Ils doivent venir faire les tests sur le(s) tapis (faire respecter un ordre de passage si nécessaire). Dès que la consigne initiale est atteinte par une équipe, on donne une variante à ce groupe pour continuer l’activité
Étapes à réaliser :
Commencer par créer un programme permettant de suivre une ligne noire avec le capteur de proximité au sol gauche. Thymio doit en réalité suivre le bord droit de la ligne en tournant à gauche s’il détecte du blanc ou à droite s’il détecte du noir. Il est important de suivre la ligne noire seulement avec le capteur gauche puisque l’autre va nous servir par la suite avec de lire les code-barre.
Quand le suivi de ligne est fonctionnel, utiliser le capteur de proximité au sol droit pour détecter quand Thymio passe sur un code barre et compter le nombre de barre de ce code-barre. Le nombre de barre devra être stocké dans une variable pour être traité par la suite. Il suffit d’incrémenter cette variable de 1 chaque fois que Thymio détecte une barre. La lecture doit durer un certains temps ou s’arrêter quand une barre n’est pas détectée dans la seconde qui suit la précédente. Il est important de faire ceci pour ne pas dépasser sur le code-barre suivant.
Une fois que la détection des code-barre sera validée, faire en sorte que pour les 4 différentes longueur de code-barre, une danse soit associée. Une danse doit être associée à une longueur de code-barre. Par exemple, si un code-barre de 3 barres est lu alors il faut lancer la danse no 3.
Correction
Voici un exemple de programme pour le suivi de ligne.
- La variable vitesse définie la vitesse de Thymio.
- La variable factor définie si Thymio tourne fort ou doucement.
- La variable Steer est calculé à partir de la valeur mesurée par le capteur de proximité et de factor. Elle permet d’ajuster la vitesse de chaque roue pour que Thymio suive la ligne
Ce programme permet de détecter le code-barre et de compter combien de barre le compose.
- La variable ActivationDetection est à 1 quand Thymio peut détecter un code-barre ou à 0 quand il la détection est désactiver ( pendant une danse ).
- La variable départ est à 1 quand on appuie sur le bouton central, elle permet de faire démarrer Thymio.
- Le premier minuteur définie pendant combien de temps Thymio doit compter combien de barre compose le code-barre.
- La partie A permet d’initialiser les variables qui seront utilisées.
- La partie B fait en sorte que le robot démarre à partir du moment où le bouton central est touché.
- La partie C dit que si les capteurs de proximités sont actualisés et que le bouton central à été touché, le programme appelle la sous-routine de suivi ligne et le robot se met à suivre la ligne.
- Les parties D,E et F font que si le bouton central a été touché et que la détection est activée alors dès qu’une barre noire sera détectée par le capteur de proximité au sol droit, le robot s’allumera en rouge pendant toute la durée de la lecture (1.5s) et émettra un BIP à chaque barre détectée. Chaque fois qu’une barre est détectée, la variable NbBarre est incrémentée. Une fois la lecture terminée au bout de 1.5s, la lumière rouge s’éteint et la détection est désactivée, la variable ChoisirDanse permettant de choisir la danse à effectuer est mise à 1 et nous pouvons utiliser la variable NbBarre pour choisir quelle danse effectuer.
Voici la partie du programme permettant de choisir la danse à effectuer. La variable ChoisirDanse est à 1 seulement quand un code-barre a été lu et est remise à 0 une fois que la danse a été effectuée. Il est important pendant la danse de mettre la variable départ à 0 afin de désactiver le suivi de ligne et la détection. Une fois la danse effectuée, il faut remettre cette variable à 1.
- Exemple de danse
Ici, départ est à 0 pour que le robot ne bouge plus. La lumière s’allume en jaune et le robot se met à tourner dans le sens horaire pendant 3s. Ensuite, la lumière s’allume en bleu et le robot se met à tourner dans le sens antihoraire pendant 3s. Pour finir, la lumière s’éteint, les variables départ et activation sont remises à 1 puis le robot repart. La variable Compo, qui est incrémentée toutes les 3 secondes avec le minuteur, permet de réaliser les différentes étapes de la danse les unes à la suite des autres.