Raspberry Pi - Lichtsensor

Deze tutorial legt uit hoe u de lichtsensor gebruikt met de Raspberry Pi. In detail:

Als u op zoek bent naar een lichtsensor die een twoniveau-uitgang (LOW/HIGH) geeft op basis van een instelbare drempel, raden we u sterk aan de LDR Light Sensor Module tutorial te bekijken. Deze is veel eenvoudiger en handiger in gebruik.

Hardware Benodigd

1×Raspberry Pi 5
1×Lichtsensor
1×10 kΩ weerstand
1×ADS1115 ADC-Module
1×Breadboard (experimenteerprint)
1×Jumperkabels
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.

De LDR lichtsensor is erg betaalbaar, maar vereist een weerstand bij de bedrading, wat de opstelling wat complexer maakt. Om de bedrading eenvoudiger te maken, kunt u als alternatief een LDR lichtsensor module gebruiken.

Over de Lichtsensor

Deze tutorial maakt gebruik van een lichtsensor die bekend staat als een photoresistor. Deze wordt ook wel lichtafhankelijke weerstand genoemd, LDR, of photocel.

Hij wordt niet alleen gebruikt om licht te detecteren, maar ook om het helderheids-/verlichtingsniveau van de omgeving te meten.

De Lichtsensor Pinout

Een photoresistor heeft twee pinnen die niet van elkaar onderscheiden hoeven te worden, omdat het een symmetrische soort weerstand is.

Light Sensor pinout

Hoe Het Werkt

Hoe groter de hoeveelheid licht waar het vlak van de photoresistor aan wordt blootgesteld, hoe lager de weerstand zal zijn. Door de weerstand van de photoresistor te meten, kunnen we dus de helderheid van de omliggende verlichting bepalen.

How Light Sensor Works

WARNING

De waarde die van de lichtsensor wordt verkregen, geeft slechts een benadering van de lichtintensiteit en niet een exacte maat voor de lichtstroom. Daarom is de sensor niet geschikt voor toepassingen waar hoge nauwkeurigheid vereist is.

Raspberry Pi - Lichtsensor

Het Raspberry Pi bord beschikt niet over een ingebouwde ADC (Analoge naar Digitale Converter), daarom gebruiken we een externe ADC-module, zoals de ADS1115, om de analoge spanning van de lichtsensor te kunnen uitlezen. Volg deze stappen om het systeem op te zetten:

  • Sluit de lichtsensor aan op de analoge ingang van de ADS1115 module.
  • De ADS1115 module zet de analoge spanning van de lichtsensor om in een digitale ADC-waarde.
  • Maak verbinding tussen de Raspberry Pi en de ADS1115 module via de I2C-interface.
  • Zorg dat I2C is ingeschakeld op de Raspberry Pi en configureer waar nodig.
  • Gebruik geschikte bibliotheken of code om de ADC-waarde van de ADS1115 module via I2C uit te lezen op de Raspberry Pi.

Door deze stappen te volgen, kunt u met succes de analoge spanning van de lichtsensor uitlezen via de ADS1115 module met uw Raspberry Pi.

Bedradingsschema

Raspberry Pi Lichtsensor bedradingsschema

This image is created using Fritzing. Click to enlarge image

Om uw bekabelingsopstelling te vereenvoudigen en te organiseren, raden we het gebruik van een Schroevenklemaansluiting-shield voor Raspberry Pi aan. Deze shield zorgt voor veiligere en beter beheerbare verbindingen, zoals hieronder weergegeven:

Raspberry Pi Schroevenklemaansluiting-Shield

Raspberry Pi Code

Deze code leest de waarde uit een photocel en beoordeelt het lichtniveau kwalitatief.

Snel aan de slag

  • Zorg dat u Raspbian of een ander compatibel besturingssysteem op uw Raspberry Pi hebt geïnstalleerd.
  • Zorg dat uw Raspberry Pi is verbonden met hetzelfde lokale netwerk als uw pc.
  • Zorg dat de Raspberry Pi internettoegang heeft als u bibliotheken moet installeren.
  • Als u voor het eerst met de Raspberry Pi werkt, zie dan 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 met PuTTY op Windows. Zie hoe u pc via SSH verbindt met Raspberry Pi.
  • 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
  • Installeer de Adafruit_ADS1x15 bibliotheek door de volgende opdracht in de Raspberry Pi terminal uit te voeren:
sudo pip install Adafruit-ADS1x15
  • Maak een Python-scriptbestand aan genaamd light_sensor.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-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.")
  • Sla het bestand op en voer het Python-script uit door het volgende commando in de terminal te geven:
python3 light_sensor.py
  • Bedek de lichtsensor met uw hand of schijn licht op de sensor.
  • Bekijk de terminal om het resultaat te zien.
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

Het script loopt in een oneindige lus tot u in de terminal Ctrl + C indrukt.

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 de stappen makkelijk te volgen.

※ 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!