Dans cette expérience, nous allons apprendre à utiliser le module de suivi (tracking) et le module d’évitement d’obstacles.

Le capteur infrarouge d’évitement d’obstacles est conçu pour les robots à roues et permet de régler la distance de détection. Il est très adaptable aux conditions de luminosité ambiante et offre une bonne précision. Le capteur est composé d’une paire d’émetteur et de récepteur infrarouges. L’émetteur envoie un signal infrarouge à une fréquence spécifique ; lorsqu’un obstacle est présent, le signal est réfléchi vers le récepteur. Une fois le signal réfléchi détecté, une LED indicatrice s’allume et le circuit délivre un signal numérique en sortie.

La distance de détection peut être ajustée à l’aide d’un potentiomètre, avec une portée efficace comprise entre 2 et 40 cm. Le module de suivi fonctionne comme un interrupteur à réflexion infrarouge. Il est principalement utilisé pour le suivi de ligne ou la détection d’obstacles sur des robots mobiles se déplaçant au sol. 

Lorsqu’un objet est détecté devant les diodes émettrice et réceptrice infrarouges, la broche de sortie passe à l’état bas (LOW), ce qui correspond à une sortie active à l’état bas. La sensibilité du circuit peut être réglée à l’aide d’un potentiomètre. La distance de détection pour le suivi est généralement d’environ 1 cm.

Schéma du projet

Programme du projet

int Led = 13;        // définir la broche de la LED
int buttonpin = 3;  // définir la broche du bouton
int val;            // définir la variable numérique val

void setup() {
  Serial.begin(9600);          // initialiser la communication série à 9600 bauds
  pinMode(Led, OUTPUT);        // définir la LED comme une sortie
  pinMode(buttonpin, INPUT);  // définir le bouton comme une entrée
}

void loop() {

  val = digitalRead(buttonpin); // lire la valeur de la broche numérique 3 et la stocker dans val

  if (val == HIGH) {            // lorsque le bouton est appuyé
    digitalWrite(Led, HIGH);    // allumer la LED
    Serial.println("LED éteinte !");
  }
  else {
    digitalWrite(Led, LOW);     // éteindre la LED
    Serial.println("LED allumée !");
  }
}