5.4 Linie erkennen

Das Linienverfolgungsmodul wird verwendet, um das Vorhandensein von schwarzen Flächen auf dem Boden zu erkennen, wie beispielsweise schwarze Linien, die mit Isolierband geklebt wurden.

Sein Sender sendet geeignetes Infrarotlicht auf den Boden, das von schwarzen Oberflächen relativ absorbiert und schwach reflektiert wird. Das Gegenteil ist der Fall bei weißen Oberflächen. Wenn reflektiertes Licht erkannt wird, wird der Boden derzeit als weiß angezeigt. Wenn es nicht erkannt wird, wird es als schwarz angezeigt.

Benötigte Komponenten

Für dieses Projekt benötigen wir die folgenden Komponenten.

Es ist definitiv praktisch, ein komplettes Set zu kaufen, hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

ESP32 Starter Kit

320+

ESP32 Starter Kit

Sie können diese auch einzeln über die untenstehenden Links kaufen.

KOMPONENTENBESCHREIBUNG

KAUF-LINK

ESP32 WROOM 32E

BUY

ESP32-Kameraerweiterung

-

Überbrückungsdrähte

BUY

Linienverfolgungsmodul

BUY

Verfügbare Pins

  • Verfügbare Pins

    Hier ist eine Liste der verfügbaren Pins auf dem ESP32-Board für dieses Projekt.

    Verfügbare Pins

    IO13, IO14, IO27, IO26, IO25, IO33, I35, I34, I39, I36, IO4, IO18, IO19, IO21, IO22, IO23

  • Strapping Pins (Eingang)

    Strapping Pins sind eine spezielle Gruppe von Pins, die verwendet werden, um bestimmte Boot-Modi während des Startvorgangs des Geräts (d.h., beim Einschalten) festzulegen.

    Strapping Pins

    IO5, IO0, IO2, IO12, IO15

    Generell wird nicht empfohlen, sie als Eingangspins zu verwenden. Wenn Sie diese Pins verwenden möchten, bedenken Sie die möglichen Auswirkungen auf den Bootvorgang. Für weitere Details siehe den Abschnitt Strapping-Pins.

Schaltplan

../../_images/circuit_5.4_line.png

Wenn das Linienverfolgungsmodul eine schwarze Linie erkennt, gibt IO14 ein hohes Signal zurück. Wenn es jedoch eine weiße Linie erkennt, gibt IO14 ein niedriges Signal zurück. Sie können das blaue Potentiometer anpassen, um die Empfindlichkeit der Erkennung dieses Moduls zu modifizieren.

Verdrahtung

../../_images/5.4_line_bb.png

Code

Bemerkung

  • Öffnen Sie die Datei 5.4_detect_the_line.py, die sich im Pfad esp32-starter-kit-main\micropython\codes befindet, oder kopieren und fügen Sie den Code in Thonny ein. Klicken Sie dann auf „Aktuelles Skript ausführen“ oder drücken Sie F5, um es auszuführen.

  • Stellen Sie sicher, dass Sie den Interpreter „MicroPython (ESP32).COMxx“ in der unteren rechten Ecke ausgewählt haben.

import machine
import time

# Create a pin object named greyscale, set pin number 14 as input
line = machine.Pin(14, machine.Pin.IN)


while True:
    # Check if the value is 1 (black)
    if line.value() == 1:
        # Print "black"
        print("black")
        time.sleep(0.5)
    # If the value is not 1 (it's 0, which means white)
    else :
        # Print "white"
        print("white")
        time.sleep(0.5)

Wenn das Linienverfolgungsmodul erkennt, dass eine schwarze Linie vorhanden ist, erscheint „schwarz“ in der Shell; andernfalls wird „weiß“ angezeigt.