Adafruit TSL2561 digital luminosity sensor
Product Type: Sensors
The TSL2561 luminosity sensor is an advanced digital light sensor, ideal for use in a wide range of light situations. Compared to low cost CdS cells, this sensor is more precise, allowing for exact lux calculations and can be configured for different gain/timing ranges to detect light ranges from up to 0.1 - 40,000+ Lux on the fly.
The best part of this sensor is that it contains both infrared and full spectrum diodes. This means you can separately measure infrared, full-spectrum or human-visible light. Most sensors can only detect one or the other, which does not accurately represent what human eyes see (since we cannot perceive the IR light that is detected by most photo diodes)
The sensor features an I2C interface. You can select one of three addresses so you can have up to three sensors on one board, each with a different I2C address. The built in ADC means you can use this with any microcontroller, even if it doesn't have analog inputs. The current draw is extremely low, so its great for low power data-logging systems. about 0.5mA when actively sensing, and less than 15 uA when in powerdown mode.
Specifications
- Datasheet
- Sensor breakout board manufactured by Adafruit Industries
- Approximates Human eye Response
- Precisely Measures Illuminance in Diverse Lighting Conditions
- Temperature range: -30 to 80 *C
- Dynamic range (Lux): 0.1 to 40,000 Lux
- Voltage range: 2.7-3.6V
- Interface: I2C
C# driver
- Integrates seamlessly with the Nwazet DAQ module for Netduino Go!
- Nwazet.GO / Samples / DAQmodule









2 Comments
Zinovate said
For those us not quite so Savey, I'd love a step by step using a module like this with the killer DAQ board. Same goes for the Temp sensor.
fabien said
Hi Zinovate,
First, connect your sensor to the DAQ like this:
GND -> GND on the DAQ's I2C port
VCC -> any 3.3v pin on the DAQ's digital ports, like D7
SDA -> SDA on the DAQ's I2C port
SCL -> SCL on the DAQ's I2C port
You can then use the driver provided with the DAQ like this (see \Samples\DAQmodule\Program.cs for more details)
public static void I2cTSL2561Test() {
Log("I2cTSL2561Test begin");
try {
var lightSensor = new TaosTSL256x(daq.I2cPort, TaosTSL256x.Address.AddressPinFloat);
Log("Light sensor ID: " + lightSensor.GetSensorId());
Log("--------------------------------------------");
var count = 3;
while (count-- != 0) {
Log("Raw Luminosity: " + lightSensor.Read());
Log("Full spectrum luminosity: " + lightSensor.FullSpectrum);
Log("Infrared spectrum luminosity: " + lightSensor.InfraredSpectrum);
Log("Visible spectrum luminosity: " + lightSensor.VisibleSpectrum);
Log("Lux: " + lightSensor.Lux);
Log("--------------------------------------------");
Thread.Sleep(500);
}
} catch (I2cException e) {
Log("I2C transaction failed: " + e.Message);
}
Log("I2cTSL2561Test end");
}