Description
Module Infrarouge IR Détecteur D’obstacle TCRT5000
Le module TCRT5000 est un capteur infrarouge conçu pour détecter la présence d’objets ou la variation de surface. Il intègre un phototransistor et une photodiode, offrant à la fois des sorties analogiques et numériques.
Caractéristiques détaillées
- Tension de fonctionnement: 3.3V à 5V
- Courant de fonctionnement: 60mA (diode), 100mA (transistor)
- Plage de détection: 1mm à 8mm
- Sortie: Analogique et numérique
- Température de fonctionnement: -25°C à +85°C
- Dimensions: 32 x 14 mm
Fonctionnement
Le module TCRT5000 est un capteur infrarouge conçu pour détecter la présence d’objets ou la variation de surface. Il utilise une combinaison de photodiode et de phototransistor, offrant des sorties analogiques et numériques.
Caractéristiques détaillées
- Tension de fonctionnement: 3.3V à 5V
- Courant de fonctionnement: 20mA
- Distance de détection: 1 mm à 25 mm
- Sortie: Analogique et numérique
- Température de fonctionnement: -25°C à +85°C
- Dimensions: 32 x 14 mm
Fonctionnement
Le module TCRT5000 fonctionne en émettant des ondes infrarouges à partir de la photodiode. Lorsque ces ondes rencontrent un obstacle ou une ligne, elles sont réfléchies et captées par le phototransistor. La tension de sortie varie en fonction de la distance et de la réflexion de l’objet, permettant ainsi de détecter des objets et de distinguer les variations de surface.
Brochage:
- VCC: Connecté à l’alimentation 3.3V ou 5V de l’Arduino
- GND: Connecté à la masse (GND) de l’Arduino
- D0: Sortie numérique
- A0: Sortie analogique
Applications
- Robotique: Suivi de ligne, résolution de labyrinthe
- Systèmes de sécurité: Détection de présence
- Projets de bricolage: Détection d’obstacles et de surface
- Automatisation industrielle: Contrôle de position et détection d’objets
Utilisation avec Arduino Uno
Composants nécessaires (Code de base)
- 1 x Capteur TCRT5000
- 1 x Arduino Uno
- Fils de connexion
- Breadboard
Exemple de code pour la sortie numérique (D0)
int sensorPin = 2; // Broche connectée à D0 du capteur
int ledPin = 13; // Broche connectée à la LED intégrée
void setup() {
pinMode(sensorPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
int sensorValue = digitalRead(sensorPin);
if (sensorValue == LOW) {
digitalWrite(ledPin, HIGH);
Serial.println("Obstacle détecté");
} else {
digitalWrite(ledPin, LOW);
Serial.println("Pas d'obstacle");
}
delay(1000);
}
Explication détaillée du code (Sortie numérique)
- Initialisation des pins:
sensorPinest configuré comme une entrée etledPincomme une sortie. - Lecture du capteur: Si un obstacle est détecté (signal LOW), la LED intégrée s’allume et un message est affiché sur le moniteur série.
- Boucle principale: Le capteur est lu en continu et la LED est allumée ou éteinte en fonction de la détection d’obstacles.
Brochage (Sortie numérique)
- VCC: Connecté à la broche 5V de l’Arduino
- GND: Connecté à la broche GND de l’Arduino
- D0: Connecté à la broche numérique 2 de l’Arduino
Composants nécessaires (Code avancé)
- 1 x Capteur TCRT5000
- 1 x Arduino Uno
- 1 x Écran LCD I2C 1602
- 1 x LED
- 1 x Résistance 220 ohms
- Fils de connexion
- Breadboard
Exemple de code pour la sortie analogique (A0)
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int analogPin = A0; // Broche connectée à A0 du capteur
int ledPin = 13; // Broche connectée à une LED externe
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
lcd.begin();
lcd.backlight();
pinMode(analogPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(analogPin);
lcd.setCursor(0, 0);
lcd.print("Valeur: ");
lcd.print(sensorValue);
lcd.setCursor(0, 1);
if (sensorValue < 512) { // Si la valeur est inférieure à la moitié de la plage maximale (1023/2)
digitalWrite(ledPin, HIGH);
lcd.print("Obstacle proche");
Serial.println("Obstacle détecté");
} else {
digitalWrite(ledPin, LOW);
lcd.print("Pas d'obstacle ");
Serial.println("Pas d'obstacle");
}
delay(1000);
}
Explication détaillée du code (Sortie analogique)
- Initialisation des bibliothèques:
- Le code commence par inclure les bibliothèques nécessaires pour le fonctionnement de l’écran LCD I2C :
- La bibliothèque
Wireest utilisée pour la communication I2C, tandis queLiquidCrystal_I2Cest utilisée pour contrôler l’écran LCD.
- Déclaration des broches et initialisation de l’écran LCD:
- Les broches du capteur et de la LED sont définies :
- L’objet
lcdest initialisé avec l’adresse I2C de l’écran (0x27) et les dimensions de l’écran (16 colonnes et 2 lignes).
- Configuration des broches et de la communication série:
- Dans la fonction
setup(), les broches sont configurées et l’écran LCD est initialisé : lcd.begin()initialise la communication avec l’écran LCD, etlcd.backlight()active le rétroéclairage de l’écran.pinMode(analogPin, INPUT)configureanalogPincomme entrée pour lire les signaux analogiques du capteur.pinMode(ledPin, OUTPUT)configureledPincomme sortie pour contrôler la LED.Serial.begin(9600)initialise la communication série à 9600 bauds pour l’affichage des données sur le moniteur série.
- Dans la fonction
- Lecture du capteur et affichage des résultats:
- La boucle principale
loop()lit la valeur analogique du capteur et affiche les résultats sur l’écran LCD et le moniteur série : analogRead(analogPin)lit la valeur analogique du capteur.lcd.setCursor(0, 0)positionne le curseur de l’écran LCD à la première colonne de la première ligne, puis affiche la valeur lue du capteur.lcd.setCursor(0, 1)positionne le curseur à la première colonne de la deuxième ligne pour afficher l’état de l’obstacle.- Si la valeur lue est inférieure à 512 (la moitié de la plage maximale de 1023), cela indique que l’obstacle est proche :
- La LED est allumée (
digitalWrite(ledPin, HIGH)). - Le message “Obstacle proche” est affiché sur l’écran LCD.
- Le message “Obstacle détecté” est envoyé au moniteur série.
- La LED est allumée (
- Si la valeur est supérieure ou égale à 512, cela indique qu’il n’y a pas d’obstacle proche :
- La LED est éteinte (
digitalWrite(ledPin, LOW)). - Le message “Pas d’obstacle” est affiché sur l’écran LCD.
- Le message “Pas d’obstacle” est envoyé au moniteur série.
- La LED est éteinte (
delay(1000)introduit un délai de 1 seconde entre chaque lecture pour stabiliser les mesures et éviter les fluctuations rapides.
- La boucle principale
Ce code permet d’utiliser la sortie analogique du capteur TCRT5000 pour détecter des obstacles et afficher les résultats sur un écran LCD, tout en allumant une LED lorsque l’obstacle est à proximité. Les résultats sont également affichés sur le moniteur série pour une surveillance facile.
Installation de Drivers/bibliothèques (Codes de base et avancé)
- Bibliothèque LiquidCrystal_I2C:
- Ouvrez l’IDE Arduino.
- Allez dans le menu Sketch > Include Library > Manage Libraries.
- Recherchez “LiquidCrystal_I2C” et installez la bibliothèque développée par Frank de Brabander.
Mots clés: sensor, obstacle, infrared, évitement. capteur de suivi de ligne, capteur de surface, détection de proximité, capteur à réflectance, line follower, proximity sensor, adjustable sensor, IR sensor.