Dieser Sensor benutzt infrarotes Licht, um Hindernisse zu erkennen. Trifft das ausgesendete Infrarotlicht auf ein Hindernis, so wird dieses reflektiert und von der Fotodiode detektiert. Die Entfernung, die zum Detektieren erreicht werden muss, kann mit den beiden Reglern justiert werden.

Dieses Verhalten kann man beispelsweise in Steuerungen einsetzten, wie sie z.B. bei Robotern Verwendung finden, um autonom vor einem Hindernis zu stoppen.

Zustand 1: Vor dem Detektor ist kein Hindernis [LED auf dem Modul: Aus] [Sensor Signal= Digital Ein]

Zustand 2: Detektor hat Hindernis erkannt [LED auf dem Modul: Ein] [Sensor Signal= Digital Aus]

Dieser Sensor verfügt zusätzlich über eine Enable-Leitung. Über diese Leitung kann die Detektion des Sensors aktiviert bzw. deaktiviert werden. Im Auslieferungszustand des Sensors ist die Enable-Leitung jedoch deaktiviert und der Sensor somit dauerhaft aktiv. Ist die Funktionalität der Enable-Leitung erwünscht, so muss die Steckbrücke EN (grün im Bild) entfernt werden und auf dem Enable-Pin ein entsprechendes Steuersignal angelegt werden.

Bitte beachten Sie: Der Sensor ist zusätzlich mit zwei einstellbaren Reglern ausgestattet. Über diese können sowohl die messbare Entfernung, als auch die Empfindlichkeit des Sensors justiert werden.

Pin-Belegung

Codebeispiel Arduino

Anschlussbelegung Arduino

Arduino Sensor
- Enable
5 V +V
Masse GND
Pin 10 Signal

Das Programm liest den aktuellen Status des Sensor-Pins aus und gibt in der seriellen Ausgabe aus, ob der Hindernis-Detektor sich aktuell vor einem Hindernis befindet.

int Led = 13 ;// Deklaration des LED-Ausgangspin
int Sensor = 10; // Deklaration des Sensor-Eingangspin
int val; // Temporaere Variable
   
void setup ()
{
  pinMode (Led, OUTPUT) ; // Initialisierung Ausgangspin
  pinMode (Sensor, INPUT) ; // Initialisierung Sensorpin
}
   
void loop ()
{
  val = digitalRead (Sensor) ; // Das gegenwärtige Signal am Sensor wird ausgelesen
   
  if (val == HIGH) // Falls ein Signal erkannt werden konnte, wird die LED eingeschaltet.
  {
    digitalWrite (Led, LOW);
  }
  else
  {
    digitalWrite (Led, HIGH);
  }
}

Beispielprogramm Download

KY032-Arduino.zip

Codebeispiel Raspberry Pi

Anschlussbelegung Raspberry Pi

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

Das Programm liest den aktuellen Status des Sensor-Pins aus und gibt in der seriellen Ausgabe aus, ob der Hindernis-Detektor sich aktuell vor einem Hindernis befindet.

# 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 ("Kein Hindernis")
        else:
            print ("Hindernis erkannt")
        print ("---------------------------------------")
 
        # Reset + Delay
        time.sleep(delayTime)
 
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
    GPIO.cleanup()

Beispielprogramm Download

KY032-RPi.zip

Zu starten mit dem Befehl:

sudo python3 KY032-RPi.py

Codebeispiel Micro:Bit

Anschlussbelegung Micro:Bit:

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

Beispielprogramm Download

microbit-KY-032