ESP32 Tutorial 20/55 - Linienverfolgungsmodul | SunFounders ESP32 IoT Lernkit
In diesem Tutorial lernen wir, wie man das ESP32-Modul zusammen mit dem Linienverfolgungsmodul verwendet, um schwarze Linien auf einer weißen Oberfläche zu erkennen. Diese Funktion ist für Anwendungen wie Roboterautos, die einem vorgegebenen Pfad folgen müssen, unerlässlich. Darüber hinaus werden wir einen Summer integrieren, der aktiviert wird, wenn das Linienverfolgungsmodul die schwarze Linie erkennt, um den Rückmeldemechanismus unseres Projekts zu verbessern. Für weitere Klarstellungen ziehen Sie bitte das Video (im Video bei 0:00) zurate.
Hardware erklärt
Die Hauptkomponenten dieses Projekts sind das ESP32-Modul, ein Linienverfolgungsmodul und ein Summer. Das ESP32-Modul ist ein leistungsstarker Mikrocontroller mit integrierten Wi-Fi- und Bluetooth-Funktionen, die eine Vielzahl von IoT-Anwendungen ermöglichen. Das Linienverfolgungsmodul nutzt einen Infrarotstrahler und einen Photoresistor, um Unterschiede in der Oberflächenfarbe basierend auf der Intensität des reflektierten Infrarotlichts zu erkennen.
Das Linienverfolgungsmodul funktioniert, indem es Infrarotlicht aussendet, das von der darunterliegenden Oberfläche reflektiert wird. Eine dunklere Oberfläche, wie Schwarz, absorbiert mehr Licht, was zu einer niedrigeren reflektierten Intensität führt, während eine hellere Oberfläche, wie Weiß, mehr Licht reflektiert und eine höhere Intensität erzeugt. Dieser Unterschied wird von einem Operationsverstärker verarbeitet, um den Zustand der Oberfläche (schwarz oder weiß) zu bestimmen und ein entsprechendes Signal auszugeben.
Technische Datenblatt Einzelheiten
| Hersteller | SunFounder |
|---|---|
| Teilenummer | TCRT5000 |
| Logik/IO-Spannung | 3,3 V bis 5 V |
| Ausgangsstrom (pro Kanal) | 20 mA |
| Spitzenstrom (pro Kanal) | 50 mA |
| Antwortzeit | < 10 ms |
| Erkennungsbereich | 1 cm bis 5 cm |
| Paket | Modul mit Header-Pins |
| Notizen / Varianten | Häufig verwendet in Linienverfolgungsrobotern |
- Stellen Sie eine ordnungsgemäße Stromversorgung sicher (3,3 V oder 5 V).
- Halten Sie den Sensor sauber für genaue Messungen.
- Die Empfindlichkeit mit dem eingebauten Potentiometer anpassen.
- Überprüfen Sie die Verbindungen, um schwimmende Eingänge zu vermeiden.
- Verwenden Sie bei Bedarf Pull-up-Widerstände für stabile Messwerte.
- Minimieren Sie Störungen durch Umgebungs-Infrarotquellen.
Verdrahtungsanweisungen

Um das Linienverfolgungsmodul mit dem ESP32 zu verbinden, beginnen Sie damit, den Masseanschluss des Moduls an einen Masseanschluss des ESP32 anzuschließen. Verbinden Sie dann den V+ Anschluss des Linienverfolgungsmoduls mit einer geeigneten Stromquelle, entweder 3,3 V oder 5 V am ESP32. Der Signalanschluss (bezeichnet alsS) sollte mit GPIO 14 auf dem ESP32 verbunden werden. Stellen Sie sicher, dass diese Verbindungen sicher sind, bevor Sie fortfahren.
Wenn Sie einen Summer verwenden, schließen Sie den negativen Anschluss an die Erde und den positiven Anschluss an GPIO 27 des ESP32 an. Dieses Setup ermöglicht es, den Summer zu aktivieren, wenn das Linienverfolgungsmodul eine schwarze Linie erkennt. Überprüfen Sie alle Verbindungen sorgfältig, um sicherzustellen, dass sie mit den im Code angegebenen Pins übereinstimmen.
Code-Beispiele & Anleitung
Unterhalb befindet sich ein wichtiger Auszug aus dem Code, der das Linienverfolgungsmodul einrichtet. Die VariablelinePinwird definiert, um den Pin zu repräsentieren, der mit dem Linienverfolgungsmodul verbunden ist.
const int linePin = 14; // The number of the line track module pinDiese Zeile initialisiertlinePinals Pin 14, der verwendet wird, um den Status der Leitung zu lesen. DielineStateDie Variable wird das Ergebnis des Sensors speichern.
In dersetup()Funktion, wir konfigurieren den Pinmodus fürlinePinals Eingabe.
void setup() {
Serial.begin(115200);
pinMode(linePin, INPUT);
}Dies stellt sicher, dass der ESP32 den Zustand des Linienverfolgungsmoduls lesen kann. Die serielle Kommunikation wird mit einer Baudrate von 115200 für die Überwachung des Outputs gestartet.
Schließlich, imloop()Wir lesen kontinuierlich den Status des Linienverfolgungsmoduls und drucken die erkannte Farbe aus.
void loop() {
lineState = digitalRead(linePin);
if (lineState == HIGH) {
Serial.println("Black");
delay(100);
} else {
Serial.println("White");
delay(100);
}
}Diese Schleife überprüft, ob dielineStateist HOCH (zeigt schwarz) oder LOW (zeigt weiß) und druckt das Ergebnis auf dem seriellen Monitor aus. Der vollständige Code wird unter dem Artikel zu Ihrer Referenz geladen.
Demonstration / Was zu erwarten ist
Sobald die Verdrahtung abgeschlossen und der Code hochgeladen ist, sollten Sie beobachten, dass das ESP32 "Schwarz" druckt, wenn das Linienverfolgungsmodul über einer schwarzen Oberfläche ist, und "Weiß", wenn es über einer weißen Oberfläche ist. Darüber hinaus wird der Summer ertönen, wenn das Modul die schwarze Linie erkennt, was einen akustischen Alarm bietet. Seien Sie vorsichtig mit den Einstellungen des Potentiometers, da überempfindliche Einstellungen zu unregelmäßigem Verhalten führen können (im Video um 10:00).
Video-Zeitstempel
- 00:00 Start
- 2:22 Einführung in das Linienverfolgungsmodul
- 5:10 Dokumentationsseite
- 9:20 Verdrahtung erklärt
- 10:49 Arduino-Code erklärt
- 13:36 ESP32-Board und COM-Port im Arduino IDE auswählen
- 15:18 Demonstration
- 18:15 Projekt: Linienverfolgung mit Summer
- 19:52 Arduino-Code für Linienverfolgung und Summer
- 20:52 Demonstration
Common Course Links
Common Course Files
Ressourcen & Referenzen
-
DokumentationESP32 Tutorial 20/55 - SunFounder-Dokumentationsseite für Linienverfolgungdocs.sunfounder.com
Dateien📁
Keine Dateien verfügbar.