Raspberry Pi - LDR-Modul

Das LDR-Lichtsensormodul kann herausfinden, wie viel Licht in seiner Umgebung vorhanden ist. Es hat zwei Ausgänge: einen digitalen Ausgang, der entweder niedrig oder hoch sein kann, und einen analogen Ausgang.

Diese Anleitung zeigt Ihnen, wie Sie einen Raspberry Pi und ein LDR-Lichtsensormodul verwenden, um die Lichtmenge in einem Bereich zu bestimmen. Wir werden die folgenden Schritte behandeln:

LDR Light Sensor Module
image source: diyables.io

Später können Sie den Code ändern, um eine LED oder eine Glühbirne (mit einem Relais) einzuschalten, wenn Licht erkannt wird.

Wenn Sie einen Lichtsensor in seiner ursprünglichen Form bevorzugen, empfehle ich Ihnen, die Anleitung über den Raspberry Pi - Light Sensor zu erkunden.

Erforderliche Hardware

1×Raspberry Pi 5
1×LDR-Lichtsensormodul
1×Jumper Wires (Steckbrückenkabel)
1×(Empfohlen) Schraubklemmenblock-Shield für Raspberry Pi
1×(Empfohlen) Raspberry Pi Prototyping-Grundplatte & Breadboard-Kit
1×(Empfohlen) HDMI-Touchscreen-Monitor für Raspberry Pi

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über das LDR-Lichtsensormodul

Das LDR-Lichtsensormodul kann verwendet werden, um herauszufinden, ob Licht vorhanden ist oder um zu messen, wie viel Licht in der Umgebung vorhanden ist. Es hat zwei Optionen: einen digitalen Ausgangspin und einen analogen Ausgangspin.

Pinout

Das LDR-Lichtsensormodul hat vier Pins mit verschiedenen Funktionen:

  • VCC Pin: Verbinden Sie ihn mit einer Spannungsquelle (zwischen 3,3V bis 5V).
  • GND Pin: Verbinden Sie ihn mit der Masse (0V).
  • DO Pin: Dies ist ein digitaler Ausgangspin. Er wird HIGH, wenn es dunkel ist, und LOW, wenn es hell ist. Sie können die Schwelle zwischen Dunkelheit und Helligkeit mit einem eingebauten Potentiometer einstellen.
  • AO Pin: Dies ist ein analoger Ausgangspin. Der Ausgangswert nimmt ab, wenn das Licht heller wird, und nimmt zu, wenn das Licht dunkler wird.
LDR Light Sensor Module Pinout
image source: diyables.io

Zusätzlich hat das LDR-Lichtsensormodul zwei LED-Anzeigen:

  • Die PWR-LED-Anzeige zeigt den Stromversorgungsstatus an.
  • Die DO-LED-Anzeige zeigt den Lichtzustand am DO Pin an. Sie leuchtet, wenn Licht vorhanden ist, und erlischt, wenn es dunkel ist.

Funktionsweise

Bezüglich des DO Pins:

  • Das LDR-Lichtsensormodul hat ein eingebautes Potentiometer, mit dem Sie die Empfindlichkeit oder Schwelle für die Lichterkennung einstellen können.
  • Wenn die Umgebungslichtintensität höher als die eingestellte Schwelle ist (als hell betrachtet), wird der Ausgangspin des Sensors auf LOW gesetzt und die DO-LED-Anzeige schaltet sich ein.
  • Wenn die Umgebungslichtintensität niedriger als die eingestellte Schwelle ist (als dunkel betrachtet), wird der Ausgangspin des Sensors auf HIGH gesetzt und die DO-LED-Anzeige schaltet sich aus.

Bezüglich des AO Pins:

  • Der vom AO Pin gelesene Wert nimmt ab, wenn die Umgebungslichtintensität zunimmt (als hell betrachtet).
  • Der vom AO Pin gelesene Wert nimmt zu, wenn die Umgebungslichtintensität abnimmt (als dunkel betrachtet).

Es ist wichtig zu beachten, dass die Einstellung des Potentiometers den vom AO Pin gelesenen Wert nicht beeinflusst.

Schaltplan

Da das Lichtsensormodul zwei Ausgänge hat, können Sie je nach Bedarf einen oder beide verwenden.

  • Der Schaltplan zwischen Raspberry Pi und dem LDR-Lichtsensormodul.
Raspberry Pi LDR Light Sensor Module wiring diagram

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:

Raspberry Pi Schraubklemmenblock-Shield

BEACHTEN SIE:

  • Der Raspberry Pi verfügt über keine eingebauten analogen Eingangspins, daher kann der AO Pin unverbunden bleiben. Um analoge Werte vom Modul zu lesen, ist ein externes ADC-Modul erforderlich. Weitere Informationen finden Sie unter How to use Raspberry Pi with ADC module

Raspberry Pi Code - Wert vom DO Pin lesen

Schnelle Schritte

  • Stellen Sie sicher, dass Sie Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem auf Ihrem Pi installiert haben.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit dem gleichen lokalen Netzwerk wie Ihr PC verbunden ist.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, falls Sie einige Bibliotheken installieren müssen.
  • Wenn Sie den Raspberry Pi zum ersten Mal verwenden, siehe how to set up the Raspberry Pi
  • Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi, indem Sie den eingebauten SSH-Client unter Linux und macOS oder PuTTY unter Windows verwenden. Siehe how connect your PC to Raspberry Pi via SSH.
  • Stellen Sie sicher, dass Sie die RPi.GPIO Bibliothek installiert haben. Falls nicht, installieren Sie sie mit dem folgenden Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Erstellen Sie eine Python-Skriptdatei ldr_module.py und fügen Sie den folgenden Code hinzu:
# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. # Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: # https://newbiely.de/tutorials/raspberry-pi/raspberry-pi-ldr-module import RPi.GPIO as GPIO from time import sleep # Set the Raspberry Pi GPIO pin number connected to the DO pin of the ldr light sensor module DO_PIN = 7 # Set the GPIO mode and configure the ldr light sensor module pin as INPUT GPIO.setmode(GPIO.BCM) GPIO.setup(DO_PIN, GPIO.IN) try: while True: # Read the current state of the ldr light sensor module light_state = GPIO.input(DO_PIN) # Print whether the light is present or not if light_state == GPIO.LOW: print("The light is present!") else: print("The light is NOT present!") # Add a small delay to prevent continuous readings sleep(0.1) except KeyboardInterrupt: # Clean up GPIO settings when Ctrl+C is pressed GPIO.cleanup() print("\nExiting the program.")
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal ausführen:
python3 ldr_module.py
  • Bedecken und entblößen Sie das LDR-Lichtsensormodul mit Ihrer Hand oder etwas anderem
  • Sehen Sie sich das Ergebnis im Terminal an.
PuTTY - Raspberry Pi
The light is present The light is present The light is NOT present The light is NOT present The light is NOT present The light is present The light is present The light is present

Das Skript läuft in einer Endlosschleife kontinuierlich, bis Sie Ctrl + C im Terminal drücken.

Wenn Sie feststellen, dass der LED-Status konstant ein- oder ausgeschaltet bleibt, auch wenn Licht vorhanden ist, haben Sie die Möglichkeit, das Potentiometer zu justieren. Diese Anpassung ermöglicht es Ihnen, die Lichtempfindlichkeit des Sensors fein abzustimmen.

Zusätzlich ist es möglich, den Code zu ändern, um eine LED oder ein Licht zu aktivieren, wenn Licht erkannt wird, oder sogar um die Drehung eines Servo Motors zu ermöglichen. Detaillierte Informationen und Schritt-für-Schritt-Anleitungen finden Sie in den Tutorials am Ende dieser Anleitung.

Raspberry Pi Code - Licht erkennen

Lassen Sie uns den obigen Code modifizieren, um die Lichtzustandsänderung zu erkennen.

Schnelle Schritte

  • Erstellen Sie eine Python-Skriptdatei ldr_module.py und fügen Sie den folgenden Code hinzu:
# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. # Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: # https://newbiely.de/tutorials/raspberry-pi/raspberry-pi-ldr-module import RPi.GPIO as GPIO from time import sleep # Set the Raspberry Pi GPIO pin number connected to the DO pin of the ldr light sensor module DO_PIN = 7 # Set the GPIO mode and configure the ldr light sensor module pin as INPUT GPIO.setmode(GPIO.BCM) GPIO.setup(DO_PIN, GPIO.IN) # Initialize the previous state variable with the current state prev_light_state = GPIO.input(DO_PIN) try: while True: # Read the current state of the ldr light sensor module light_state = GPIO.input(DO_PIN) # Check for a state change (LOW to HIGH or HIGH to LOW) if light_state != prev_light_state: if light_state == GPIO.LOW: print("Light detected!") else: print("Light is gone!") # Update the previous state variable prev_light_state = light_state # Add a small delay to prevent continuous readings sleep(0.1) except KeyboardInterrupt: # Clean up GPIO settings when Ctrl+C is pressed GPIO.cleanup() print("\nExiting the program.")
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal ausführen:
python3 ldr_module.py
  • Bedecken und entblößen Sie das LDR-Lichtsensormodul mit Ihrer Hand oder etwas anderem
  • Sehen Sie sich das Ergebnis im Terminal an.
PuTTY - Raspberry Pi
Light detected! Light is gone!

Raspberry Pi Code - Wert vom AO Pin lesen

Um den Wert vom AO Pin zu lesen, müssen Sie das ADS1115 ADC Module verwenden, da der Raspberry Pi keine ADC-Pins hat. Siehe how to use ADS1115 ADC Module with Raspberry Pi

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!