• Arduino
  • Raspberry Pi
  • Raspberry Pi Pico
  • Micro:Bit

Das Sensor-Modul erkennt, ob sich eine lichtreflektierende oder lichtabsorbierende Fläche vor dem Sensor befindet. Dies wird am digitalen Ausgang des Sensors ausgegeben. Dieses Verhalten kann beispielsweise in Steuerungen eingesetzt werden, wie sie bei Robotern zur autonomen Verfolgung von Linien Verwendung finden. Die Empfindlichkeit des Sensors kann zusätzlich über die beiden Regler justiert werden.

Zustand 1: Line-Tracker ist über einer Line [LED auf dem Modul: Aus] [Sensor Signal: Digital Ein]

Zustand 2: Line Tracker ist außerhalb einer Line [LED auf dem Modul: Ein] [Sensor Signal: Digital Aus]

Pin-Belegung

Codebeispiel Arduino

Anschlussbelegung Arduino

Arduino Sensor
5 V +V
GND GND
Pin 10 Signal

Das Programm liest den aktuellen Status des Sensor-Pins aus und gibt diesen in der seriellen Ausgabe aus. Somit kann ermittelt werden, ob sich der Linetracker auf einer Linie befindet oder nicht.

int Sensor = 10; // Deklaration des Sensor-Eingangspin
   
void setup ()
{
  Serial.begin(9600); // Initialisierung serielle Ausgabe
  pinMode (Sensor, INPUT) ; // Initialisierung Sensorpin
}
   
// Das Programm liest den aktuellen Status des Sensor-Pins aus und
// gibt in der seriellen Konsole aus, ob der Linetracker sich aktuell 
// auf der Linie befindet oder nicht
void loop ()
{
  bool val = digitalRead (Sensor) ; // Das gegenwärtige Signal am Sensor wird ausgelesen
   
  if (val == HIGH) // Falls ein Signal erkannt werden konnte, wird die LED eingeschaltet.
  {
    Serial.println("LineTracker ist ueber der Linie");
  }
  else
  {
    Serial.println("Linetracker ist ausserhalb der Linie");
  }
  Serial.println("------------------------------------");
  delay(500); // Pasuse zwischen der Messung von 500ms
}

Beispielprogramm Download

KY033-Arduino.zip

Das Sensor-Modul erkennt, ob sich eine lichtreflektierende oder lichtabsorbierende Fläche vor dem Sensor befindet. Dies wird am digitalen Ausgang des Sensors ausgegeben. Dieses Verhalten kann beispielsweise in Steuerungen eingesetzt werden, wie sie bei Robotern zur autonomen Verfolgung von Linien Verwendung finden. Die Empfindlichkeit des Sensors kann zusätzlich über die beiden Regler justiert werden.

Zustand 1: Line-Tracker ist über einer Line [LED auf dem Modul: Aus] [Sensor Signal: Digital Ein]

Zustand 2: Line Tracker ist außerhalb einer Line [LED auf dem Modul: Ein] [Sensor Signal: Digital Aus]

Pin-Belegung

Codebeispiel Raspberry Pi

Anschlussbelegung Raspberry Pi

Raspberry Pi Sensor
3,3 V [Pin 1] +V
GND [Pin 6] GND
GPIO 24 [Pin 18] Signal

Das Programm liest den aktuellen Status des Sensor-Pins aus und gibt diesen in der seriellen Ausgabe aus. Somit kann ermittelt werden, ob sich der Linetracker auf einer Linie befindet oder nicht.

# Benoetigte Module werden importiert und eingerichtet
import RPi.GPIO as GPIO
import time
 
GPIO.setmode(GPIO.BCM)
 
# Hier wird der Eingangs-Pin deklariert, an dem der Sensor angeschlossen ist.
GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP)
 
# Pause  zwischen der Ausgabe des Ergebnisses wird definiert (in Sekunden)
delayTime = 0.5
 
print ("Sensor-Test [druecken Sie STRG+C, um den Test zu beenden]")
 
# Hauptprogrammschleife
try:
    while True:
        if GPIO.input(GPIO_PIN) == True:
            print ("LineTracker ist ueber der Linie")
        else:
            print ("Linetracker ist ausserhalb der Linie")
        print ("---------------------------------------")
 
        # Reset + Delay
        time.sleep(delayTime)
 
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
    GPIO.cleanup()

Beispielprogramm Download

KY033-RPi.zip

Zu starten mit dem Befehl:

sudo python3 KY033-RPi.py

Das Sensor-Modul erkennt, ob sich eine lichtreflektierende oder lichtabsorbierende Fläche vor dem Sensor befindet. Dies wird am digitalen Ausgang des Sensors ausgegeben. Dieses Verhalten kann beispielsweise in Steuerungen eingesetzt werden, wie sie bei Robotern zur autonomen Verfolgung von Linien Verwendung finden. Die Empfindlichkeit des Sensors kann zusätzlich über die beiden Regler justiert werden.

Zustand 1: Line-Tracker ist über einer Line [LED auf dem Modul: Aus] [Sensor Signal: Digital Ein]

Zustand 2: Line Tracker ist außerhalb einer Line [LED auf dem Modul: Ein] [Sensor Signal: Digital Aus]

Pin-Belegung

Codebeispiel Micro:Bit

Anschlussbelegung Micro:Bit:

Micro:Bit Sensor
Pin 1 Signal
3 V +V
GND GND

Hierbei handelt es sich um ein Beispielprogramm, welches Text Seriell ausgibt, wenn am Sensor ein Signal detektiert wurde.

Beispielprogramm Download

microbit-KY-033

Das Sensor-Modul erkennt, ob sich eine lichtreflektierende oder lichtabsorbierende Fläche vor dem Sensor befindet. Dies wird am digitalen Ausgang des Sensors ausgegeben. Dieses Verhalten kann beispielsweise in Steuerungen eingesetzt werden, wie sie bei Robotern zur autonomen Verfolgung von Linien Verwendung finden. Die Empfindlichkeit des Sensors kann zusätzlich über die beiden Regler justiert werden.

Zustand 1: Line-Tracker ist über einer Line [LED auf dem Modul: Aus] [Sensor Signal: Digital Ein]

Zustand 2: Line Tracker ist außerhalb einer Line [LED auf dem Modul: Ein] [Sensor Signal: Digital Aus]

Pin-Belegung

Codebeispiel Raspbery Pi Pico

Anschlussbelegung Raspbery Pi Pico

Raspbery Pi Pico Sensor
3.3V +V
GND GND
GPIO18 Signal

Das Programm liest den aktuellen Status des Sensor-Pins aus und gibt diesen in der seriellen Ausgabe aus. Somit kann ermittelt werden, ob sich der Linetracker auf einer Linie befindet oder nicht.

# Bibliotheken laden
from machine import Pin
from time import sleep

# Initialisierung von GPIO18 als Input
sensor = Pin(18, Pin.IN, Pin.PULL_DOWN)

# Dauerschleife für kontinuierliche Serielle Ausgabe
while True:
    if sensor.value() == 0:
        print("Keine Linie vorhanden")
    else:
        print("Linie vorhanden")

    print("------------------------------------------------------")
    sleep(1)

Beispielprogramm Download

KY033-Pico.zip