I did not want to change the electric circuitry in the walls as
- this flat is just for rent,
- I don't like to play around with "dangerous" voltages (I like 5V or max 12V :),
- there are so many unused LED stripes in my electronics corner.
So I decided to just take some LED stripes, I lasercut small acrylic, quite flexible stripes where I glued them on to - to easily move them around e.g. when cleaning the floor. The cables (R, G, B, 12V) also had to be extended with long cables through the whole room.
I needed two switches that smoothly fit in the room - one next to the existing light switch and one next to the bed. Touch switches can easily be created with aluminium tape and don't require much space. But I don't like touch sensors that are working with HF in my bedroom, so I went for a darlington transistor circuit. This way only one pin of the arduino is needed for both switches, because by touching the two electrodes (5V and Darlington base input) of any of the two switches at the same time, the Darlington transistors base gets a tiny current that switches the Darlingtons output.
But just for switching on RGB LEDs when the switch is touched we don't need an arduino. Of course I plan to do some fancy things like setting different colors (depending on the current mood) or do color fadings e.g. after "double-touch" or so. One thing I want in addition is that the "usual" light changes its color temperature (warm/cold) depending on the time of the day. So when I wake up in the morning the light should motivate me to stand up and in the evening the light should support to come to sleep easily. Simple idea - but the arduinos clock accurancy could not be enough over the years and I don't want to set the time again after a power loss. Also I don't want a RTC - quite an overkill to just detect if it's morning or evening - I thought about an "easier" solution. A LDR came on my mind: I could measure the change of light brightness during all the day and so the arduino could calculate the time of day. This light/dark cycle is very constant, too; so no fear of any drifting/inaccurancy effects. This ideas was crazy enough to motivate me for this solution. As in real life, once again we have a very cheap HW (1 resistor + LDR) and clever SW has to compensate it by some smart algorithms. Let's go!