Arduino, Tutoriels

comment utiliser TCRT5000 capteur suiveur de ligne avec Arduino

Tcrt5000 Arduino

Description du TCRT5000

TCRT5000 est un capteur de proximité infrarouge passif (IR) qui détecte la présence d’objets en utilisant la réflexion de la lumière infrarouge. Il est composé d’un émetteur infrarouge (IR) et d’un récepteur qui sont disposés de manière à ne pas être en face l’un de l’autre, mais à un angle, de sorte que lorsqu’un objet se trouve entre eux, la lumière infrarouge émise par l’émetteur est réfléchie vers le récepteur.

Le TCRT5000 est un capteur populaire pour une variété d’applications, notamment la détection de présence, les systèmes de sécurité, les systèmes de suivi de ligne et les projets robotiques. Il est facile à utiliser avec une carte Arduino.

Module Capteur Suiveur De Ligne Maroc

Principe du fonctionnement

Le TCRT5000 est un capteur optique utilisé pour détecter la présence ou la distance d’un objet en utilisant la réflexion infrarouge. Il comprend un émetteur infrarouge et un récepteur qui sont placés face à face, de sorte qu’un objet qui se trouve entre eux réfléchit la lumière infrarouge émise par l’émetteur. Le récepteur détecte ensuite cette réflexion et envoie un signal électrique en conséquence. Plus l’objet est proche du capteur, plus la réflexion est forte et plus le signal électrique est élevé.

Les éléments nécessaires

Branchement

Tcrt5000 Arduino

Branchez le capteur TCRT5000 à la carte Arduino en reliant:

  • VCC au pin 3.3V de l’Arduino
  • GND au pin GND de l’Arduino
  • OUT au pin digital 2 de l’Arduino

Le code

const int sensorPin = 2; // pin du capteur TCRT5000

void setup() {
  pinMode(sensorPin, INPUT); // définir le pin du capteur en entrée
  Serial.begin(9600); // démarrer la communication série à 9600 bauds
}

void loop() {
  int sensorValue = digitalRead(sensorPin); // lire la valeur du capteur

  if (sensorValue == HIGH) {
    Serial.println("Objet détecté");
  } else {
    Serial.println("Aucun objet détecté");
  }
  delay(100); // attendre 100ms avant de relire le capteur
}

Téléversez le code sur votre carte Arduino et ouvrez la fenêtre de monitor série pour vérifier la valeur de sortie du capteur

Explication de code

Ce code utilise un capteur TCRT5000 connecté à la broche 2 de la carte pour détecter la présence d’un objet.

La fonction “setup()” est exécutée une seule fois au démarrage du programme. Elle définit la broche 2 de la carte comme une entrée (car c’est là où le capteur est connecté) et initialise la communication série à une vitesse de 9600 bauds.

La fonction “loop()” est exécutée en boucle pour toujours après le démarrage du programme. Elle lit la valeur du capteur connecté à la broche 2, utilise une instruction “if-else” pour vérifier si une valeur haute (HIGH) est détectée et envoie un message approprié à travers la communication série. Enfin, elle attend 100ms avant de relire la valeur du capteur.

Un robot suiveur de ligne en utilisant le TCRT5000 et l’Arduino

Les éléments nécessaires

  • Un Arduino (par exemple, l’Arduino Uno)
  • Un TCRT5000 (capteur infrarouge de suivi de ligne)
  • Deux moteurs à courant continu (pour propulser le robot)
  • Un module de commande de moteur (pour contrôler les moteurs à l’aide de l’Arduino)
  • Des roues et un châssis pour construire le robot
  • Des câbles pour connecter les composants entre eux
  • Des piles ou un alimentation externe pour alimenter l’Arduino et les moteurs

Branchement

Pour brancher le TCRT5000 à l’Arduino :

  • Connectez le pin VCC à la pin 3.3V de l’Arduino
  • GND à GND de l’Arduino
  • Les pins OUT à l’une des entrées analogiques de l’Arduino (par exemple, A0).

Pour connecter les moteurs à l’Arduino, utilisez le module de commande de moteur pour relier les fils des moteurs aux broches PWM de l’Arduino (par exemple, les broches 3 et 11).

Code :

Voici un exemple de code pour faire fonctionner le robot :

const int sensorPin = A0; // connectez le TCRT5000 à la broche A0
const int leftMotor = 3; // connectez le moteur gauche à la broche 3
const int rightMotor = 11; // connectez le moteur droit à la broche 11

void setup() {
  pinMode(leftMotor, OUTPUT);
  pinMode(rightMotor, OUTPUT);
}

void loop() {
  int sensorValue = analogRead(sensorPin);

  if (sensorValue > 500) {
    // si le capteur lit une ligne blanche
    digitalWrite(leftMotor, HIGH); // tournez le moteur gauche
    digitalWrite(rightMotor, LOW); // arrêtez le moteur droit
  } else {
    // si le capteur lit une ligne noire
    digitalWrite(leftMotor, LOW); // arrêtez le moteur gauche
    digitalWrite(rightMotor, HIGH); // tournez le moteur droit
  }
}

Ce code fait tourner les moteurs en fonction de la valeur de sortie du capteur TCRT5000. Lorsque le capteur lit une ligne blanche, le robot tourne à gauche, et lorsqu’il lit une ligne noire, il tourne à droite. Vous pouvez ajuster les seuils de détection de la ligne en modifiant les valeurs de comparaison dans le code. Il est important de noter que pour un meilleur résultat il est préférable de calibrer les seuils en fonction de votre environnement de travail.

La fonction “setup” définit les broches des moteurs comme des sorties, tandis que la fonction “loop” lit continuellement la valeur du capteur. Si la valeur du capteur est supérieure à 500, cela signifie qu’il lit une ligne blanche et le moteur gauche tourne tandis que le moteur droit s’arrête. Sinon, si la valeur du capteur est inférieure à 500, cela signifie qu’il lit une ligne noire et le moteur gauche s’arrête tandis que le moteur droit tourne.

Video descriptive

Quelque Liens outilles

La fiche technique du TCRT5000 : https://www.vishay.com/docs/83760/tcrt5000.pdf

Vidéo explicative du robot suiveur de ligne : https://www.youtube.com/watch?v=cnCjc584kF8