Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Arduino
  3. Projet 5
Extrait - Arduino S'exercer au prototypage électronique (10 projets créatifs à réaliser soi-même)
Extraits du livre
Arduino S'exercer au prototypage électronique (10 projets créatifs à réaliser soi-même)
1 avis
Revenir à la page d'achat du livre

Projet 5 - Robot suiveur de ligne

Présentation

Images/07AR06.png

Ce projet consiste à réaliser un robot autonome capable de suivre une ligne tracée au sol à l’aide d’un marqueur.

En utilisant un châssis préexistant, il s’agira ici de se concentrer sur l’analyse des signaux des capteurs, l’alimentation des moteurs avec un double pont en H et la programmation du mouvement.

Ceci sera l’occasion de comprendre comment utiliser une matrice de capteurs à l’aide d’une bibliothèque et de développer une bibliothèque dédiée à la commande d’un double pont en H pour piloter les moteurs.

La réalisation finale constituera un vrai robot capable de se déplacer de manière autonome. Il pourra même servir à d’autres expérimentations de programmation de robot.

1. Principe de fonctionnement

Le châssis du robot, acheté ou fabriqué, est équipé de deux moteurs à courant continu entraînant chacun une roue. À l’avant, une roulette permet d’assurer la stabilité de l’ensemble et une grande liberté de rotation. C’est la différence de vitesse de rotation entre les deux moteurs qui provoque le changement de direction.

La direction est déterminée par les informations provenant d’une matrice de trois capteurs de réflexion optique positionnés...

Matériel et outillage

Le matériel nécessaire représente un budget d’environ 75 euros qui peut être réduit par la construction du châssis du robot.

1. Matériel

  • Une Arduino UNO.

  • Une petite plaque de prototypage.

  • Un châssis de robot à deux roues motrices.

  • Une carte de commande pour deux moteurs CC en double pont en H à base de DRV8825 ou L293 (par exemple, un shield).

  • Un boîtier de piles 9 V et une pile.

  • Une matrice de trois capteurs de réflexion infrarouge.

images/01AR01.png

Arduino UNO

Images/07AR05.png

Châssis de robot bimoteur : https://www.gotronic.fr/art-chassis-magic-dg007-17268.htm

Images/07AR16.png

Matrice de capteurs de réflexion infrarouge : https://www.pololu.com/product/2457

Images/07AR15.png

Shield de pilotage moteur à base de L293 : https://www.dfrobot.com/wiki/index.php/Arduino_Motor_Shield_(L293)_(SKU:_DRI0001)

2. Outillage

Pour réaliser ce projet, il sera nécessaire d’utiliser un ordinateur pour programmer l’Arduino, des pinces et des tournevis pour réaliser l’assemblage du châssis avec les composants.

Montage

Une fois le châssis construit ou monté, le montage électronique se passe en deux temps : l’alimentation des moteurs, puis l’assemblage des capteurs.

1. Châssis

Si vous avez choisi d’acheter un châssis tout fait, il vous suffit de suivre les instructions de montage livrées avec.

Sinon, fabriquez un châssis d’environ 15 cm de large, doté de deux moteurs à courant continu (voire de motoréducteurs pour avoir plus de plage de dosage et de couple) reliés à des roues. La troisième roue peut être remplacée par une roulette, une bille ou même une tête de vis ronde (sur des sols pas trop fragiles).

Vous pouvez vous inspirer de divers projets open source, par exemple : http://fablabo.net/wiki/Plateforme_robot_eco

Images/07AR05.png

Châssis de robot (montré à l’envers)

Une fois le châssis monté, il s’agit de s’atteler au câblage.

Images/07AR08.png

Câblage global du robot

2. Contrôleur moteur

Les deux moteurs à courant continu, reliés à chacune des roues, servent au déplacement du robot et à son changement de direction, en imprimant des vitesses d’entraînement différentes à chacune d’entre elles.

Chacun des moteurs a besoin d’une certaine puissance électrique pour tourner. Comme l’Arduino est incapable de fournir une puissance électrique significative, il faut alimenter les moteurs via des transistors qui se chargent de commuter l’alimentation dite "de puissance", qui est ici d’une tension supérieure aux 5 V de l’Arduino, puisque...

Programmation

La programmation du robot suiveur de ligne se passe en trois étapes : lire les informations fournies par la matrice de capteurs optiques, gérer les moteurs (et créer une bibliothèque), puis assembler ces deux modules pour que le robot puisse se déplacer en fonction des informations optiques qu’il perçoit.

1. Capteurs de réflexion

Le but de la programmation des capteurs est d’obtenir l’information de la position du robot par rapport à une ligne sombre tracée sur le sol : est-il à gauche, dessus ou à droite de la ligne ?

Pour chaque capteur, une session de mesure est une suite relativement complexe d’actions qu’il est fastidieux de programmer. Heureusement, le fournisseur de la matrice de capteurs (Pololu) a publié une bibliothèque dédiée, qui réalise toutes les mesures à la fois et est même capable de produire des données synthétiques de l’ensemble.

 Pour installer cette librairie, dans le programme Arduino choisissez Croquis - Inclure une bibliothèque - Gérer les bibliothèques.

images/03AR05.png

Gestionnaire de bibliothèque

Le gestionnaire de bibliothèque affiche toutes les bibliothèques disponibles en ligne.

 Saisissez QTRSensors dans le champ de recherche pour trouver la librairie en question, puis cliquez sur le bouton Installer.

images/07AR12.png

Installation de la bibliothèque QTRSensors

Une fois la librairie installée, vous pouvez la mettre en œuvre pour visualiser les informations produites par la matrice de capteurs de réflexion.

Les déclarations préalables commencent par un appel de la bibliothèque QTRSensors.

Puis le numéro de la borne servant d’émetteur (c’est-à-dire celle reliée à l’alimentation de la matrice de capteurs) est défini, ainsi que le nombre de capteurs présents sur le module (car il en existe de différentes tailles).

Le paramètre TIMEOUT correspond au temps maximum d’attente pour la réponse de chacun des capteurs. Selon le principe de fonctionnement d’un capteur, plus la surface réfléchissant la lumière émise est sombre, et plus le capteur met du temps à répondre. Il ne répond même pas du tout si, par exemple...

Pour aller plus loin

1. Améliorations possibles

Ce robot suiveur de ligne est déjà bien amusant, mais c’est aussi une véritable plate-forme de développement, au sens propre comme au figuré. En effet, sans rien changer au matériel et en utilisant le robot tel quel, vous pouvez en faire d’autres choses. Il suffit de modifier sa programmation.

Jeu d’évasion

Au lieu de tracer une simple ligne au sol, tracez un labyrinthe, dont les parois sont matérialisées par des lignes.

L’idée est de programmer le robot pour qu’il arrive à sortir du labyrinthe le plus rapidement possible. Si vous arrivez à réaliser un algorithme performant, vous pouvez concourir aux trophées de robotique que propose souvent cette discipline.

Robot artiste

Ce robot est capable de voir où se trouve une ligne, et aussi de se déplacer. Et si vous l’équipiez d’un marqueur qui lui permette aussi de dessiner une ligne ?

Possibilité à explorer à la lumière de la théorie de nœuds : https://fr.wikipedia.org/wiki/Théorie_des_nœuds

Robot cartographe

Au lieu de contraindre les mouvements du robot sur une ligne, l’idée est d’enfermer le robot dans un territoire délimité par une ligne, puis de le programmer pour qu’il cherche et mémorise la position de cette...