Tutoriel ESP32 20/55 - Module de suivi de ligne | Kit d'apprentissage IoT ESP32 de SunFounder

Tutoriel ESP32 20/55 - Module de suivi de ligne | Kit d'apprentissage IoT ESP32 de SunFounder

Dans ce tutoriel, nous allons apprendre à utiliser le module ESP32 ainsi que le module de suivi de ligne pour détecter des lignes noires sur une surface blanche. Cette capacité est essentielle pour des applications telles que les voitures robotiques qui doivent suivre un chemin désigné. De plus, nous allons intégrer un buzzer qui s'active lorsque le module de suivi de ligne détecte la ligne noire, améliorant ainsi le mécanisme de retour d'information de notre projet. Pour plus de précisions, veuillez consulter la vidéo (dans la vidéo à 0:00).

ligne_piste

Matériel expliqué

Les composants principaux de ce projet incluent le module ESP32, un module de suivi de ligne et un buzzer. Le module ESP32 est un puissant microcontrôleur disposant de capacités Wi-Fi et Bluetooth intégrées, permettant une large gamme d'applications IoT. Le module de suivi de ligne utilise un émetteur infrarouge et une photoresistance pour détecter les différences de couleur de surface en fonction de l'intensité de la lumière infrarouge réfléchie.

Le module de suivi de ligne fonctionne en émettant de la lumière infrarouge qui se reflète sur la surface en dessous. Une surface plus sombre, comme le noir, absorbe plus de lumière, ce qui entraîne une intensité réfléchie plus faible, tandis qu'une surface plus claire, comme le blanc, réfléchit plus de lumière, produisant une intensité plus élevée. Cette différence est traitée par un amplificateur opérationnel pour déterminer l'état de la surface (noir ou blanc) et émettre un signal correspondant.

Détails de la fiche technique

Fabricant SunFounder
Numéro de pièce TCRT5000
Tension logique/IO 3,3 V à 5 V
Courant de sortie (par canal) 20 mA
Courant de pointe (par canal) 50 mA
Temps de réponse < 10 ms
Plage de détection 1 cm à 5 cm
Paquet Module avec broches d'en-tête
Notes / variantes Utilisé couramment dans les robots suiveurs de ligne

  • Assurez-vous d'une alimentation adéquate (3,3 V ou 5 V).
  • Gardez le capteur propre pour des lectures précises.
  • Ajustez la sensibilité à l'aide du potentiomètre intégré.
  • Vérifiez les connexions pour éviter les entrées flottantes.
  • Utilisez des résistances de tirage si nécessaire pour des mesures stables.
  • Minimisez les interférences provenant des sources infrarouges ambiantes.

Instructions de câblage

ESP32-20_line-tracking-wiring

Pour connecter le module de suivi de ligne à l'ESP32, commencez par connecter la broche de terre du module à une broche de terre de l'ESP32. Ensuite, connectez la broche V+ du module de suivi de ligne à une source d'alimentation appropriée, soit 3,3 V soit 5 V sur l'ESP32. La broche de signal (étiquetée commeS) doit être connecté au GPIO 14 sur l'ESP32. Assurez-vous que ces connexions sont sécurisées avant de continuer.

Si vous utilisez un buzzer, connectez sa borne négative à la masse et la borne positive au GPIO 27 sur l'ESP32. Ce système permet au buzzer de s'activer lorsque le module de suivi de ligne détecte une ligne noire. Assurez-vous de vérifier toutes les connexions pour garantir qu'elles correspondent aux broches spécifiées dans le code.

ESP32-20_schéma_de_suivi_de_ligne

Exemples de code et guide étape par étape

Ci-dessous se trouve un extrait clé du code qui configure le module de suivi de ligne. La variablelinePinest défini pour représenter la broche connectée au module de suivi de ligne.

const int linePin = 14;  // The number of the line track module pin

Cette ligne initialiselinePinen tant que broche 14, qui sera utilisée pour lire l'état de la ligne. LelineStatela variable contiendra le résultat du capteur.

Dans lesetup()fonction, nous configurons le mode de broche pourlinePinen tant qu'entrée.

void setup() {
  Serial.begin(115200);  
  pinMode(linePin, INPUT);
}

Cela garantit que l'ESP32 peut lire l'état du module de suivi de ligne. La communication série est initiée à un débit de 115200 bauds pour le suivi des sorties.

Enfin, dans leloop()fonction, nous lisons en continu l'état du module de suivi de ligne et imprimons la couleur détectée.

void loop() {
  lineState = digitalRead(linePin);
  if (lineState == HIGH) {
    Serial.println("Black");
    delay(100);
  } else {
    Serial.println("White");
    delay(100);
  }
}

Cette boucle vérifie si lelineStateest ÉLEVÉ (indiquant le noir) ou FAIBLE (indiquant le blanc) et imprime le résultat sur le moniteur série. Le code complet se trouve ci-dessous l'article pour votre référence.

Démonstration / Que S'attendre

Une fois le câblage terminé et le code téléchargé, vous devriez observer l'ESP32 imprimant "Noir" lorsque le module de suivi de ligne est au-dessus d'une surface noire, et "Blanc" lorsqu'il est au-dessus d'une surface blanche. De plus, le buzzer émettra un son lorsque le module détecte la ligne noire, fournissant une alerte audible. Faites attention aux réglages du potentiomètre, car des réglages trop sensibles peuvent entraîner un comportement erratique (dans la vidéo à 10:00).

Horodatages vidéo

  • 00:00 Début
  • 2:22 Introduction au module de suivi de ligne
  • 5:10 Page de documentation
  • 9:20 Explication du câblage
  • 10:49 Code Arduino expliqué
  • 13:36 Sélection du module ESP32 et du port COM dans l'IDE Arduino
  • 15:18 Démonstration
  • 18:15 Projet : Suivi de ligne avec buzzer
  • 19:52 Code Arduino pour le suivi de ligne et le buzzer
  • 20:52 Démonstration

Images

ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-wiring
ESP32-20_line-tracking-wiring
line_track
line_track
819-ESP32 Tutorial 20/55- Arduino code line tracking
Langue: C++
Copié !

Ressources et références

Fichiers📁

Aucun fichier disponible.