Détecteur de ligne

Un capteur intéressant pour les robots «bolides» est le détecteur de ligne (intensité lumière réfléchie). Voici à quoi ressemble celui fourni dans l’ensemble de 24 capteurs que nous nous sommes procurés (cliquer pour agrandir) :

IR_senseur_ligne_cote

Suggestion : Pour suivre une ligne, deux de ces capteurs (gauche, droit) devraient faire partie de votre robot (voir cette page en anglais)

Défi : Faire allumer une DEL selon l’intensité de lumière réfléchie.

Un peu de théorie

Un détecteur de ligne envoie de la lumière (avec DEL) vers une surface, une résistance photo-dépendante (LDR) mesure la quantité de lumière réfléchie. Voir le schéma ci-dessous.

principe_detecteur_ligne2

Plus il y a de lumière réfléchie, moins la résistance photo-dépendant est grande, donc la DDP de sortie (A0) sera moindre.

Sous-défi (pour 2e cycle secondaire)

Il est possible d’analyser ce circuit et de trouver la relation entre la DDP du signal de sortie et la valeur de la résistance LDR (U=R*I, Réq = R1 + R2).

Montage

montage_detecteur_ligne

Schéma électrique

schema_detecteur_ligne2

Programmation

Nous faisons allumer ici la DEL verte pour signaler que le programme tourne. La DEL jaune allume sur une couleur pâle (A0 < 50), la DEL rouge allume sur une couleur foncée (A0 > 650). Version XML.

detecteur_ligne_v2

 

void setup()
{
  Serial.begin(9600);

  pinMode(A0, INPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
}


void loop()
{
  Serial.print("Sortie du capteur :");
  Serial.println(analogRead(A0));
  delay(1000);
  digitalWrite(5, HIGH);
  if (analogRead(A0) <= 50) {
    digitalWrite(6, HIGH);
    digitalWrite(7, LOW);

  } else if (analogRead(A0) >= 650) {
    digitalWrite(7, HIGH);
    digitalWrite(6, LOW);
  }

}

Note : Le potentiomètre sur le capteur sert à améliorer la sensibilité. À utiliser pour avoir de meilleurs résultats.

Une vidéo du petit projet :