Ce tutoriel fait partie de: Kit voiture intelligente SunFounder Raspberry Pi Pico Pico 4WD
Les fichiers relatifs à ce groupe seront affichés ensemble. Vous trouverez des liens vers d'autres vidéos plus bas.
Leçon 7 sur 10 : Suivi de ligne, détection de falaise Calibrer le capteur de niveaux de gris Voiture Raspberry Pi Pico
Dans cette septième leçon du cours sur la voiture intelligente Raspberry Pi Pico, nous explorons les fonctions cruciales du suivi de ligne et de la détection de falaise à l'aide d'un module de capteur de niveaux de gris. Ce module agit comme les « yeux » de votre voiture, lui permettant de suivre un chemin prédéfini de manière autonome et d'éviter les chutes dangereuses. Le projet démontre comment calibrer le capteur pour des lectures précises et implémenter une logique qui maintient la voiture sur la bonne voie, avec une fonction amusante « Ne me poussez pas » qui simule la détection de falaise. Ce guide est parfait pour quiconque souhaite aller au-delà de la télécommande de base et plonger dans le monde de la robotique guidée par capteurs.
Cette technologie a de nombreuses applications pratiques au-delà d'un simple projet DIY amusant. Les principes que vous apprendrez ici sont fondamentaux pour construire des systèmes autonomes réels. Voici quelques idées pour vous inspirer :
- Robots de livraison automatisés : Construisez un petit robot capable de naviguer dans un entrepôt ou un bureau en suivant des lignes marquées pour livrer des articles.
- Résolveur de labyrinthe de table : Créez un robot capable de naviguer dans un labyrinthe complexe dessiné avec du ruban adhésif électrique noir.
- Robot de sécurité et de sûreté : Implémentez un robot de patrouille qui suit un chemin défini et utilise la détection de falaise pour éviter de tomber dans les escaliers ou de surfaces surélevées.
- Plateforme éducative : Utilisez la voiture pour enseigner les fondamentaux du contrôle PID, de la fusion de capteurs et de la navigation autonome.
Matériel et composants
Ce projet s'appuie sur le kit de voiture 4WD SunFounder Raspberry Pi Pico. Le composant clé de cette leçon est le module de capteur de niveaux de gris, essentiel à la fois pour le suivi de ligne et la détection de falaise. Le module dispose de trois capteurs indépendants qui mesurent la quantité de lumière réfléchie par la surface en dessous. Ces données sont utilisées pour distinguer une ligne noire, une surface blanche et une « falaise » ou un espace ouvert. Le kit complet comprend également le châssis de la voiture Pico, les moteurs et un bloc de batteries pour alimenter le système.
Guide de câblage
Un câblage correct est la première étape pour faire fonctionner votre capteur. Le module de niveaux de gris se connecte au Raspberry Pi Pico à l'aide de quatre fils. Le câblage est simple et est démontré clairement dans la vidéo.
Voici la configuration de câblage telle que montrée dans la vidéo (dans la vidéo à 03:01) :
- Fil noir : Connectez-le à une broche GND du Pico.
- Fil rouge : Connectez-le à la broche 3.3V du Pico.
- Fil jaune (capteur droit) : Connectez-le à la broche GPIO 28.
- Fil marron (capteur central) : Connectez-le à la broche GPIO 27.
- Fil blanc/gris (capteur gauche) : Connectez-le à la broche GPIO 26.
Calibrage du capteur de niveaux de gris
Avant que la voiture puisse suivre une ligne de manière fiable, vous devez calibrer le capteur pour comprendre les différentes lectures pour le blanc, le noir et l'espace vide. C'est une étape critique pour garantir que votre voiture prend les bonnes décisions. La sensibilité du capteur peut être ajustée avec un petit potentiomètre sur le module.
La vidéo démontre le processus de calibrage (dans la vidéo à 04:39). Le capteur doit être positionné à une hauteur optimale au-dessus du sol—environ 11 millimètres ou un centimètre—pour obtenir des lectures claires. En ajustant le potentiomètre et en observant les valeurs, vous pouvez trouver le point idéal. L'objectif est d'avoir une différence significative entre les lectures pour une surface blanche (qui réfléchit beaucoup de lumière) et une ligne noire (qui réfléchit très peu).
Voici un résumé de ce que signifient les lectures :
- Surface blanche : Réflexion élevée, entraînant des valeurs de capteur élevées (par exemple, autour de 20 000).
- Ligne noire : Faible réflexion, entraînant des valeurs de capteur faibles (par exemple, autour de 3 000).
- Falaise (espace creux) : Aucune réflexion, entraînant les valeurs de capteur les plus basses (par exemple, autour de 1 200).
Explication du code
Comme aucun code n'a été fourni pour cette leçon, nous nous concentrerons sur la logique conceptuelle et les fonctions clés de la bibliothèque Robojax utilisées pour faire fonctionner la voiture. La vidéo explique les deux fonctions principales que vous utiliserez de la bibliothèque fournie.
Test du capteur
La première étape consiste à tester votre capteur avec un script simple. Ce script utilise une fonction appelée get_grayscale_value() pour lire les valeurs brutes des trois capteurs. Il imprime ces valeurs sur le moniteur série afin que vous puissiez voir comment elles changent lorsque le capteur est au-dessus de différentes surfaces. Cela est utile pour vérifier votre câblage et effectuer l'étape de calibrage.
# Ceci est un exemple conceptuel de la fonction de test
from machine import Pin, ADC
import time
# Définir les broches ADC pour les capteurs de niveaux de gris
grayscale_pins = [26, 27, 28]
sensors = [ADC(Pin(pin)) for pin in grayscale_pins]
while True:
# Lire les valeurs brutes 16 bits des capteurs
values = [sensor.read_u16() for sensor in sensors]
print("Gauche : {} Centre : {} Droite : {}".format(values[0], values[1], values[2]))
time.sleep_ms(100)
Logique de suivi de ligne
Pour le suivi de ligne, le code n'utilise pas les valeurs analogiques brutes. Au lieu de cela, il les convertit en un statut numérique simple : 1 si le capteur est au-dessus de la ligne noire, et 0 s'il est au-dessus de la surface blanche. Cela est géré par une fonction qui renvoie une liste de trois valeurs (par exemple, [0, 1, 0]). La boucle de contrôle principale utilise ensuite cette liste pour déterminer les actions de la voiture.
La logique repose sur la comparaison de l'état du capteur à des conditions prédéfinies. Par exemple, si l'état est [0, 1, 0], la voiture est parfaitement sur la ligne et doit avancer. Si l'état est [1, 0, 0], la voiture a dérivé vers la gauche et doit corriger sa trajectoire vers la droite. La vidéo explique ces conditions en détail (dans la vidéo à 13:05), montrant comment différentes combinaisons de lectures du capteur correspondent à différentes commandes moteur, comme tourner à gauche, tourner à droite, ou effectuer une correction brusque.
# Ceci est un exemple conceptuel de la logique de suivi de ligne
# Supposons que 'status' soit une liste comme [0, 1, 0] provenant du capteur en niveaux de gris
if status == [0, 1, 0]: # Capteur central sur la ligne
# Avancer
pass
elif status == [1, 0, 0]: # Capteur gauche sur la ligne
# Tourner à droite
pass
elif status == [0, 0, 1]: # Capteur droit sur la ligne
# Tourner à gauche
pass
# ... autres conditions pour des virages plus brusques
Démonstration du projet en direct
Dans la démonstration de la vidéo, la voiture est placée sur une piste imprimée avec une épaisse ligne noire. La voiture suit la ligne avec succès, effectuant des virages et des corrections tout en se déplaçant le long du parcours. La vidéo met en évidence un problème courant où les roues peuvent se desserrer lors de virages brusques, et montre une solution simple consistant à ajouter un petit morceau de ruban adhésif sur l'axe de la roue pour un ajustement plus serré. Une fois ce problème résolu, la voiture parcourt toute la piste en douceur, démontrant l'efficacité de l'étalonnage et de la logique de suivi de ligne.
Chapitres de la vidéo
- [00:00] Introduction au suivi de ligne et à la détection de falaise
- [03:01] Câblage du module de capteur en niveaux de gris
- [04:39] Étalonnage du capteur en niveaux de gris
- [13:05] Compréhension de la logique de suivi de ligne
- [19:43] Test du code de suivi de ligne
- [24:50] Démonstration en direct sur une piste d'essai
Ce tutoriel fait partie de: Kit voiture intelligente SunFounder Raspberry Pi Pico Pico 4WD
- Cours Leçon 1 sur 10 : Kit de voiture intelligente 4WD Raspberry Pi Pico de SunFounder par Robojax
- Cours Leçon 2 sur 10 : Python de base pour piloter le kit de voiture intelligente 4WD Raspberry Pi Pico
- Cours Leçon 3 sur 10 : Assemblage du kit de voiture intelligente 4WD Raspberry Pi Pico de SunFounder par Robojax
- Cours Leçon 4 sur 10 : Carte d'extension Raspberry Pi Pico pour kit de voiture intelligente 4WD
- Cours Leçon 5 sur 10 : Contrôle de la LED RGB WS2812B à l'aide du Raspberry Pi Pico
- Cours Leçon 6 sur 10 : Contrôle des moteurs à courant continu à l'aide du kit de voiture intelligente 4WD Raspberry Pi Pico
- Cours Leçon 8 sur 10 : Voiture intelligente Raspberry Pi Pico – Leçon 8 : Servomoteur et suivi d'objet
- Cours Leçon 9 sur 10 : Évitement d'obstacles avec la voiture intelligente 4WD Raspberry Pi Pico
- Cours Leçon 10 sur 10 : Contrôle du kit de voiture intelligente 4WD Raspberry Pi Pico avec application mobile
Common Course Links
- Purchase SunFounder Pico 4WD Smart Car Kit from AliExpress
- Purchase SunFounder Pico 4WD Smart Car Kit from eBay
- Amazon Canada: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon France: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Germany: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Italy: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Japan: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Spain: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon UK: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon USA: Purchase Pico 4WD Smart Car Kit buy SunFounder
- Purchase Pico 4WD Smart Car Kit from SunFounder.com
- SunFounder Pico-4wd Car Kit Documentation
- Video Play List of 10 lesson on SunFounder Pico 4WD Smart Car Kit
Ressources et références
Aucune ressource pour le moment.
Fichiers📁
Aucun fichier disponible.