Description
Module Suiveur de ligne 4 Voies:
Le module suiveur de ligne à 4 voies est conçu pour détecter et suivre des lignes ou des chemins à l’aide de capteurs infrarouges. Il est particulièrement utile pour les robots suiveurs de ligne et les applications d’automatisation.
Caractéristiques détaillées
- Tension de fonctionnement: 3.3V à 5V
- Courant de fonctionnement: > 1A
- Distance de détection: 1 mm à 60 cm (ajustable)
- Sortie: Signal numérique TTL (HIGH/LOW)
- Température de fonctionnement: -10°C à +50°C
- Dimensions: 42 x 38 x 12 mm (module principal), 25 x 12 x 12 mm (capteurs individuels)
- Interface de sortie: 6 fils (4 pour les signaux des capteurs, + pour l’alimentation positive, – pour la masse)
Fonctionnement
Le module utilise quatre paires émetteur-récepteur infrarouges pour détecter les lignes. Chaque capteur émet une lumière infrarouge qui est réfléchie par la surface en dessous. Les variations de réflexion causées par des lignes noires ou blanches sont captées par le récepteur et converties en signaux numériques.
Brochage:
- VCC: Connecté à l’alimentation 3.3V ou 5V de l’Arduino
- GND: Connecté à la masse (GND) de l’Arduino
- OUT1: Connecté à une entrée numérique de l’Arduino pour lire le signal du capteur 1
- OUT2: Connecté à une entrée numérique de l’Arduino pour lire le signal du capteur 2
- OUT3: Connecté à une entrée numérique de l’Arduino pour lire le signal du capteur 3
- OUT4: Connecté à une entrée numérique de l’Arduino pour lire le signal du capteur 4
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
Comment l’utiliser avec Arduino Uno
Composants nécessaires
- 1 x Module suiveur de ligne 4 voies
- 1 x Arduino Uno
- Fils de connexion
- Breadboard
Exemple de code (Sortie numérique)
int sensorPins[] = {2, 3, 4, 5}; // Broches connectées aux sorties des capteurs
int ledPin = 13; // Broche connectée à la LED intégrée
void setup() {
for (int i = 0; i < 4; i++) {
pinMode(sensorPins[i], INPUT);
}
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
for (int i = 0; i < 4; i++) {
int sensorValue = digitalRead(sensorPins[i]);
Serial.print("Capteur ");
Serial.print(i + 1);
Serial.print(": ");
Serial.println(sensorValue);
}
delay(1000);
}
Explication détaillée du code (Sortie numérique)
- Déclaration des broches des capteurs et de la LED:
- Les broches des capteurs sont stockées dans un tableau
sensorPins[]pour une manipulation facile en boucle. La broche de la LED est définie séparément.
- Les broches des capteurs sont stockées dans un tableau
- Configuration des broches dans
setup():- Une boucle
forest utilisée pour configurer toutes les broches de capteurs comme entrées. Cela permet de traiter chaque capteur de manière identique sans dupliquer le code pour chaque broche. - La broche de la LED est configurée comme une sortie.
- La communication série est initialisée à 9600 bauds pour permettre l’affichage des données sur le moniteur série.
- Une boucle
- Lecture et affichage des valeurs des capteurs dans
loop():- Une boucle
forlit les valeurs de chaque capteur à l’aide de la fonctiondigitalRead(). Si un capteur détecte une ligne (signal LOW), cela signifie qu’une ligne noire a été détectée en dessous du capteur. - Les résultats des capteurs sont affichés sur le moniteur série. Le numéro du capteur et son état (HIGH/LOW) sont imprimés pour chaque capteur.
- Un délai de 1 seconde (
delay(1000)) est utilisé pour stabiliser les lectures et éviter les fluctuations rapides.
- Une boucle
Brochage (Sortie numérique)
- VCC: Connecté à la broche 5V de l’Arduino
- GND: Connecté à la broche GND de l’Arduino
- OUT1: Connecté à la broche numérique 2 de l’Arduino
- OUT2: Connecté à la broche numérique 3 de l’Arduino
- OUT3: Connecté à la broche numérique 4 de l’Arduino
- OUT4: Connecté à la broche numérique 5 de l’Arduino
Composants nécessaires (code avancé)
- 1 x Module suiveur de ligne 4 voies
- 1 x Arduino Uno
- 1 x Écran LCD I2C 1602
- Fils de connexion
- Breadboard
Exemple de code avancé (Affichage du statut des capteurs sur un écran LCD I2C 1602)
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int sensorPins[] = {2, 3, 4, 5}; // Broches connectées aux sorties des capteurs
LiquidCrystal_I2C lcd(0x27, 16, 2); // Adresse I2C de l'écran LCD
void setup() {
for (int i = 0; i < 4; i++) {
pinMode(sensorPins[i], INPUT);
}
lcd.begin();
lcd.backlight();
Serial.begin(9600);
}
void loop() {
lcd.setCursor(0, 0);
lcd.print("S1:S2:S3:S4");
lcd.setCursor(0, 1);
for (int i = 0; i < 4; i++) {
int sensorValue = digitalRead(sensorPins[i]);
lcd.print(sensorValue);
lcd.print(" ");
Serial.print("Capteur ");
Serial.print(i + 1);
Serial.print(": ");
Serial.println(sensorValue);
}
delay(1000);
}
Explication détaillée du code (Affichage du statut des capteurs sur un écran LCD I2C 1602)
- Déclaration des broches des capteurs et initialisation de l’écran LCD:
- Les broches des capteurs sont stockées dans un tableau
sensorPins[]pour une manipulation facile en boucle. - L’objet
lcdest initialisé avec l’adresse I2C de l’écran LCD (0x27) et les dimensions de l’écran (16 colonnes et 2 lignes).
- Les broches des capteurs sont stockées dans un tableau
- Configuration des broches dans
setup():- Une boucle
forest utilisée pour configurer toutes les broches de capteurs comme entrées. Cela permet de traiter chaque capteur de manière identique sans dupliquer le code pour chaque broche. lcd.begin()initialise la communication avec l’écran LCD, etlcd.backlight()active le rétroéclairage de l’écran.- La communication série est initialisée à 9600 bauds pour permettre l’affichage des données sur le moniteur série.
- Une boucle
- Lecture et affichage des valeurs des capteurs dans
loop():lcd.setCursor(0, 0)positionne le curseur de l’écran LCD à la première colonne de la première ligne pour afficher les en-têtes des capteurs (“S1:S2:S3”).lcd.setCursor(0, 1)positionne le curseur à la première colonne de la deuxième ligne pour afficher les valeurs des capteurs.- Une boucle
forlit les valeurs de chaque capteur à l’aide de la fonctiondigitalRead(). Si un capteur détecte une ligne (signal LOW), cela signifie qu’une ligne noire a été détectée en dessous du capteur. - Les résultats des capteurs sont affichés sur l’écran LCD et sur le moniteur série. Chaque valeur de capteur est affichée en séquence suivie d’un espace pour une meilleure lisibilité.
- Un délai de 1 seconde (
delay(1000)) est utilisé pour stabiliser les lectures et éviter les fluctuations rapides.
Brochage (Sortie numérique)
- VCC: Connecté à la broche 5V de l’Arduino
- GND: Connecté à la broche GND de l’Arduino
- OUT1: Connecté à la broche numérique 2 de l’Arduino
- OUT2: Connecté à la broche numérique 3 de l’Arduino
- OUT3: Connecté à la broche numérique 4 de l’Arduino
- OUT4: Connecté à la broche numérique 5 de l’Arduino
- SDA (LCD): Connecté à la broche A4 de l’Arduino
- SCL (LCD): Connecté à la broche A5 de l’Arduino
Installation de Drivers/bibliothèques
- 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, follower, tracker, tracking, line, quad, module de suivi de ligne, capteur de ligne, détection d’obstacles, capteur infrarouge, line follower, IR sensor, obstacle detection, robotics sensor.