TSL2561 – Lichtsterkte meter sensor

Met behulp van een TSL2561 digitale helderheid/licht sensormodule kun je lichtsterkte meten. In tegenstelling tot de meeste standaard lichtsterkte sensoren meet de TSL2561 zowel infrarood als zichtbare lichtsterkte.

In de grafiek hieronder zie je welke meetbaar gebied het betreft.

De sensor kan de lichtsterkte tussen 0,1 en 40.000+ lux meten, hiervoor wordt gebruik gemaakt van twee fotodiodes.

De TSL2561 is eenvoudig met de I2C interface van de Raspberry Pi aan te sluiten. Met behulp van een Python script lezen we het zichtbare spectrum en het infrarood (IR) bereik. De waardes worden in lux (eenheid van verlichtingssterkte) weergegeven.

Aansluitschema Raspberry Pi
Voor het aansluiten op de I2C interface van de Raspberry Pi gebruiken we de volgende pinnen, zie tabel.

Aansluittabel van de TSL2561 en de Raspberry Pi headerpinnen

Hieronder het voorbeeld van de verbindingen tussen de TSL2561 en de Raspberry Pi. In het voorbeeld is een ander model sensor gebruikt.

I2C Activeren
De TSL2561 module maakt gebruik van het I2C protocol om te kunnen communiceren met de Raspberry Pi. Het mooie van I2C is dat meerdere I2C apparaten/modules tegelijkertijd kunnen communiceren via de GPIO pinnen.

Standaard is de I2C functionaliteit op de Raspberry Pi uitgeschakeld. Hier kun je vinden hoe je de I2C bus activeert.

Controleren I2C activatie
Nadat de module is aangesloten op de I2C bus kun je controleren of deze ook daadwerkelijk wordt gedetecteerd. Dit kun je doen met de I2C tools. Heb je deze niet geïnstalleerd dan kun je dit doen met behulp van:

sudo apt-get install i2c-tools

Controleer hierna of de module zichtbaar is:

sudo i2cdetect -y 1

De TSL2561 module heeft als ID Hex-waarde #039. Mocht de module niet zichtbaar zijn, controleer dan of de I2C-bus actief is en dat de kabels goed zijn aangesloten.

Python script
Met behulp van het onderstaande script kun je de gemeten lichtwaarden door de sensor uitlezen. Het script maakt gebruik van de smbus, om hiervan gebruik te kunnen maken moet je de smbus ondersteuning voor Python te installeren:

sudo apt-get install python-smbus

Het basisscript kun je hieronder downloaden.

Voer hierna het script uit:

python tsl2561.py

Het script zal de waarde van het volledige spectrum, infrarood en de zichtbaarheid weergeven in lux.

Waarden in een .csv-bestand
Je kunt natuurlijk de gemeten waarden ook opslaan in een .csv-bestand. Ik heb er een script voor geschreven dat je hier kunt downloaden. De waarde wordt in dit script iedere minuut opgeslagen.

Tip: Richt eens een IR afstandsbediening op de sensor
Een LED zaklantaarn zal de gemeten waardes van het zichtbare licht sterk en van het IR bereik een beetje ophogen. Wil je de IR waarde een flink ophogen? Probeer eens de afstandsbediening van je TV of radio op de sensor te richten. Het zal met name de IR waarde verhogen.