Electronic – Controlling an RGB LED color range from an analog temperature sensor (no Arduino, etc.)

ledrgbtemperature

I'd like to combine an analog temperature sensor with an RGB LED so that I get a range of colors based on temperature. Low temperature blue, high temperature red, with color fade between them as the temperature changes. For sensors, perhaps something like http://adafruit.com/products/165 for the temperature sensor, and http://www.sparkfun.com/products/105 for the LED.

It would be trivial to do this with an Arduino, but I'm trying to think of how to do this with some basic, low cost electronics – some way that I could make dozens of these and run them off something like a coin cell. I'd like to spread them around in an environment and get a "light map" of temperatures when viewed in the dark.

I imagine doing something like this…

Analog temperature sensor output from 0.0v – 1.0v translates into the blue channel input going from 3.0v to 0.0v (bright blue to dark), no output on temperature voltage > 1.0v

Analog temperature sensor output from 0.75v – 1.75v translates into red channel from 0.0v to 3.0v (dark to bright red), no output on temperature voltage < 0.75v.

The effect would be a bright blue light at the coldest temperature, that would eventually change to a bright red light at warmest.

Any thoughts on how this could be done in a low-cost/simple way?

Best Answer

The simplest analog circuit I can come up with is this:

Temperature controlled RGB LED

V1 represents the temperature sensor output value.

The values of R1 and R3 may need to be adjusted specially if you use other transistors (you can use variable resistors to find out the correct values then replace them with fixed value resistors).

You may also need a voltage divider on the base terminal of Q1.

This is the output signal analysis.

enter image description here

This assumes you are using a common anode RGB LED.