Building the sensor
So we built our own light sensing system using Arduino microcontroller. We got the idea from iGEM 2010 Cambridge team. The sensor used was model TSL238T. Product developed by Texas Advanced Optoelectronic Solutions.
So.... what do you need?? Basically the following
- Arduino Uno USD$25.95 - TSL238T High-sensitivity light-to-frequency converter. USD$5.80
- 0.1 uF capacitor USD$9.70 (cost of a pack containing many capacitors)- USB Cable USD$4.37
- Breadboard USD$14.80- Lots of wires USD$2.95
Total cost: USD$63.70 not so bad, right?
Now that you built your sensor according to instructions provided in code below, it should look something like this:
Running the program
Here is the sensor datasheet containing all technical specifications.
Our code. Written by Juano Venegas.
//Analog reading test. Data send to serial port.
//Sensor connections
// According to pin numbers given in TSL238T datasheet.
// Pin 1 -> Ground
// Pin 2 -> Ground
// Pin 3 -> 5 Volts.
// Pin 4 -> Pin n° 2 Arduino.
//Also, a 0.1 uF capacitor would be suitable to wire between ground and 5V. The closest possible to the sensor
//(it reduces noise).
// Instructions down below
// Pin definition
const int lightsensor = 2; // Light sensor port
// Variables
unsigned long pulseCount ; // Counts pulses given by sensor
void setup()
{
Serial.begin(9600);
pinMode(lightsensor, INPUT);
attachInterrupt(0, add_pulse, RISING);
}
void loop()
{
pulseCount = 0;
delay(500);
// Send value through serial port
Serial.print("i");
// Instructions:
// First, run this program. Data should be sent to Arduino's terminal. Arduino (Tools > Serial Monitor).
// If it works ok, it should give data every half second (it will show as text in the format i1234f,
//meaning a 1234 value).
// Check values given at absolute darkness and absolute lighting conditions. Write them down and add
//a bit of margin to the number and replace them in LINE B.
// Now, comment LINE A and uncomment LINE B. Run the program again.
// Now it should give values between 0 and 1023. Values are proportional to the intensity of the light source.
// Good luck!!
Serial.print(pulseCount); // LINE A
//Serial.print(map(pulseCount, here_darkeness_value_number , here_light_value_number, 0, 1203)); // LINE B
Serial.println("f");
//Serial.flush();
}
void add_pulse()
{
pulseCount++; // Increase pulse count
}
Here is a short video on the serial monitor collecting data. The numbers are in relative light intensity units. We measured the lab at normal lighting conditions.
Data collected
We decided to characterize lux brick using our sensor. We measure the light intensity of lux brick at different glucose concentrations. Here is a graph of our results.
The measurements obtained by the sensor indicate that at higher glucose concentrations the biolumiscence of the cells decreases. However, experimental data obtained by plate reader is contradictory. (Check here for data) We believe that the sensor was not sensitive enough to measure light intensity differences between the flasks. Also there was a lot of noise in the measurement as you can see in this rough graph of the data.