Le capteur suiveur de ligne
Objectifs
- Comprendre le principe de fonctionnement d'un capteur suiveur de ligne (infrarouge).
- Savoir comment ce capteur est intégré et connecté au mBot.
- Être capable d'écrire un programme simple en blocs (mBlock) pour faire suivre une ligne noire au mBot.
Introduction
Imaginez un robot capable de suivre une ligne toute seule, comme les véhicules autonomes ou les robots dans les usines. Aujourd'hui, nous allons découvrir le secret derrière cette capacité : le capteur suiveur de ligne. Nous allons comprendre comment il fonctionne et comment le programmer sur notre robot mBot.
Comment un robot comme le mBot peut-il détecter et suivre automatiquement une ligne tracée au sol ?
Le principe de détection : la réflexion de la lumière
Le capteur suiveur de ligne du mBot fonctionne sur un principe optique simple utilisant la lumière infrarouge (IR). Il est composé de deux éléments principaux par 'œil' : une LED infrarouge qui émet un rayon lumineux invisible pour nous, et un phototransistor qui détecte la lumière réfléchie. Le principe clé est la différence de réflexion selon la couleur de la surface. Sur une surface claire (comme une feuille blanche), la majeure partie de la lumière infrarouge est réfléchie vers le capteur. Le phototransistor la détecte et envoie un signal 'haut' (valeur numérique 1 ou analogique élevée). Sur une surface sombre (comme une ligne noire tracée au feutre), la lumière est beaucoup plus absorbée. Très peu de lumière est réfléchie, le phototransistor ne détecte presque rien et envoie un signal 'bas' (valeur numérique 0 ou analogique faible). C'est cette différence de signal qui permet au robot de 'voir' la ligne. Le mBot Ranger et certains modèles ont deux capteurs (gauche et droit) côte à côte, ce qui permet une détection plus précise pour savoir si le robot est centré, dévié à gauche ou à droite.
Points clés
- Le capteur émet de la lumière infrarouge (invisible) et mesure ce qui est réfléchi.
- Une surface claire réfléchit beaucoup de lumière (signal HAUT).
- Une surface sombre absorbe la lumière (signal BAS).
L'intégration sur le mBot et la connexion électronique
Sur le mBot standard, le capteur suiveur de ligne est un module séparé qui se branche sur la carte mCore. Il est généralement connecté sur l'un des ports numériques étiquetés (par exemple, le port 2 ou 3). Ce module contient les deux paires LED/phototransistor dont nous avons parlé. La carte mCore fournit l'alimentation électrique (5V et la masse GND) au module et reçoit en retour les signaux de mesure. Dans l'environnement de programmation mBlock (basé sur Scratch), nous accédons à ces signaux via des blocs spécifiques de la catégorie 'Robots' > 'mBot'. Le bloc le plus courant est 'valeur du capteur de ligne [port] [gauche/droit]'. Ce bloc renvoie une valeur numérique, souvent 0 (noir/détecté) ou 1 (blanc/non détecté), selon la configuration. Il est crucial de bien calibrer le capteur pour la surface utilisée. Parfois, la lumière ambiante (comme le soleil) peut contenir des infrarouges et perturber la mesure. C'est pourquoi le capteur est souvent placé près du sol et parfois protégé par un cache pour éviter les interférences.
Points clés
- Le module se branche sur un port numérique de la carte mCore.
- La programmation se fait via des blocs dédiés dans mBlock qui lisent l'état (0 ou 1) de chaque 'œil'.
- La calibration et la protection contre la lumière ambiante sont importantes pour un fonctionnement fiable.
La logique de programmation pour le suivi
Pour que le robot suive une ligne noire sur fond blanc, il faut programmer une boucle infinie (répéter indéfiniment) qui interroge en permanence l'état des deux capteurs et qui commande les moteurs en conséquence. C'est un algorithme de décision simple. Prenons l'exemple d'une ligne noire à suivre avec un capteur à deux 'yeux'. Si les deux capteurs voient du blanc, le robot est complètement sorti de la ligne : il doit peut-être tourner pour la retrouver (logique plus avancée). Si seul le capteur de gauche détecte le noir (valeur 0), cela signifie que la ligne est sous le capteur gauche : le robot doit donc tourner à GAUCHE (en ralentissant ou arrêtant la roue gauche) pour recentrer la ligne. Inversement, si seul le capteur de droit détecte le noir, le robot doit tourner à DROITE. Si les deux capteurs détectent le noir, le robot est parfaitement centré sur la ligne : il doit donc avancer TOUT DROIT en faisant tourner les deux moteurs à la même vitesse. Cette logique de base (si...sinon si...sinon) est au cœur de la programmation du suivi de ligne et peut être affinée pour des virages plus serrés ou des trajectoires plus complexes.
Points clés
- L'algorithme repose sur une boucle infinie et des conditions (si/alors).
- L'état des capteurs (gauche/droit) détermine l'action sur les moteurs (avancer, tourner).
- Le but est de maintenir la ligne noire entre les deux capteurs.
Applications pratiques et défis
Maintenant, passons à la pratique ! Votre mission sera de programmer votre mBot pour qu'il suive un parcours en forme de circuit fermé tracé au ruban adhésif noir sur un fond blanc. Vous devrez d'abord brancher correctement le module, puis écrire le programme en blocs dans mBlock en utilisant la logique expliquée. Un défi classique est de réussir un virage en épingle à cheveux : il faudra peut-être ajuster les vitesses de rotation des moteurs dans vos blocs de commande. Une autre application concrète est la simulation d'un système de transport automatique dans une usine, où le robot suivrait une piste prédéfinie pour déplacer des objets. Vous pouvez aussi imaginer un robot nettoyeur qui suit le bord d'une pièce (une ligne sombre contre le mur). En testant votre programme, observez ce qui se passe si la ligne est trop fine ou si l'éclairage change : vous constaterez les limites du capteur et l'importance d'un circuit bien contrasté.
Points clés
- Programmation d'un circuit de suivi de ligne avec mBlock.
- Défi : négocier des virages serrés en ajustant le programme.
- Liens avec des applications réelles : véhicules autonomes guidés, robots industriels.
À retenir
Le capteur suiveur de ligne est un capteur infrarouge qui distingue le noir du blanc en mesurant la quantité de lumière réfléchie. Branché sur la carte mBot, il fournit des informations (0 ou 1) utilisées dans un programme. Ce programme, basé sur une boucle et des conditions, commande les moteurs pour que le robot reste centré sur la ligne noire.
- Le capteur fonctionne par réflexion de la lumière IR (noir=absorbé, blanc=réfléchi).
- La programmation repose sur une boucle qui lit les capteurs et pilote les moteurs en conséquence.
- Ce principe est à la base de nombreux systèmes de guidage automatique simples.
