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.
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é.
-
Afficheur LCD 1602 avec I2C50,00 DH
-
Capteur suiveur de ligne TCRT500025,00 DH
-
Arduino Uno R3 avec câble USB120,00 DH
Les éléments nécessaires
- Arduino Uno
- TCRT5000
- Cable USB
- Des fils
Branchement
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