Intro: Indirect Lighting - Temperature Sensitive Lamp
The idea was to make a lamp for the ceiling that indirectly lights the room with a colour, depending on the room temperature. So for example if the room is cold, I want a warm coloured light, and if it's hot, I want the light to cool me down visually.
The project consists of two / three parts. The "lampshade" which is baiscally a steel sheet, the eletronics attached to that metal sheet and of course the software contained.
I'll start with the steelworks.
Step 1: The Metal Sheet
Basically you can use any kind of metal and shape it a way you like. I decided to use 1mm thick Cor-ten Steel, which has a nice look, shaped it in a hexagonal way, cut in a few mounting holes and a texture, inspired by this cool design and then sent it to a company that does laser cutting (Here's a link to the company, based in Germany). After that I fixed some hooks and a chain and am ready for the next step.
You can find my design (*.step), done with solid works, attached to this post.
Step 2: The Electronics
For the lights itself, I chose 1m of the Adafruit Dotstar 30 / meter strip, as I used them in a previous project and the 5V Pro Trinket, also by Adafruit. Moreover I got two TMP36 temperature sensors, a 15W power supply and breadboard, cables etc.
A fritzing sketch of my setup is attached to this step and I also present you my shopping list:
1 x Adafruit Pro Trinket 5V
1 x 1m Adafruit Dotstar 30 LEDs per meter
1 x 15W Power Source SNT RS 15 5 from Reichelt Elektronik
2 x TMP36 Temperature Sensors
2 x 0.1 µF Capacitors
1 x 1000 µF Capacitor (probably not necessary but following the Adafruit Dotstar recommendations here)
1 x 470 Ohm Resistor (probably not necessary but following the Adafruit Dotstar recommendations here)
Breadboard, Cables, Double Sided Adhesive Tape
Step 3: The Software
The last part was to write some code to read the Voltage of the temperature sensors, convert that into a temperature (see Sensor Datasheet) and write some rules so individual temperature ranges would show the desired colours. I also coded some gentle glowing / brightness change in just for the fun of it.
My idea was that on warmer days the colours would tend to be on the blue / turquise spectrum whereas colder days give you warm orange / red / violet colours. I wrote a small lookup table for the colours I liked, but you can adapt that one to your taste. (This page provided quite a good starting point for the colour table.)
I attach my code here, but as I'm a mechanical engineer and not an educated programmer, the code might contain mistakes or poor stlye, so use it at your own risk. Improvement suggestions are welcome though. :)
Step 4: Final Assembly
Now piece all the stuff together on the metal sheet with the adhesive tape, drill a hook into the ceiling, hang the sheet and connect the power source. Now turn the lightswitch an see what happens.
Hope you enjoyed my idea, feel free to adapt it to your personal taste. Cheers!
Improvement Idea: One could also implement an outdoor temperature sensor, measure outdoor instead of indoor temperature and send the data wirelessly to the lamp...