KY-032 Hindernis-Detektor
Dieser Sensor benutzt infrarotes Licht, um Hindernisse zu erkennen.
- Arduino
- Raspberry Pi
- Raspberry Pi Pico
- Micro:Bit
Dieser Hindernis-Detektor verwendet infrarotes Licht, um Hindernisse zu erkennen. Wenn das ausgesendete Infrarotlicht auf ein Hindernis trifft, wird es reflektiert und von einer Fotodiode erkannt. Die Entfernung, bei der Hindernisse detektiert werden, kann mit zwei Reglern eingestellt werden. Dieses Modul ist besonders nützlich in Steuerungssystemen, wie sie beispielsweise bei Robotern verwendet werden, um autonom vor Hindernissen zu stoppen. Es ermöglicht eine zuverlässige und präzise Erkennung von Objekten, wodurch Roboter sicher navigieren und Kollisionen vermeiden können. Die einfache Anpassung der Empfindlichkeit macht den Sensor vielseitig einsetzbar für verschiedene Anwendungen, bei denen die Erkennung von Hindernissen wichtig ist.
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.
Anschlussbelegung
Arduino | Sensor |
---|---|
- | Enable |
5 V | +V |
GND | GND |
Pin 10 | Signal |
Code-Beispiel
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.
Um das folgende Codebeispiel auf Ihren Arduino zu laden, empfehlen wir die Verwendung der Arduino IDE. In der IDE können Sie den passenden Port und das richtige Board für Ihr Gerät auswählen.
Kopieren Sie den unten stehenden Code in Ihre IDE. Um den Code auf Ihren Arduino hochzuladen, klicken Sie einfach auf den Upload-Button.
int obstacle_detector = 10; // Deklaration des Sensor-Eingangspin
int value; // Temporaere Variable
void setup () {
pinMode(obstacle_detector, INPUT); // Initialisierung Sensorpin
digitalWrite(obstacle_detector, HIGH); // Aktivierung interner Pull-up-Widerstand
Serial.begin(9600); // Initialisierung des seriellen Monitors
Serial.println("KY-032 Hinderniserkennung");
}
void loop () {
// Das Stromsignal am Sensor wird ausgelesen.
value = digitalRead(obstacle_detector);
// Wenn ein Signal erkannt werden konnte, wird das auf dem seriellen Monitor angezeigt.
if (value == LOW) {
Serial.println("Hindernis erkannt");
delay(200); // 200 ms Pause
}
}
Dieser Hindernis-Detektor verwendet infrarotes Licht, um Hindernisse zu erkennen. Wenn das ausgesendete Infrarotlicht auf ein Hindernis trifft, wird es reflektiert und von einer Fotodiode erkannt. Die Entfernung, bei der Hindernisse detektiert werden, kann mit zwei Reglern eingestellt werden. Dieses Modul ist besonders nützlich in Steuerungssystemen, wie sie beispielsweise bei Robotern verwendet werden, um autonom vor Hindernissen zu stoppen. Es ermöglicht eine zuverlässige und präzise Erkennung von Objekten, wodurch Roboter sicher navigieren und Kollisionen vermeiden können. Die einfache Anpassung der Empfindlichkeit macht den Sensor vielseitig einsetzbar für verschiedene Anwendungen, bei denen die Erkennung von Hindernissen wichtig ist.
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.
Anschlussbelegung
Raspberry Pi | Sensor |
---|---|
- | Enable |
3,3 V [Pin 1] | +V |
GND [Pin 6] | GND |
GPIO 24 [Pin 18] | Signal |
Code-Beispiel
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.
# -*- coding: iso-8859-1 -*-
from gpiozero import DigitalInputDevice
import time
# Initialisiere den Eingangs-Pin, an dem der Sensor angeschlossen ist
sensor = DigitalInputDevice(24, pull_up=True) # pull_up=True aktiviert den internen Pull-Up Widerstand
# 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 sensor.value: # True, wenn der Pin HIGH ist (kein Hindernis)
print("Hindernis erkannt")
else: # False, wenn der Pin LOW ist (Hindernis erkannt)
print("Kein Hindernis")
print("---------------------------------------")
# Reset + Delay
time.sleep(delayTime)
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
print("Programm wurde durch Benutzer unterbrochen")
Dieser Hindernis-Detektor verwendet infrarotes Licht, um Hindernisse zu erkennen. Wenn das ausgesendete Infrarotlicht auf ein Hindernis trifft, wird es reflektiert und von einer Fotodiode erkannt. Die Entfernung, bei der Hindernisse detektiert werden, kann mit zwei Reglern eingestellt werden. Dieses Modul ist besonders nützlich in Steuerungssystemen, wie sie beispielsweise bei Robotern verwendet werden, um autonom vor Hindernissen zu stoppen. Es ermöglicht eine zuverlässige und präzise Erkennung von Objekten, wodurch Roboter sicher navigieren und Kollisionen vermeiden können. Die einfache Anpassung der Empfindlichkeit macht den Sensor vielseitig einsetzbar für verschiedene Anwendungen, bei denen die Erkennung von Hindernissen wichtig ist.
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.
Anschlussbelegung
Micro:Bit | Sensor |
---|---|
Pin 1 | Signal |
3 V | +V |
GND | GND |
Code-Beispiel
Hierbei handelt es sich um ein Beispielprogramm, welches Text Seriell ausgibt, wenn am Sensor ein Signal detektiert wurde.
pins.setPull(DigitalPin.P1, PinPullMode.PullUp)
basic.forever(function () {
if (pins.digitalReadPin(DigitalPin.P1) == 1) {
serial.writeLine("No obstacle")
basic.pause(100)
} else {
serial.writeLine("Obstacle detected")
basic.pause(100)
}
})
Beispielprogramm Download
Dieser Hindernis-Detektor verwendet infrarotes Licht, um Hindernisse zu erkennen. Wenn das ausgesendete Infrarotlicht auf ein Hindernis trifft, wird es reflektiert und von einer Fotodiode erkannt. Die Entfernung, bei der Hindernisse detektiert werden, kann mit zwei Reglern eingestellt werden. Dieses Modul ist besonders nützlich in Steuerungssystemen, wie sie beispielsweise bei Robotern verwendet werden, um autonom vor Hindernissen zu stoppen. Es ermöglicht eine zuverlässige und präzise Erkennung von Objekten, wodurch Roboter sicher navigieren und Kollisionen vermeiden können. Die einfache Anpassung der Empfindlichkeit macht den Sensor vielseitig einsetzbar für verschiedene Anwendungen, bei denen die Erkennung von Hindernissen wichtig ist.
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.
Anschlussbelegung
Raspberry Pi Pico | Sensor |
---|---|
- | Enable |
3.3 V | +V |
GND | GND |
GPIO18 | Signal |
Code-Beispiel
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.
Um das folgende Codebeispiel auf Ihren Pico zu laden, empfehlen wir die Verwendung von der Thonny IDE. Sie müssen nur zunächst unter Run > Configure interpreter … > Interpreter > Which kind of interpreter should Thonny use for running your code? > MicroPython (Raspberry Pi Pico) auswählen.
Kopieren Sie den untenstehenden Code nun in Ihre IDE und klicken Sie auf Run.
# Bibliotheken laden
from machine import Pin, Timer
from time import sleep
# Initialisierung von GPIO als Eingang
sensor = Pin(18, Pin.IN, Pin.PULL_DOWN)
print("KY-032 Hindernisserkennung")
# Dauerschleife für kontinuierliche Serielle Ausgabe
while True:
if sensor.value() == 0:
print("Hinderniss erkannt")
else:
print("Kein Hindernis erkannt")
print("------------------------------------------------------")
sleep(0.5)