Module 2 : Niveau 1, séances 4 et 5 – Capteur suivi de ligne

La LED émettrice envoie une lumière infrarouge que le sol réfléchit en direction du phototransistor qui capte ainsi la quantité de lumière en retour. voir  le Schéma de principe du fonctionnement du capteur.

 

Comme les couleurs  foncées réfléchissent moins bien la lumière que les couleurs claires, le capteur peut ainsi définir s’il se trouve au dessus d’une couleur clair (lorsqu’il reçoit beaucoup de lumière), il prend alors la valeur 1, ou s’il se trouve au dessus d’une couleur foncée (lorsqu’il reçoit peu de lumière), il prend alors la valeur 0 (zéro).

 

Notre robot possède deux capteurs de suivi de ligne à l’avant. Ils sont situés l’un à coté de l’autre, l’un a droite du centre du robot, l’autre à gauche.

 

Scratch met à disposition du programmeur une instruction qui permet de lire la valeur des deux capteurs en mer temps.

 

Il s’agit de l’instruction « état du suiveur de ligne sur port2 ».

Lorsque les deux capteurs détectent une couleur claire la valeur état suiveur est à 3.

Lorsque le capteur de droite détecte une couleur claire et le capteur de gauche détecte une couleur foncée la valeur état suiveur est à 1.

Lorsque le capteur de droite détecte une couleur foncée et le capteur de gauche détecte une couleur claire la valeur état suiveur est à 2.

Lorsque les deux capteurs détectent une couleur foncée la valeur état suiveur est à 0.

 

Exercice:

L’exercice consiste à afficher sur l’écran de l’ordinateur la valeur état du suiveur. Pour vérifier le bon fonctionnement du capteur, approcher du capteur une feuille sur laquelle il y a un gros trait noir. Que constatez vous?

 

L’exercice se traduit par:

Créer la variable EtatSuiveur

Quand la touche drapeau est pressée

Répéter indéfiniment

Mettre la variable EtatSuiveur à état du suiveur de ligne

Fin Répéter indéfiniment

 

Les instructions scratch correspondantes, à écrire dans l’onglet script (programme) sont:

 

Pour tester ce programme nous allons utiliser la connexion USB entre le robot et l’ordinateur.

  1. Connecter le cordon USB au robot et à l’ordinateur.
  2. Allumer le robot
  3. Établir la connexion informatique entre l’ordinateur et le robot, dans le menu Connecter –> par port série com

Lorsque le robot est connecté il émet des petits Bips.

Lancer alors le programme, que remarquez vous?

ATTENTION : Si le programme ne démarre pas recharger le programme par défaut du robot qui permet d’exécuter le programme a travers la connexion USB.

 

 

Pour aller plus loin, maintenant, couplez cette fonction avec la fonction avancer du robot:

Ecrire les scripts correspondants aux deux cas suivants:

  • Lorsque le robot arrive sur une ligne foncée, il s’arrête
  • Puis, lorsque le robot a franchi 3 lignes foncées, il s’arrête

Le cas 1 se traduit par:

Attendre l’appui sur la touche A de la télécommande
Créer la variable EtatSuiveur
Quand la touche drapeau est pressée

Mettre la variable EtatSuiveur à état du suiveur de ligne

Répéter jusqu’a variable EtatSuiveur est égale à 0

  Mettre la variable EtatSuiveur à état du suiveur de ligne

  Avancer
Fin Répéter tant que
Arrêter le Robot
Les instructions scratch correspondantes, à écrire dans l’onglet script (programme) sont:
Télécharger le script vers le robot:

Marche à suivre:

  • Allumer le robot (interrupteur on:off, situé au dessus de la roue arrière gauche)
  • Connecter le robot et l’ordinateur (Connecter-> par port Serie COM -> /dev: ….

  • Passer en mode arduino (Edition-> Mode Arduino), la fenêtre programme s’ouvre.

 

  • Sélectionner téléverser dans l’Arduino
  • Attentez que la fenêtre Téléversement fini

Le cas 2 se traduit par:

Créer la variable EtatSuiveur
Créer la variable NombreDeLignesFranchies
Quand la touche drapeau est pressée
Mettre la variable NombreDeLignesFranchies à 0
Répéter jusqu’a NombreDeLignesFranchies est égale 3

  Mettre la variable EtatSuiveur à état du suiveur de ligne

  Avancer

  Si variable EtatSuiveur est égale 0
    répéter jusqu’à variable EtatSuiveur est égale 3
      Mettre la variable EtatSuiveur à état du suiveur de ligne
 
    Fin Répéter jusqu’à
    NombreDeLignesFranchies = NombreDeLignesFranchies +1
  Fin Si
Fin Répéter jusqu’à
Arrêter le Robot
Les instructions scratch correspondantes, à écrire dans l’onglet script (programme) sont:
Télécharger le script vers le robot (voir la démarche à suivre ci dessus)
Question supplémentaire, comment faire pour relancer ce même traitement à chaque fois que l’on appuie sur la toute A de la télécommande?
En cliquant ici, vous aurez la page référence à cet exercice.