Raspberry Pi - LDR Module

De LDR lichtsensor module kan bepalen hoeveel licht er in de omgeving aanwezig is. De module heeft twee uitgangen: een digitale uitgang die LOW of HIGH kan zijn, en een analoge uitgang.

Deze handleiding leert u hoe u een Raspberry Pi en een LDR lichtsensor module gebruikt om de hoeveelheid licht in een gebied te meten. We behandelen de volgende stappen:

LDR Light Sensor Module
image source: diyables.io

Later kunt u de code aanpassen om een LED of een lampje (via een relais) aan te zetten wanneer er licht wordt gedetecteerd.

Als u liever werkt met een lichtsensor in de raw vorm, raad ik de tutorial over de Raspberry Pi - Light Sensor aan.

Hardware Benodigd

1×Raspberry Pi 5
1×LDR Lichtsensormodule
1×Verbindingsdraden
1×(Aanbevolen) Schroefklem Block Shield voor Raspberry Pi
1×(Aanbevolen) Raspberry Pi Prototyping Basisplaat & Breadboard Kit
1×(Aanbevolen) HDMI-Touchscreen-Monitor voor Raspberry Pi

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over de LDR Light Sensor Module

De LDR lichtsensor module kan worden gebruikt om te bepalen of er licht is, of om de hoeveelheid licht in de omgeving te meten. Hij heeft twee opties: een digitale uitgangspin en een analoge uitgangspin.

Pinout

De LDR lichtsensor module heeft vier pinnen met verschillende functies:

  • VCC pin: Verbind deze met een voedingsbron (tussen 3,3V en 5V).
  • GND pin: Verbind deze met de aarde (0V).
  • DO pin (Digital Output): Dit is een digitale uitgangspin. Hij wordt HIGH wanneer het donker is en LOW wanneer er licht is. U kunt de drempelwaarde tussen donker en licht instellen met een ingebouwde potentiometer.
  • AO pin (Analog Output): Dit is een analoge uitgangspin. De outputwaarde daalt als het licht feller wordt en stijgt als het donkerder wordt.
LDR Light Sensor Module Pinout
image source: diyables.io

Daarnaast heeft de LDR lichtsensor module twee LED-indicatoren:

  • De PWR-LED indicator toont de voedingsstatus.
  • De DO-LED indicator toont de status van het licht op de DO pin. Deze brandt wanneer er licht is en gaat uit als het donker is.

Hoe Werkt Het

Met betrekking tot de DO pin:

  • De LDR lichtsensor module heeft een ingebouwde potentiometer waarmee u de gevoeligheid of drempel voor het detecteren van licht kunt aanpassen.
  • Wanneer de lichtintensiteit in de omgeving hoger is dan de ingestelde drempel (beschouwd als licht), wordt de uitgangspin van de sensor op LOW gezet en gaat de DO-LED indicator aan.
  • Wanneer de lichtintensiteit lager is dan de drempel (beschouwd als donker), wordt de uitgangspin op HIGH gezet en gaat de DO-LED indicator uit.

Met betrekking tot de AO pin:

  • De waarde die van de AO pin wordt gelezen, daalt naarmate de lichtintensiteit toeneemt (licht).
  • De waarde die van de AO pin wordt gelezen, stijgt naarmate de lichtintensiteit afneemt (donker).

Het is belangrijk om te vermelden dat het aanpassen van de potentiometer geen invloed heeft op de waarde die van de AO pin wordt gelezen.

Bedradingsschema

Omdat de lichtsensor module twee uitgangen heeft, kunt u ervoor kiezen één of beide te gebruiken, afhankelijk van uw behoefte.

  • Het bedradingsschema tussen de Raspberry Pi en de LDR lichtsensor module:
Raspberry Pi LDR Light Sensor Module wiring diagram

This image is created using Fritzing. Click to enlarge image

LET OP:

  • De Raspberry Pi heeft geen ingebouwde analoge ingangen, dus de AO pin kan ongebruikt blijven. Om analoge waarden van de module te lezen is een externe ADC module nodig. Voor meer informatie, zie How to use Raspberry Pi with ADC module.

Raspberry Pi Code - Waarde uitlezen van DO pin

Snelle Stappen

  • Zorg dat Raspbian of een ander Raspberry Pi compatibel besturingssysteem op uw Pi is geïnstalleerd.
  • Zorg dat uw Raspberry Pi verbonden is met hetzelfde netwerk als uw pc.
  • Zorg dat uw Raspberry Pi verbinding heeft met internet indien u libraries moet installeren.
  • Als dit de eerste keer is dat u Raspberry Pi gebruikt, zie hoe u de Raspberry Pi instelt.
  • Verbind uw pc met de Raspberry Pi via SSH met de ingebouwde SSH client op Linux en macOS of PuTTY op Windows. Zie hoe u uw pc met Raspberry Pi via SSH verbindt.
  • Controleer of u de RPi.GPIO bibliotheek hebt geïnstalleerd. Zo niet, installeer deze dan met het volgende commando:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Maak een Python scriptbestand aan met de naam ldr_module.py en voeg de volgende code toe:
# Deze Raspberry Pi code is ontwikkeld door newbiely.nl # Deze Raspberry Pi code wordt zonder enige beperking aan het publiek beschikbaar gesteld. # Voor volledige instructies en schema's, bezoek: # https://newbiely.nl/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.")
  • Sla het bestand op en voer het Python script uit met het volgende commando in de terminal:
python3 ldr_module.py
  • Bedek en onthul de LDR lichtsensor module met uw hand of een object.
  • Bekijk het resultaat in de Terminal.
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

Het script draait in een oneindige lus totdat u Ctrl + C indrukt in de terminal.

Als u merkt dat de LED-status constant aan of uit staat, ook als er licht is, kunt u de potentiometer aanpassen. Zo stelt u de lichtgevoeligheid van de sensor fijn af.

Daarnaast kunt u de code aanpassen om een LED of een lamp aan te zetten wanneer er licht wordt gedetecteerd, of zelfs een servo motor te laten draaien. Gedetailleerde informatie en stapsgewijze instructies vindt u in de tutorials aan het einde van deze handleiding.

Raspberry Pi Code - Detecteren van licht

Laten we de bovenstaande code aanpassen om de verandering van de lichtstatus te detecteren.

Snelle Stappen

  • Maak een Python scriptbestand aan met de naam ldr_module.py en voeg de volgende code toe:
# Deze Raspberry Pi code is ontwikkeld door newbiely.nl # Deze Raspberry Pi code wordt zonder enige beperking aan het publiek beschikbaar gesteld. # Voor volledige instructies en schema's, bezoek: # https://newbiely.nl/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.")
  • Sla het bestand op en voer het Python script uit met het volgende commando in de terminal:
python3 ldr_module.py
  • Bedek en onthul de LDR lichtsensor module met uw hand of een object.
  • Bekijk het resultaat in de Terminal.
PuTTY - Raspberry Pi
Light detected! Light is gone!

Raspberry Pi Code - Waarde uitlezen van AO pin

Om de waarde van de AO pin uit te lezen, heeft u de ADS1115 ADC Module nodig aangezien de Raspberry Pi zelf geen ADC pinnen heeft. Zie hoe de ADS1115 ADC Module met Raspberry Pi te gebruiken.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u stap voor stap om uw LDR lichtsensor module met de Raspberry Pi te verbinden en programmeren.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!