Overview
I've created a lot of simple RGB controllers before there were satisfying, commercial solutions available.
This one was my last attempt from 2007 to make a universal, simple controller without unnecessary features.
The device is somehow obsolete now since I switched to the milight system.
Features
- a set of predefined colours
- LCD
- rotary encoder
- seperated control unit/driver
- remote control
- smooth fading (0.5s) between manual color select, non-blocking
- autofader (~5s), using predefined colors
- temperature control
- manual RGB level mode
- random colors
- logarithmical brightness control for each mode/color
- NO annoying flash/strobe effects
More Details
Instead of just fading through R->G->B, I am using a static set of colors, for both autofading and manual select.
- seperated control unit/driver
No need for thick cables, just one cheap standard USB AB cable from the control unit to the driver.
Switching between colors looks crappy. I implemented a fader with variable fading length, fast for manual switching, slow for the auto fader. It does not block any interaction, it just adapts the current output setting to a given setting the whole time.
The ambient air temperature is converted to 18 color levels from blue (~17°C) over green to red (~25°C)
- logarithmical brightness control for each mode/color
The subjective perception of brightness is (nearly) logarithmical, you must pay attention to this if you want a linear scale.
Control Unit
Schematics still need to be drawn :)
source code
Note: this is an old beta with linear scale, the most recent version will follow soon.
The lcd lib works for hd44780 lcds.
Remote Control
The remote control is a cheap 4 channel module. It has 5 outputs: channel 1-4 (T/D-latch type) and one called "VT" which is high as long as a button is pressed. Because the outputs are t-latches, you have to XOR current and last state whenever VT goes high in order to get the pressed button.
Temperature Sensor
The sensor is a KTY81-120, wired this way:
+5V--R10k--ADCin--KTY--GND
Of course, not very accurate, but enough for this purpose.
Driver
The driver couldnt be any easier: 3x BD131 (NPN), 3x 470R (base) and plugs for the LED modules (molex), power supply (dc plug) and controller (usb).