• Arduino
  • Raspberry Pi
  • Raspberry Pi Pico
  • Micro:Bit

Ce module de capteur de suivi de ligne détecte si une surface réfléchissant ou absorbant la lumière se trouve devant le capteur et transmet le résultat à la sortie numérique. Cette capacité rend ce module idéal pour les systèmes de contrôle tels que ceux utilisés par les robots pour le suivi autonome de lignes. Grâce à ce capteur, les robots peuvent naviguer avec précision sur des chemins prédéfinis en suivant des lignes réfléchissantes sur le sol. La sensibilité du capteur peut être ajustée à l'aide de deux commandes afin de garantir des performances optimales dans différentes conditions d'éclairage et d'état de surface. Cela permet de disposer d'une solution fiable et adaptable pour une multitude d'applications dans le domaine de la robotique et de l'automatisation.c

État 1 : le suiveur de ligne est au-dessus d'une ligne (surface non réfléchissante) [DEL du module : éteinte] [Signal du capteur = numérique activé].

État 2 : le suiveur de ligne est en dehors d'une ligne (surface réfléchissante) [LED sur le module : allumée] [Signal du capteur = Digital Off].

Affectation des broches


Arduino Capteur
5V +V
GND GND
Pin 10 Signal

Exemple de code

Le programme lit l'état actuel de la broche du capteur et indique sur la console série si le suiveur de ligne est actuellement sur la ligne ou non.

Pour charger l'exemple de code suivant sur votre Arduino, nous vous recommandons d'utiliser l'IDE Arduino. Dans l'IDE, vous pouvez choisir le port et la carte qui conviennent à votre appareil.

Copiez le code ci-dessous dans votre IDE. Pour télécharger le code sur votre Arduino, il vous suffit de cliquer sur le bouton " Upload ".

int linetracking = 10; // Déclaration de la broche d'entrée du capteur
int value; // Variable temporelle
   
void setup () {
  pinMode(linetracking, INPUT); // Initialisation de la broche du capteur
  digitalWrite(linetracking, HIGH); // Activation de la résistance pull-up interne
  Serial.begin(9600); // Initialisation du moniteur sériel
  Serial.println("KY-033 Traçage de lignes");
}
   
void loop () {
  // Le signal de courant au niveau du capteur est lu.
  value = digitalRead(linetracking);
  // Si un signal a pu être détecté, cela s'affiche sur le moniteur sériel
  if (value == HIGH) {
    Serial.println("Ligne détectée");
    delay(200); // 200 ms de pause
  }
}

Ce module de capteur de suivi de ligne détecte si une surface réfléchissant ou absorbant la lumière se trouve devant le capteur et transmet le résultat à la sortie numérique. Cette capacité rend ce module idéal pour les systèmes de contrôle tels que ceux utilisés par les robots pour le suivi autonome de lignes. Grâce à ce capteur, les robots peuvent naviguer avec précision sur des chemins prédéfinis en suivant des lignes réfléchissantes sur le sol. La sensibilité du capteur peut être ajustée à l'aide de deux commandes afin de garantir des performances optimales dans différentes conditions d'éclairage et d'état de surface. Cela permet de disposer d'une solution fiable et adaptable pour une multitude d'applications dans le domaine de la robotique et de l'automatisation.c

État 1 : le suiveur de ligne est au-dessus d'une ligne (surface non réfléchissante) [DEL du module : éteinte] [Signal du capteur = numérique activé].

État 2 : le suiveur de ligne est en dehors d'une ligne (surface réfléchissante) [LED sur le module : allumée] [Signal du capteur = Digital Off].

Affectation des broches


Exemple de code

Raspberry Pi Capteur
3,3V [Pin 1] +V
GND [Pin 6] GND
GPIO 24 [Pin 18] Signal

Le programme lit l'état actuel de la broche du capteur et indique sur la console série si le suiveur de ligne est actuellement sur la ligne ou non.

from gpiozero import DigitalInputDevice
import time

# Initialiser la broche d'entrée à laquelle le capteur est connecté
sensor = DigitalInputDevice(24, pull_up=True)

# La pause entre la sortie du résultat est définie (en secondes).
delayTime = 0.5

print("Test du capteur [appuyez sur CTRL+C pour terminer le test]")

# Boucle du programme principal
try:
    while True:
        if sensor.is_active:  # Vrai si la broche est HAUTE (LineTracker est au-dessus de la ligne)
            print("LineTracker est en dehors de la ligne")
        else:  # Faux si la broche est BASSE (le traceur de ligne est en dehors de la ligne))
            print("Le traceur de ligne est au-dessus de la ligne")
        print("---------------------------------------")

        # Réinitialisation + délai
        time.sleep(delayTime)

# Nettoyer les lieux après la fin du programme
except KeyboardInterrupt:
    print("Le programme a été interrompu par l'utilisateur")

Ce module de capteur de suivi de ligne détecte si une surface réfléchissant ou absorbant la lumière se trouve devant le capteur et transmet le résultat à la sortie numérique. Cette capacité rend ce module idéal pour les systèmes de contrôle tels que ceux utilisés par les robots pour le suivi autonome de lignes. Grâce à ce capteur, les robots peuvent naviguer avec précision sur des chemins prédéfinis en suivant des lignes réfléchissantes sur le sol. La sensibilité du capteur peut être ajustée à l'aide de deux commandes afin de garantir des performances optimales dans différentes conditions d'éclairage et d'état de surface. Cela permet de disposer d'une solution fiable et adaptable pour une multitude d'applications dans le domaine de la robotique et de l'automatisation.c

État 1 : le suiveur de ligne est au-dessus d'une ligne (surface non réfléchissante) [DEL du module : éteinte] [Signal du capteur = numérique activé].

État 2 : le suiveur de ligne est en dehors d'une ligne (surface réfléchissante) [LED sur le module : allumée] [Signal du capteur = Digital Off].

Affectation des broches


Micro:Bit Capteur
Pin 1 Signal
3V +V
GND GND

Exemple de code

Ceci est un exemple MakeCode pour Micro:Bit qui fait essentiellement la même chose que les exemples pour les deux autres variantes. Cependant, cet exemple est plus proche de celui du Raspberry Pi que de celui de l'Arduino.

	
		pins.setPull(DigitalPin.P1, PinPullMode.PullUp)
		basic.forever(function () {
		    if (pins.digitalReadPin(DigitalPin.P1) == 1) {
		        serial.writeLine("No line")
		        basic.pause(100)
		    } else {
		        serial.writeLine("Line detected")
		        basic.pause(100)
		    }
		})
	

Téléchargement d'un exemple de programme

microbit-KY-033.zip

Ce module de capteur de suivi de ligne détecte si une surface réfléchissant ou absorbant la lumière se trouve devant le capteur et transmet le résultat à la sortie numérique. Cette capacité rend ce module idéal pour les systèmes de contrôle tels que ceux utilisés par les robots pour le suivi autonome de lignes. Grâce à ce capteur, les robots peuvent naviguer avec précision sur des chemins prédéfinis en suivant des lignes réfléchissantes sur le sol. La sensibilité du capteur peut être ajustée à l'aide de deux commandes afin de garantir des performances optimales dans différentes conditions d'éclairage et d'état de surface. Cela permet de disposer d'une solution fiable et adaptable pour une multitude d'applications dans le domaine de la robotique et de l'automatisation.c

État 1 : le suiveur de ligne est au-dessus d'une ligne (surface non réfléchissante) [DEL du module : éteinte] [Signal du capteur = numérique activé].

État 2 : le suiveur de ligne est en dehors d'une ligne (surface réfléchissante) [LED sur le module : allumée] [Signal du capteur = Digital Off].

Affectation des broches


Raspbery Pi Pico Capteur
3.3V +V
GND GND
GPIO18 Signal

Exemple de code

Le programme lit l'état actuel de la broche du capteur et le transmet à la sortie série. Ainsi, il est possible de déterminer si le suiveur de ligne est sur une ligne ou non.

Pour charger l'exemple de code suivant sur votre Pico, nous vous recommandons d'utiliser l'IDE Thonny. Il vous suffit de commencer par sélectionner Run > Configure interpreter ... > Interpreter > Which kind of interpreter should Thonny use for running your code? > MicroPython (Raspberry Pi Pico).

Copiez maintenant le code ci-dessous dans votre IDE et cliquez sur Run.

# Chargement des bibliothèques
from machine import Pin
from time import sleep

# Initialisation de GPIO18 comme entrée
sensor = Pin(18, Pin.IN, Pin.PULL_DOWN)

print("KY-033 Reconnaissance des lignes")

# Boucle continue pour une sortie série continue
while True:
    if sensor.value() == 0:
        print("Aucune ligne détectée")
    else:
        print("Ligne détectée")

    print("------------------------------------------------------")
    sleep(1)