Links to Previous Posts
- [Dynamic Living-room Lights] Description
- [Dynamic Living-room Lights] Simple System Design
- [Dynamic Living-Room Lights] The YUN review - When the Penguin Met The Arduino.
- [Dynamic Living-Room Lights] The Infineon RGB LED Shield Review
- [Dynamic Living-Room Lights] The Infineon RGB LED Shield -Library!
- [Dynamic Living-Room Lights] The Lights Teaser Video
- [Dynamic Living-room Lights] The YUN talks to OpenHAB
- [Dynamic Living-room Lights] Building the Mood Lights
- [Dynamic Living Room Lights] The XMAS Tree
- [Dynamic Living-Room Lights] IoT Holiday Lights Minions
- [Dynamic Living-Room Lights] The Big Picture - The Final Build
- [Dynamic Living-Room Lights] Paho For Python - Writing better code
- [Dynamic Living-Room Lights] The Tree Code explained - Write a protocol with interrupts.
My project for the Internet of Holoday lights was based around our living room which was not very livable. It was a mess and with the upcoming holidays I wanted to set the living room in such a
way that it would be suitable for entertaining guests. Additionally I wanted to accomplish the above mentioned in such a way that the holiday lighting becomes part of the living room and I don't need to remove it after the holidays. Hence the concept of Dynamic Living-room Lighting.
In this post, I do a summary of the concept, the final result and problems faced and lessons learned. Lets go.
The original concept of the project came from the fact that we have a very disorganized living room. Element14, Infineon and MCM Electronics sponsored some parts and I wanted to make them the hero of this project. Additionally iot.Eclipse.org provided some pretty nifty tools to work from. I started by drafting an idea around the Infineon RGB LED Shield and the fact that the YUN has the capability to connect to a Wi-Fi Network. Being an Electrical Engineer I am not an expert on software development and GUIs and hence I took to something that I understand which is OpenHAB. The design was drafted and the first few blogs were published around a focused plan. The target was not only to build the electronics but to demonstrate how practically the things fit into real life. And thus I began one module at a time.
With the Lights functional, I moved on to create the tree which used up another arduino and the communication was established over a wire. I used RGB LEDs that can be chained together and 120 LEDs on the tree make for some pretty bright lights. I wrote the code for the Tree which I explained in my last blog and the whole thing lit up like... christmas! The tree can light up according to music or a fixed color by Software or in predefined patterns.
The lights and sound needed some dance. My wife and I made minions(pun intended) and I used some element14 boxes to make a crank-piston arrangement and added a motor. This made the minions dance and I wrote a blog post about it so that anyone can make it at home. Moving on, I added a raspberry Pi to the mix since my YUN was busy behind the curtains(literally). A python script later, I was able to read tweets mentions and hashtags and I used it to trigger a minion Dance whenever someone mentioned @ip_v1 on twitter with #happynewyear or #HappyChristmas. It is so much fun and there is a blog post about that as well. I also added a little MQTT to it so that I could control the minions using OpenHAB and now they sing and dance on queue.
The final build was completed, cleaned and documented. A fireplace was fabriacated out of styrofoam and a wooden shelf was converted into a snowy scene for the minions to stand. The shelf lights are controlled via IR Control and added ambiance to the shelf. The completed system is demonstrated in a 10minute video below.
For more images about the build, please visit, [Dynamic Living-Room Lights] The Big Picture - The Final Build for the graphic details.
I made the video with the help of my wife and it was the first time I actually edited a video which made it a long learning process. The end result is given below.
Lessons learned and future work
I deviated from my normal 'humongous designs that spread everywhere' to a smaller more focused design this time. I experimented with the arduino YUN, python and PAHO, I reused my knowledge of OpenHAB and made the best use of Cardboard boxes from Element14 that I could and the end result was a much more presentable system than I had imagined. I plan to expand the Infineon Shield capabilities to use DMX for audio in the future and in doing so I will be able to relieve the YUN from driving the LEDS. Additionally, I need to buy better LEDs since the ones I have are not very bright even though they get the job done. IF I get my hands on a 3D printer, the first thing I need to do is make a better mechanical arrangement for the minions because the cardboard and styrofoam arrangement tends to wear out with time.
It was fun. I had planned on finishing the project before the holidays but I ended up doing a lot more tweaking and the final system is something that will stay in the living room as a permanent resident. The tree will also be a permanent resident as well and everytime someone asks why, we can demonstrate the system and christmas will never actually be over. I have tried to put up as much detail as possible and hope that next year someone will take a piece of this project to their living room and sends me a tweet and makes the minions sing and dance.