Réaliser un Robot suiveur de ligne avec une carte Arduino UNO

Un robot suiveur de ligne est un robot qui peut  suivre une ligne noire d’une façon autonome à l’aide d’un capteur infrarouge. Il est très utilisé dans les différents applications dans  le domaine industriel .Par exemple on peut le trouver dans les stocks pour déplacer des produits qui ont un grand poids. Parmi les avantages d’un robot suiveur de ligne :

-Une bonne fiabilité mécanique.

-Un faible cout de fabrication.

-Simple pour la réalisation.

Notre objectif  dans cet article est de réaliser un robot suiveur de ligne  avec 3 capteurs d’infrarouges programmé par une carte ARDUINO UNO. Pour ce faire nous allons suivre le plan suivant :

– Le principe de fonctionnement  d’un capteur d’infrarouge.

– Technique pour suivre une ligne.

Organigramme d’un robot suiveur de ligne.

Réalisation du projet  et programmation.

Capteur d’infrarouge utilisé pour un robot suiveur de ligne 

Le capteur d’infrarouge qu’on va les utiliser dans notre projet est composé d’un émetteur (LED infrarouge) et un récepteur (phototransistor). Il peut  convertir  les ondes infrarouges en une tension proportionnelle. Ces rayons infrarouges sont  invisible par  l’œil humain parce que  la longueur d’ondes ʎ est inférieure à 800(nm) or l’être humaine peut voir un spectre entre 400nm  et 800nm.

Le capteur infrarouge utilisé dans un robot suiveur de ligne
Figure 1 : Capteur d’infrarouge.

L’intérêt d’utiliser ce capteur parce qu’il peut détecter un obstacle qui a une couleur noire. Pour comprendre bien son fonctionnement, on prend ces deux exemples :

Principe de fonctionement d'un capteur d'infrarouge
Figure 2 : Obstacle avec une couleur différent de la couleur noire.

Dans ce cas l’émetteur envoie des rayonnements d’infrarouge. Ils se réfléchissent avec la ligne ensuite le phototransistor reçoit ces rayonnements. Alors on aura une tension élevée à la sortie du capteur. C’est à dire une information égale à 1 .

Principe de fonctionement d'un capteur d'infrarouge
Figure 3 : Obstacle avec une couleur noire.

Dans ce cas l’émetteur envoie des rayonnements d’infrarouge mais Ils ne se réfléchissent pas  avec la ligne en  résultat le phototransistor ne reçoit  pas ces rayonnements. Alors on aura une tension faible  à la sortie du capteur. C’est à dire une information égale à 0.

Les caractéristiques:

Les principaux caractéristiques de ce capteur :

Pour l’émetteur : il a une tension nominale d’alimentation de 1.25V et un  courant d’alimentation de  50 Ma.

Pour le récepteur : il a une tension de sortie nominale de 5V et un courant de sortie nominal de 100uA.

Ensuite nous allons passer à la disposition des 3 capteurs pour notre robot: on va placer les trois capteurs infrarouges alignés sur une ligne perpendiculaire au sol. Le capteur du centre est sur la ligne noire et les autres sont hors de la ligne noire.

La disposition des trois capteurs d'infrarouges pour un robot suiveur de ligne.
Figure 4: La disposition des trois capteurs.

La forme du robot qu’nous allons utiliser dans notre projet est une petite voiture à 4 roues en caoutchouc et  avec un châssis en plastique. Nous allons relier chaque roue avec un moteur à courant continu.

La forme du robot suiveur de ligne
Figure 4: La forme du robot à 4 roues .

Alors nous allons choisir un petit moteur à courant continu qui a les caractéristiques suivantes :

– Tension nominale: 3 Volts/6 Volts.

– Courant: ≤ 180 Ma.

– Couple: 0,45 ± 10% Nm.

– Vitesse 330 tr/min à 4.2 V.

Pour commander les 4 moteurs, nous avons travaillé par un driver L298N, qui permet de changer le sens de rotation et la vitesse d’un moteur.

Le Driver L298N utilisé pour un robot suiveur de ligne
Figure 6 : Driver L298N et son schéma équivalent.

Son schéma équivalent est montré dans la figure 6, il est composé par 4 interrupteurs. Lorsqu’on ferme deux interrupteurs, on laisse les deux autres ouverts, donc  on aura un sens de rotation, lorsqu’on ferme les deux autres interrupteurs on aura un autre sens de rotation.

Enfin, il nous reste de fixer les trois capteurs d’infrarouges avec le robot comme montre la figure suivante :

Fixation des 3 capteurs dans le robot suiveur de ligne.
igure 6 : Fixation des 3 capteurs.

Technique d’un robot suiveur de ligne

Avant de passer pour assembler et connecter les composants avec la carte Arduino UNO, nous allons expliquer dans un premier temps comment le robot peut suivre une ligne noire à l’aide des 3 capteurs d’infrarouges .Alors, comme nous avons vu précédemment que le capteur il nous donne soit une information égale à 1 ou bien 0.A base de cet information nous allons effectuer une action. Pour clarifier l’idée nous avons réalisé l’organigramme suivant :

L’organigramme d’un robot suiveur de ligne
Figure 7 :L’organigramme d’un robot suiveur de ligne.

Premièrement, nous allons recevoir l’information  des 3 capteurs. Ensuite, nous allons  commencer à tester le type de l’information  dans chaque capteur:

G : l’information du capteur à gauche.

D : l’information du capteur à droite.

C : l’information du capteur du centre.

  • Si G=0, C=1 et D=0 : nous allons commander le robot pour marcher en avant.
Mouvement d'un robot suiveur de ligne  en fonction des informartions des capteurs d'infrarouge.
Figure 8 : Marche en avant.
  • Si G=1, C=0 et D=0 OU G=1, C=1 et D=0 : nous allons commander le robot pour tourner à gauche.
Mouvement d'un robot suiveur de ligne  en fonction des informartions des capteurs d'infrarouge.
Figure 9 : Tourner à gauche.
  • Si G=0, C=0 et D=1 OU G=0, C=1 et D=1 : nous allons commander le robot pour tourner à droite.
Mouvement d'un robot suiveur de ligne  en fonction des informartions des capteurs d'infrarouge.
Figure 9 : Tourner à droite.
  • Si G=1, C=1 et D=1: nous allons commander le robot pour s’arrêter.
Mouvement d'un robot suiveur de ligne  en fonction des informartions des capteurs d'infrarouge.
Figure 9 Le robot s’arrête.

Réalisation du projet  avec la carte Arduino UNO

Premièrement, nous allons relier toutes les composants qu’nous  a vu précédemment  avec la carte Arduino UNO.

Connexion des composants du robot suiveur de ligne avec la carte Arduino UNO.Figure 10 : Connexion des composants avec la carte Arduino UNO.

Code Arduino d’un robot suiveur de ligne

Deuxièmement, nous allons commencer la programmation de notre robot par configurer les différents ports de la carte Arduino.

La définition des variables

Code Arduino d’un robot suiveur de ligne

Dans cette partie, nous connectons les ports numériques 9, 10, 11,12 avec le driver L298N  pour commander le sens de rotation des moteurs, on a aussi les ports 5 et 6 pour varier la vitesse. Enfin, les ports analogiques  A0, A1, A2 avec les capteurs d’infrarouges.

La configuratiuon des entrées/sorties d’un robot suiveur de ligne

Code Arduino d’un robot suiveur de ligne

Après, nous passons à la fonction SETUP () ou on définit les ports que nous avons vu précédemment comme des entrées(INPUT) et des sorties (OUTPUT) sans oublier de définir la vitesse de la transmission des données Serial.bigin(9600).

Les mouvements du robot

Code Arduino d’un robot suiveur de ligne
Code Arduino d’un robot suiveur de ligne

Dans cette partie, nous avons défini les  mouvement du robot, comme D1(),D2() qui sont deux fonctions qui permet de tourner à droite avec une vitesse 200,250 .Nous trouvons aussi les deux fonctions G1(),G2() qui permet de tourner à gauche avec une vitesse de 200,250. forward() est une fonction permet de marcher en avant, off() pour arrêter le robot et reverse() pour marche arrière.

La fonction principale d’un robot suiveur de ligne

Troisièmement, nous traduisons l’organigramme de la figure 7 en utilisant des conditions pour chaque cas et nous les donnons un mouvement précis.

Dans cet article, nous avons essayé de donner une image claire sur le fonctionnement et la réalisation d’un robot suiveur de ligne en expliquant toutes ces composants nécessaires.

Lire aussi sur notre site:

Le capteur ultrason:principe de fonctionement et technologie

Capteur de pression : Principe de fonctionement et technologie

image credit:https://www.electronicshub.org/arduino-line-follower-robot/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *