Code de recherche

Leçon 30/31 : Suivi de ligne Car-8 par la voiture intelligente du kit Arduino SunFounder | Robojax

Leçon 30/31 : Suivi de ligne Car-8 par la voiture intelligente du kit Arduino SunFounder | Robojax

Ce guide vous accompagne dans la construction d'une voiture intelligente suiveuse de ligne en utilisant le kit Arduino 3-en-1 de SunFounder.

leçon30-suivi-de-ligne-ligne-1

Le projet, démontré dans la vidéo, utilise un module de suivi de ligne infrarouge pour détecter une ligne noire sur une surface blanche et contrôler deux moteurs pour maintenir la voiture sur la piste. Il s'agit d'un projet de robotique fondamental qui vous enseigne la lecture de capteurs, la logique conditionnelle et le contrôle des moteurs. La valeur réelle est immense : c'est la base des véhicules guidés automatisés (VGA) dans les entrepôts, des aspirateurs robots qui suivent les bords des pièces, et des plateformes éducatives pour apprendre la navigation autonome. Au-delà de la construction de base, vous pouvez utiliser ce concept pour :

  • Créer un robot simple capable de naviguer sur un chemin prédéfini dans un labyrinthe ou sur une piste.
  • Construire un chariot de livraison automatisé pour un petit bureau ou un laboratoire.
  • Développer un robot suiveur de ligne pour un projet scientifique scolaire ou une compétition.
  • Prototypage d'un système pour un tapis roulant industriel qui trie les articles en fonction de leur position.

Matériel et Composants

Le cœur de ce projet est le module de suivi de ligne, qui utilise une paire de transmetteur et récepteur infrarouge (IR). Voici une répartition des composants clés :

  • Module de Suivi de Ligne (TCRT5000) :Ce capteur émet de la lumière infrarouge et mesure l'intensité réfléchie. Le module comprend un comparateur LM393 pour convertir le signal analogique en une sortie numérique HAUTE ou BASSE.
  • Châssis de voiture intelligente avec moteurs :Le kit SunFounder comprend un châssis de voiture avec deux moteurs à réduction, qui sont contrôlés par l'Arduino pour diriger le véhicule.
  • Carte Arduino :Le "cerveau" de l'opération, lisant le capteur et envoyant des commandes aux moteurs.
  • Pilote de moteur (sur le bouclier de la voiture) :Ce circuit permet aux broches à faible consommation de l'Arduino de contrôler les moteurs à courant plus élevé.
leçon30-suivi-de-ligne-câblage

Guide de câblage

Le câblage pour le module de suivi de ligne est simple. La vidéo démontre les connexions comme suit (dans la vidéo à 04:04) :

  • Traceur de ligne VCC (broche du milieu) :Connectez-vous à l'Arduino.5Vépingle.
  • Ligne de suivi GND (broche gauche) :Connectez-vous à l'Arduino.GNDépingler.
  • Suivi de ligne SORTIE (broche droite) :Connectez-vous au numérique de l'Arduinopunaise 2.

Les moteurs sont connectés au contrôleur de moteur sur le bouclier de la voiture. Dans le code, le moteur droit est contrôlé par les broches 5 et 6, et le moteur gauche par les broches 9 et 10, comme montré dans la démonstration vidéo (dans la vidéo à 12:28).

leçon30-suivi-de-ligne-comment-ligne

Explication du code

Le code est conçu pour lire le signal numérique du suiveur de ligne et contrôler les moteurs en conséquence. Voici les principales parties configurables par l'utilisateur :

const int in1 = 5; // in1,2 for right motor
const int in2 = 6;

const int in3 = 9; // in3,4 for left motor
const int in4 = 10;

const int lineTrack = 2;
  • Broches de moteur (in1, in2, in3, in4) :Ces constantes définissent quels pins Arduino sont connectés au pilote de moteur. Si votre câblage diffère, vous devrez modifier ces valeurs pour qu'elles correspondent à votre configuration.
  • Paire de broches de suivi de ligne (lineTrack) :Cela définit la broche numérique connectée à la sortie de signal du capteur. Le code lit cette broche pour déterminer si le capteur est au-dessus d'une surface noire ou blanche.

Dans la boucle principale, vous pouvez ajuster lespeedvariable pour contrôler la vitesse de rotation de la voiture. La valeur varie de 0 à 255, où une valeur plus élevée fait tourner la voiture plus rapidement.

int speed = 150;//0 to 255

La logique est simple : si le capteur litHIGH(ligne noire), la voiture tourne à gauche ; sinon, elle tourne à droite. Les fonctions personnaliséesmoveLeft()etmoveRight()contrôler les moteurs pour y parvenir. Par exemple, pour tourner à gauche, le moteur droit tourne tandis que le moteur gauche s'arrête, pivotant la voiture. Ce comportement est expliqué en détail dans la vidéo (dans la vidéo à 10:39).

leçon30-capteur-de-suivi-de-ligne-sur-la-ligne
Positionner le traceur de ligne sur la ligne noire. Ajuster également la sensibilité.

Démonstration de projet en direct

La vidéo se termine par une démonstration en direct de la voiture suiveuse de ligne (dans la vidéo à 13:13). La voiture est placée sur une piste noire, et le capteur est positionné directement au-dessus de la ligne. À mesure que la voiture avance, le capteur détecte la ligne noire et l'arrière-plan blanc, envoyant des signaux aux moteurs pour ajuster sa direction. La démonstration montre la voiture réussissant à compléter un cercle complet, prouvant l'efficacité de la simple logique de correction gauche/droite.

Chapitres

  • [00:00] Introduction au suivi de ligne
  • [01:09] Comment fonctionne le module de suivi de ligne
  • [04:04] Câblage du module de suivi de ligne
  • [04:23] Tester le capteur avec le moniteur série
  • [07:27] Comprendre la logique de suivi de ligne
  • Code pour la voiture suiveuse de ligne
  • Démonstration de la voiture suiveuse de ligne
  • Test en direct sur un circuit noir

Images

lesson30-line-tracking-wiring
lesson30-line-tracking-wiring
lesson30-line-tracking-line-1
lesson30-line-tracking-line-1
lesson30-line-tracking-how-line
lesson30-line-tracking-how-line
lesson30-line-tracking-sensor-on-line
lesson30-line-tracking-sensor-on-line
889-Lesson 30/31: Car-8 Line Tracking by Smart Car from SunFounder Arduino Kit
Langue: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

Ressources et références

Aucune ressource pour le moment.

Fichiers📁

Aucun fichier disponible.