After recently reading the Clone a Remote with Arduino instructable by randofo, I was inspired to try to clone the remote of my Bose Wave Radio II. While this radio is outstanding from an acoustic perspective, the fact that it's only means of control are by remote (only one remote is included) makes this single point of failure design far from ideal.
My goal was to essentially create a "backup" version of the included remote with only the basic functions necessary to operate the radio in the event that something should happen to the remote itself (lost, broken, dead battery, etc.).
I started with the Raw IR Decoder sketch on randofo's 'able, loading it onto my Duemilanove. Then I hooked up the IR transmitter and pushbutton to my Uno. From there it was mostly trial and error to find the minor differences between the actual remote's timing and my clone's timing. Once I had the numbers, I just transposed them all into randofo's framework for sending IR commands.
This sketch is just the barebones commands, implement control as you wish (build yourself a second remote with a button for each function, send serial commands to the arduino, etc.). Commands are easily accessed, simple function calls.
Volume + --> volumeUp()
Volume - --> volumeDown()
On/Off --> power()
FM --> fm()
AUX --> aux()
Preset # --> preset#()
EX: Preset 1 --> preset1()
Tune Up (>) --> tuneUp()
Tune Down ( tuneDown()
Mute --> mute()
I threw together a simple processing sketch (and a compatible version of the arduino code) to control an arduino w/ IR LED with a simple GUI using serial communication. Download the zip file for the arduino code and standalone applications to control the arduino (bypassing the need to open processing and hit 'run'). If it interests you, the processing sketch driving the applications can be found on my blog.