Créez un robot suiveur de ligne autonome avec Arduino UNO
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino UNO | 1 |
| Moteurs BO (moteurs DC à engrenages) | 2 |
| Roues pour moteurs BO | 2 |
| Roue libre (caster wheel) | 1 |
| Capteurs IR (détection ligne) – module 2 capteurs | 1 |
| Driver double pont en H L293D | 1 |
| PCB (perforé ou professionnel) | 1 |
| Batterie 9V | 1 |
| Châssis (carton, acrylique, ou impression 3D) | 1 |
| Fils, interrupteur, connecteurs | 1 lot |
Applications
- Arduino IDE
À propos du projet
Robot **entièrement autonome** qui suit une **ligne noire sur fond blanc** grâce à deux capteurs IR. Projet idéal pour débutants en robotique : mécanique simple, électronique accessible, code clair.
Construction mécanique
- Découpez le châssis (acrylique 2 mm recommandé).
- Fixez les deux moteurs BO + roues de chaque côté.
- Ajoutez la roue libre à l'avant (stabilité).
- Montez l'Arduino, le L293D, la batterie, le module capteur IR à l'avant (orienté vers le sol).
Câblage électronique
Schéma de principe :
- **L293D** : Alimentation moteurs (broche 8 = Vmot, broche 16 = Vlog 5V). Entrées Arduino → broches 2,7,10,15. Sorties moteurs → broches 3,6,11,14.
- **Capteurs IR** : Sorties numériques → Arduino D13 (gauche) et D12 (droit). Sortie LOW = ligne noire détectée, HIGH = fond blanc.
- **Alimentation** : 9V sur VIN Arduino + Vmot L293D (via interrupteur). 5V Arduino → Vlog L293D + capteurs.
Deux options de montage :
- **Plaque perforée** (stripboard) – économique, à souder soi-même.
- **PCB professionnel** – plus propre, fichiers Gerber dispo sur PCBWay : lien PCBWay.
Code Arduino – Logique de suivi
// Robot suiveur de ligne – 2 capteurs IR
// Shubham Shinganapure – 05/08/2019
int lm1 = 8, lm2 = 9; // Moteur gauche
int rm1 = 10, rm2 = 11; // Moteur droit
int sl = 13; // Capteur gauche
int sr = 12; // Capteur droit
int SlV, SrV;
void setup() {
pinMode(lm1, OUTPUT); pinMode(lm2, OUTPUT);
pinMode(rm1, OUTPUT); pinMode(rm2, OUTPUT);
pinMode(sl, INPUT); pinMode(sr, INPUT);
stopMotors();
}
void loop() {
SlV = digitalRead(sl);
SrV = digitalRead(sr);
if (SrV == LOW && SlV == LOW) forward(); // Les deux sur ligne → tout droit
else if (SrV == HIGH && SlV == LOW) left(); // Droit hors ligne → tourner gauche
else if (SrV == LOW && SlV == HIGH) right(); // Gauche hors ligne → tourner droit
else if (SrV == HIGH && SlV == HIGH) stopMotors(); // Les deux hors ligne → stop
}
void forward() {
digitalWrite(lm1, HIGH); digitalWrite(lm2, LOW);
digitalWrite(rm1, HIGH); digitalWrite(rm2, LOW);
}
void backward() {
digitalWrite(lm1, LOW); digitalWrite(lm2, HIGH);
digitalWrite(rm1, LOW); digitalWrite(rm2, HIGH);
}
void left() {
digitalWrite(lm1, LOW); digitalWrite(lm2, HIGH);
digitalWrite(rm1, HIGH); digitalWrite(rm2, LOW);
}
void right() {
digitalWrite(lm1, HIGH); digitalWrite(lm2, LOW);
digitalWrite(rm1, LOW); digitalWrite(rm2, HIGH);
}
void stopMotors() {
digitalWrite(lm1, LOW); digitalWrite(lm2, LOW);
digitalWrite(rm1, LOW); digitalWrite(rm2, LOW);
}
Améliorations possibles
- Ajouter un 3e capteur pour virages serrés.
- PWM sur les enable du L293D (broches 1,9) pour contrôle de vitesse.
- Alimentation LiPo + régulateur 5V pour plus d'autonomie.
- Évitement d'obstacles (capteur ultrason) en complément.
Ressources
Chaîne YouTube de l'auteur : STROniX Technologies (tutoriels en anglais/hindi). Contact Facebook pour shields tout faits.
Processus de fabrication
- Construire un robot Raspberry Pi piloté par Bluetooth avec retour audio
- Simple Pi Robot – Construire un rover autonome 2 roues motrices avec Raspberry Pi
- Robot Évitement d'Obstacles Piloté par Servomoteur : Construction avec Arduino et HC-SR04
- Joy Robot : Robot Humanoïde Intelligent Arduino/ESP8266 pour Hôpitaux Pédiatriques
- Robot suiveur de ligne V4 — Arduino Nano, PCB custom et PID complet
- Robot commandé par la voix avec Arduino Nano et Bluetooth
- PiBot : Robot pianiste Arduino pour performance musicale de précision
- Kit de Formation Arduino Complet : Mega 2560, Capteurs, Moteurs et PCB Personnalisé
- Kit de robot de navigation intérieure intelligente pour projets Arduino