Friday, April 16, 2010

One Touch Disco Room

The concept of instantly transforming any seemingly pedestrian space into a disco or romantic enclave isn't new but the manner in which you accomplish this task can vary greatly depending on available infrastructure, technical knowledge, resources, space, mood, style and timing.  If you're looking for an example, you may remember Eric (Otter) Stratton's bedroom from National Lampoon's Animal House.  Or possibly the scene in Accepted when Justin Long's character uses the Clapper to turn on a disco ball and mood lighting. Same basic idea.

The genesis of this idea actually grew out of a few smaller projects that I was working on concurrently.  Since I had already proven out designs for my RC-5 IR receiver circuit, iPod communication code, and common collector peripheral switching circuit, it seemed natural to combine them all in a single housing. 

It's basically a custom iPod/iPhone dock with the ability to remotely switch a variety of external devices.  to begin with, I knew that I wanted to control my disco ball spot light, disco ball motor, flux capacitor, knight rider belt, and silly fiber optic lamp I got from Ikea.  I included three extra ports for expansion.  The desired effect would be reached if, by pressing a specific number on my IR remote, the lights in the room would dim, my lighting projects would turn on and a pre-selected song would start playing.  I think I captured that quite nicely in the video below.

This box works better than my previous dock for a few reasons.  Foremost, it adds an LCD on the front that can display artist and song title information which you can't see on the iPod unless you're right next to it.  And the old dock has a very limited remote.  Sure it's small and cute but I don't mind the bigger universal remote when considering the added functionality like mute and iPod menu navigation. 

You may be wondering why I went with IR control over cooler technologies like wifi or bluetooth.  Good question.  I'll eventually incorporate that stuff into future projects but for now it just made sense to go with a short range solution considering that the person initiating the disco room will most likely be in the room when they do it.  That and I thought it would be a neat exercise to learn the proper way to create a program capable of receiving a Manchester encoded bit stream. 

You know what I wanna do now.... Strut.