KY-033 Module suiveur de ligne
Le module capteur détecte si une surface réfléchissant ou absorbant la lumière se trouve devant le capteur.
- Arduino
- Raspberry Pi
- Raspberry Pi Pico
- Micro:Bit

Le module capteur détecte si une surface réfléchissant ou absorbant la lumière se trouve devant le capteur. Ce qui est actuellement le cas, le module sort sur sa sortie numérique, comme il est montré dans les images ci-dessous. La sensibilité (distance minimale résultante) du capteur peut être réglée ici avec le contrôleur.
Ce comportement peut être utilisé dans les systèmes de contrôle, comme ils le sont par exemple dans les robots, afin de suivre une ligne de manière autonome.
É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 Arduino
Affectation des broches Arduino
Arduino | Capteur |
---|---|
5V | +V |
GND | GND |
Pin 10 | 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.
int Sensor = 10; // Déclaration de la broche d'entrée du capteur
void setup ()
{
Serial.begin(9600); // Sortie série à 9600 bauds
pinMode (Sensor, INPUT) ; // Initialisation de la broche d'entrée du capteur
}
// Le programme lit l'état des broches du capteur et envoie <br />//l'information de suivi (ou non) d'une ligne dans la console.
void loop ()
{
bool val = digitalRead (Sensor) ; // Lecture de la valeur du signal
if (val == HIGH) // Si un signal est détecté, la diode s'allume
{
Serial.println("Le suiveur de ligne se trouve sur une ligne");
}
else
{
Serial.println("Le suiveur de ligne ne se trouve pas sur une ligne");
}
Serial.println("------------------------------------");
delay(500); // pause de 500ms entre les mesures
}
Télécharger l'exemple de programme

Le module capteur détecte si une surface réfléchissant ou absorbant la lumière se trouve devant le capteur. Ce qui est actuellement le cas, le module sort sur sa sortie numérique, comme il est montré dans les images ci-dessous. La sensibilité (distance minimale résultante) du capteur peut être réglée ici avec le contrôleur.
Ce comportement peut être utilisé dans les systèmes de contrôle, comme ils le sont par exemple dans les robots, afin de suivre une ligne de manière autonome.
É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
Affectation des broches Raspberry Pi
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.
#!/usr/bin/python
# coding=utf-8
# Les modules nécessaires sont importés et mis en place
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
# La broche d'entrée du capteur est déclarée.
GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP)
# Pause avant l'envoi du résultat (en secondes)
delayTime = 0.5
print("Sensor-Test [Appuyez sur Ctrl + C pour terminer le test]")
# Boucle de programme principale
try:
while True:
if GPIO.input(GPIO_PIN) == True:
print("Le suiveur se trouve sur une ligne")
else:
print("Le suiveur ne se trouve pas sur une ligne")
print("---------------------------------------")
# Reset + Delay
time.sleep(delayTime)
# réinitialisation de tous les GPIO en entrées
except KeyboardInterrupt:
GPIO.cleanup()
Exemple de téléchargement de programme
Pour commencer avec la commande :
sudo python3 KY033-RPi.py

Le module capteur détecte si une surface réfléchissant ou absorbant la lumière se trouve devant le capteur. Ce qui est actuellement le cas, le module sort sur sa sortie numérique, comme il est montré dans les images ci-dessous. La sensibilité (distance minimale résultante) du capteur peut être réglée ici avec le contrôleur.
Ce comportement peut être utilisé dans les systèmes de contrôle, comme ils le sont par exemple dans les robots, afin de suivre une ligne de manière autonome.
É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 Micro:Bit
Affectation des broches Micro:Bit :
Micro:Bit | Capteur |
---|---|
Pin 1 | Signal |
3V | +V |
GND | GND |
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.

Téléchargement d'un exemple de programme

Le module capteur détecte si une surface réfléchissant ou absorbant la lumière se trouve devant le capteur. Ce qui est actuellement le cas, le module sort sur sa sortie numérique, comme il est montré dans les images ci-dessous. La sensibilité (distance minimale résultante) du capteur peut être réglée ici avec le contrôleur.
Ce comportement peut être utilisé dans les systèmes de contrôle, comme ils le sont par exemple dans les robots, afin de suivre une ligne de manière autonome.
É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 Raspbery Pi Pico
Affectation des broches Raspbery Pi Pico
Raspbery Pi Pico | Capteur |
---|---|
3.3V | +V |
GND | GND |
GPIO18 | Signal |
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.
# 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)
# Boucle continue pour une sortie série continue
while True:
if sensor.value() == 0:
print("Pas de ligne présente")
else:
print("Ligne présente")
print("------------------------------------------------------")
sleep(1)