Raspberry Pi Pico: Unterbrechungserkennung mit Lichtschranke KY-010
Der optische Unterbrechungssensor vom Typ KY-010 funktioniert wie eine Lichtschranke. Das Funktionsprinzip ist eine Infrarot-Lichtquelle in Form einer LED, die auf einen Infrarot-Fototransistor ausgerichtet ist. Allerdings ist diese Bauform in ihren Nutzungsmöglichkeiten eingeschränkt. Um mit einer Unterbrechungserkennung zu Experimentieren, ist er jedoch sehr gut geeignet.
Dabei gibt es zwei Möglichkeiten der Auswertung:
- Unterbrechung des IR-Signals
- Herstellen der IR-Signals
Es geht um die Frage, was der Normalzustand ist. Die Unterbrechung oder die freie IR-Signalstrecke? Entsprechend wertet man die Veränderung aus.
Aufbau und Bauteile
Raspberry Pi Pico | KY-010 | |
---|---|---|
Pin 36 | 3V3 OUT | VCC |
Pin 38 | GND | - (GND) |
Pin 20 | GPIO 16 | S |
Programmcode: Unterbrechungserkennung mit Endlos-Schleife
Im folgenden Programmcode wird in einer Endlos-Schleife nach „1“ ausgewertet. In diesem Fall hat der Sensor eine Unterbrechung erkannt und die Onboard-LED leuchtet auf. Man könnte den Sensor natürlich auch nach „0“ auswerten.
Die Werte „0“ und „1“ werden kontinuierlich auf der Kommandozeile ausgeben.
# Bibliotheken laden from machine import Pin from time import sleep # Initialisierung: Onboard-LED led_onboard = Pin(25, Pin.OUT, value=0) # Initialisierung: GPIO16 als Eingang sensor_d = Pin(16, Pin.IN) # Wiederholung (Endlos-Schleife) while True: value_d = sensor_d.value() print(value_d) if value_d == 1: led_onboard.on() else: led_onboard.off() sleep(0.2)
Programmcode: Unterbrechungserkennung mit Interrupt
Im folgenden Programmcode wird statt der Endlosschleife ein Interrupt gesetzt und eine Funktion zur Behandlung eines Ereignisses verwendet. Diese Lösung macht die Auswertung des KY-010 vom weiteren Hauptprogramm unabhängig.
Das Programm liefert auf der Kommandozeile „True“ für eine Unterbrechung und „False“, wenn die Sichtverbindung wieder hergestellt ist. Parallel dazu leuchtet die Onboard-LED und geht wieder aus.
# Bibliotheken laden from machine import Pin # Initialisierung der Onboard-LED led_onboard = Pin(25, Pin.OUT, value=0) # Initialisierung von GPIO16 als Eingang sensor_d = Pin(16, Pin.IN) # Funktion: Interrupt-Behandlung def sensor_irq(pin): value_d = not led_onboard.value() print(value_d) led_onboard.value(value_d) # Interrupt-Steuerung sensor_d.irq(trigger=Pin.IRQ_FALLING|Pin.IRQ_RISING, handler=sensor_irq)
Darf es ein bisschen mehr sein?
Der nächste logische Schritt beim Experimentieren ist, einen Zähler zu bauen, der die Unterbrechungen zählt und den Zählerstand ausgibt.
Weitere verwandte Themen:
- Raspberry Pi Pico: Lichtschranke mit LED und LDR (mit KY-018)
- Raspberry Pi Pico: Unterbrechungszähler mit Lichtschranke KY-010
- Raspberry Pi Pico: Alarmkontakt (Alarmanlage)
- Raspberry Pi Pico: Alarm mit Summer signalisieren
Teilen:
Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython
Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.
- LED: Einschalten, ausschalten, blinken und Helligkeit steuern
- Taster: Entprellen und Zustände anzeigen
- LED mit Taster einschalten und ausschalten
- Ampel- und Lauflicht-Steuerung
- Elektronischer Würfel
- Eigene Steuerungen programmieren
Online-Workshop
Hardware-nahes Programmieren mit dem Raspberry Pi Pico
Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.
Für Ihre Fragen zu unseren Online-Workshops mit dem Raspberry Pi Pico besuchen Sie unseren PicoTalk (Online-Meeting). (Headset empfohlen)
Elektronik-Set Pico Edition
Raspberry Pi Pico: Hardware-nahes Programmieren mit MicroPython
Leichter Einstieg mit All-in-one-Set zum sofort Loslegen, um eigene Steuerungen programmieren.
Elektronik-Set Pico WLAN Edition
Raspberry Pi Pico W: IoT und Smart Home mit WLAN und MQTT
Betreibe Deinen Raspberry Pi Pico W als drahtloser Sensor in Deinem WLAN, versende E-Mails mit Daten und kommuniziere per MQTT im Internet of Things oder Smart Home.
Elektronik-Set Sensor Edition
Erweiterung zu den Elektronik-Sets Pico Edition und Pico WLAN Edition
Elektronik-Set mit den beliebtesten Sensoren zum Messen von Temperatur, Helligkeit, Bewegung, Lautstärke und Entfernung.
Elektronik-Set Eingabe Ausgabe Edition
Erweiterung zu den Elektronik-Sets Pico Edition und Pico WLAN Edition
Damit kannst Du MP3-Dateien abspielen, eine Stoppuhr bauen, einen Servo-Motor mit Drehschalter oder Joystick steuern, Lichteffekte mit einem WS2812-LED-Lichtstreifen erzeugen, Schalten mit einem Relais und Signalisieren mit einem Vibrationsmotor.