Raspberry Pi - Lichtsensor

Dieses Tutorial zeigt Ihnen, wie Sie einen Lichtsensor mit Raspberry Pi verwenden. Im Detail:

Wenn Sie nach einem Lichtsensor suchen, der zwei Pegel (LOW/HIGH) basierend auf einem einstellbaren Schwellwert ausgibt, empfehlen wir Ihnen dringend, das LDR Light Sensor Module Tutorial zu lesen. Es ist viel einfacher und bequemer zu verwenden.

Erforderliche Hardware

1×Raspberry Pi 5
1×Lichtsensor
1×10 kΩ Widerstand
1×ADS1115 ADC Modul
1×Breadboard (Steckplatine)
1×Jumper Kabel
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.

Der LDR Lichtsensor ist sehr günstig, benötigt aber einen Widerstand für die Verdrahtung, was die Einrichtung komplexer machen kann. Um die Verdrahtung zu vereinfachen, können Sie alternativ ein LDR Lichtsensor Modul verwenden.

Über den Lichtsensor

Dieses Tutorial verwendet einen Lichtsensor, der als Fotowiderstand bekannt ist. Er wird auch als lichtabhängiger Widerstand, LDR oder Fotozelle bezeichnet.

Er wird nicht nur zur Lichterkennung verwendet, sondern auch zur Messung der Helligkeit/Beleuchtungsstärke der Umgebung.

Der Lichtsensor Pinout

Ein Fotowiderstand hat zwei Pins, die nicht unterschieden werden müssen, da es sich um einen symmetrischen Widerstand handelt.

Light Sensor pinout

Funktionsweise

Je mehr Licht auf die Oberfläche des Fotowiderstands trifft, desto geringer wird sein Widerstand. Durch die Messung des Widerstands des Fotowiderstands können wir daher die Helligkeit der Umgebungsbeleuchtung bestimmen.

How Light Sensor Works

WARNING

Der vom Lichtsensor erhaltene Wert gibt nur eine ungefähre Anzeige der Lichtintensität wieder, nicht eine präzise Messung des Lichtstroms. Daher sollte er nicht in Situationen verwendet werden, in denen hohe Genauigkeit erforderlich ist.

Raspberry Pi - Lichtsensor

Das Raspberry Pi Board verfügt nicht über einen integrierten ADC, daher werden wir ein externes ADC Modul wie das ADS1115 verwenden, um die analoge Spannung vom Lichtsensor zu lesen. Befolgen Sie diese Schritte zur Einrichtung des Systems:

  • Verbinden Sie den Lichtsensor mit dem analogen Eingang des ADS1115 Moduls.
  • Das ADS1115 Modul führt eine Analog-Digital-Wandlung der Spannung vom Lichtsensor durch und stellt einen ADC-Wert bereit.
  • Stellen Sie eine Verbindung zwischen dem Raspberry Pi und dem ADS1115 Modul über die I2C-Schnittstelle her.
  • Stellen Sie sicher, dass I2C auf dem Raspberry Pi aktiviert ist und richten Sie die notwendigen Konfigurationen ein.
  • Verwenden Sie geeignete Bibliotheken oder Code, um den ADC-Wert vom ADS1115 Modul über die I2C-Schnittstelle auf dem Raspberry Pi zu lesen.

Durch Befolgen dieser Schritte können Sie erfolgreich analoge Spannung vom Lichtsensor lesen, indem Sie das ADS1115 Modul mit Ihrem Raspberry Pi verwenden.

Verdrahtungsdiagramm

Raspberry Pi Light Sensor 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

Raspberry Pi Code

Dieser Code liest den Wert von einer Fotozelle und bewertet das Lichtniveau qualitativ.

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 demselben lokalen Netzwerk wie Ihr PC verbunden ist.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, falls Sie Bibliotheken installieren müssen.
  • Wenn Sie zum ersten Mal Raspberry Pi verwenden, lesen Sie wie Sie das Raspberry Pi einrichten
  • 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 wie Sie Ihren PC über SSH mit Raspberry Pi verbinden.
  • Stellen Sie sicher, dass Sie die RPi.GPIO Bibliothek installiert haben. Falls nicht, installieren Sie sie mit folgendem Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Installieren Sie die Adafruit_ADS1x15 Bibliothek, indem Sie folgende Befehle in Ihrem Raspberry Pi Terminal ausführen:
sudo pip install Adafruit-ADS1x15
  • Erstellen Sie eine Python-Skriptdatei light_sensor.py und fügen Sie 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-light-sensor import time import Adafruit_ADS1x15 # Create an ADS1115 ADC object adc = Adafruit_ADS1x15.ADS1115() # Set the gain to ±4.096V (adjust if needed) GAIN = 1 # Define the threshold values for dim and bright levels DIM_THRESHOLD = 2000 # Adjust this based on your sensor's calibration BRIGHT_THRESHOLD = 3000 # Adjust this based on your sensor's calibration # Function to classify the light level def classify_light_level(raw_value): if raw_value < DIM_THRESHOLD: return "Dim" elif raw_value >= DIM_THRESHOLD and raw_value < BRIGHT_THRESHOLD: return "Moderate" else: return "Bright" # Main loop to read the analog value from the LDR and classify the light level try: while True: # Read the raw analog value from channel A3 raw_value = adc.read_adc(3, gain=GAIN) # Convert the raw value to voltage (not needed for classification) voltage = raw_value / 32767.0 * 4.096 # Assumes 4.096 V range for GAIN=1 # Classify the light level light_level = classify_light_level(raw_value) # Print the results print("Raw Value: {} \t Voltage: {:.2f} V \t Light Level: {}".format(raw_value, voltage, light_level)) # Add a delay between readings (adjust as needed) time.sleep(1) except KeyboardInterrupt: print("\nExiting the program.")
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie folgenden Befehl im Terminal ausführen:
python3 light_sensor.py
  • Bedecken Sie den Lichtsensor mit Ihrer Hand oder leuchten Sie auf den Sensor.
  • Überprüfen Sie das Terminal, um das Ergebnis zu sehen.
PuTTY - Raspberry Pi
Raw Value: 1000 Voltage: 0.61 V Light Level: Dim Raw Value: 1800 Voltage: 1.10 V Light Level: Dim Raw Value: 2100 Voltage: 1.29 V Light Level: Moderate Raw Value: 2500 Voltage: 1.53 V Light Level: Moderate Raw Value: 2800 Voltage: 1.71 V Light Level: Moderate Raw Value: 3200 Voltage: 1.96 V Light Level: Moderate Raw Value: 3600 Voltage: 2.20 V Light Level: Bright Raw Value: 4000 Voltage: 2.45 V Light Level: Bright

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

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!