Raspberry Pi Pico: LED-Lichtschranke (Alarmanlage)

Eine Lichtschranke wird in der Einbruchmeldetechnik im Bereich der Fallenüberwachung in Innenräumen und auch außerhalb von Gebäuden eingesetzt. Sie kann damit ein Teil einer Alarmanlage sein.
Eine Lichtschranke besteht aus einer Lichtquelle und einem Lichtempfänger. In der Regel bilden beide eine Einheit, wobei das optische Signal von einem Spiegel reflektiert wird. Typischerweise wird mit einem periodischen Infrarot-Signal gearbeitet, was nicht sichtbar und sich schwerer manipulieren lässt.

Wir bauen uns hier eine einfache Lichtschranke, mit einer LED als Lichtquelle und einem LDR als Lichtempfänger. Für einfache Anwendungen und wenigen Zentimetern Distanz funktioniert das gut genug. Wichtig ist, dass die Bauteile sauber ausgerichtet sind.

Aufbau und Bauteile mit KY-018 - Photo Resistor Module

  • R1: Widerstand, 470 Ohm
  • LED1: Leuchtdiode, weiß
  • LDR1: KY-018

Hinweis: Wenn Du keine weiße LED hast, dann geht auch jede andere Farbe. Mit einer weißen LED funktioniert es am Besten.

Raspberry Pi Pico KY-018
Pin 38 GND -
Pin 36 3V3 / +VCC Mitte
Pin 31 ADC0 (GPIO26) S

Hinweis: Beim Verbinden des Raspberry Pi Pico mit dem Modul ist auf die Modul Beschriftung der Pins zu achten. +VCC ist nicht zwangsläufig in der Mitte.

Schnell und einfach alle Bauteile zusammen bestellen

Programmcode

Im Programmcode wird die Helligkeit mit einem Fotowiderstand gemessen. Wird das Sichtfeld zwischen LED und Fotowiderstand unterbrochen, dann wird die Schleife verlassen und „Alarm“ gemeldet.

# Bibliotheken laden
from machine import Pin, ADC
from time import sleep

# Initialisierung von GPIO25 als Ausgang
led_onboard = Pin(25, Pin.OUT, value=0)

# Initialisierung des ADC0
ldr = ADC(0)

# Schwellwert bei Unterbrechung
threshold = 5000 # weiße LED
#threshold = 10000 # rote LED

# Funktion zur Alarmkontakt-Auswertung
print('Ich bin scharfgeschaltet!')
while True:
    # ADC als Dezimalzahl lesen
    value = ldr.read_u16()
    # ADC-Wert ausgeben
    #print('ADC:', value)
    # ADC-Wert auswerten
    if value > threshold:
        break
    # Warten
    sleep(0.1)

# Alarm auslösen
led_onboard.on()
print('Alarm')

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

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

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

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.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren