Dans ce tutoriel nous allons voir comment marche un suiveur de ligne quelles capteurs utiliser et comment le réaliser.
Sommaire
Un Suiveur de ligne c’est quoi ?
Un robot suiveur de ligne est un robot qui a pour but de suivre une ligne (comme son nom l’indique), ce type de robot est utilisé dans les industries et sur les véhicules sans chauffeur qui doivent suivre un chemin bien défini.
Comment marche un suiveur de ligne ?
Le robot suit une ligne noir sur un arrière plan blanc tracé au sol qui représente le chemin a suivre, et pour faire cela le robot a besoin de deux capteurs infrarouges qui distingues la ligne noir de l’arrière plan blanc, Tant que les deux capteurs ne détectent pas la ligne, le robot avance (situation 0). Lorsqu’un des deux capteurs détecte la ligne, le robot doit tourner dans la direction de ce dernier pour se mettre au milieu de la ligne (situation 1 et 2).
Matériel pour fabriquer un robot suiveur de ligne Arduino
On branche les deux moteurs et l’alimentation au shield moteur. Pour l’alimentation j’ai mis en série 2 supports de 4 piles chacun ce qui me fait 8 Piles AA en série
On branche le module infrarouge avec le shield Moteur
***************************************
*Module Infrarouge | Shield Arduino *
* VCC | 3.3V *
* Gnd | Gnd *
* In1 | Pin 4 *
* In2 | Pin 5 *
***************************************
On branche les deux capteurs infrarouges avec le module infrarouge :
On monte le tout dans le châssis
Code du suiveur de ligne Arduino
Il faut savoir que quand le capteur détecte la ligne il va envoyer 1 et quand il ne la détecte pas il enverra 0 :
int IN1 = 4; //Pin pour Le Capteur Gauche
int IN4 = 5; //Pin pour Le Capteur Droite
int GA=12,GB=3,DA=13,DB=11; //Pin pour Deux moteurs (GA et GB pour le moteur Gauche, DA et DB pour le moteur de droite)
void setup()
{
Serial.begin(9550);
pinMode(IN1,INPUT);
pinMode(IN4,INPUT);
pinMode(DA,OUTPUT);
pinMode(DB,OUTPUT);
pinMode(GA,OUTPUT);
pinMode(GB,OUTPUT);
}
//on Crée Les Fonctions
void d() //Fonction qui permet au robot de tourner a droite
{
digitalWrite(DA,LOW);
analogWrite(DB,55);
analogWrite(GA,55);
digitalWrite(GB,LOW);
}
void g() //Fonction qui permet au robot de tourner a gauche
{
analogWrite(DA,55);
digitalWrite(DB,LOW);
digitalWrite(GA,LOW);
analogWrite(GB,55);
}
void av() //Fonction qui permet au robot de continuer tout droit
{
digitalWrite(DA,LOW);
analogWrite(DB,55);
digitalWrite(GA,LOW);
analogWrite(GB,55);
}
void loop()
{
int in1_val = digitalRead(IN1);
int in4_val = digitalRead(IN4);
if ((in1_val) && ( ! in4_val)) //S'il y a du noir à gauche et du blanc à droite, tourner à gauche
{
Serial.println("Tourner à gauche");
g();
}
else if (( ! in1_val) && (in4_val)) //S'il y a du blanc à gauche et du noir à droite, tourner à droite
{
Serial.println("Tourner à droite");
d();
}
else //Si les conditions plus haut ne s'appliquent pas, continuer tout droit
{
Serial.println("Continuer tout droit");
av();
}
}
Arduino est une plate-forme électronique open source qui combine à la fois des logiciels et du matériel open source pour permettre aux gens de réaliser facilement des projets interactifs. Vous pouvez obtenir des ordinateurs monocarte ...
L’électronique demeure une branche technique réservée à quelques génies. L’avènement des cartes programmables rend cependant cette discipline beaucoup plus attractive depuis quelques années. Elle attire désormais plus de bricoleurs désireux de réaliser eux-mêmes de petits ...
Le L293D est l’un des composants les plus utilisés pour tout amateur d’électronique, le but de ce composant. ARCELI Mini L293D pour Carte d'extension de Lecteur de Moteur Arduino Module de Lecteur de Moteur Mini ...
Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web. Si vous continuez à utiliser ce site, nous supposerons que vous en êtes satisfait.Ok