Hey I've made a mood lamp with the RGB LED shield and an IKEA frosted glass lamp shade.
My idea was to plug it into a USB hub and only light up when my computer was connected and awake, kind of a "the doctor is in" lamp.
Check out a video of it in action:
http://www.youtube.com/watch?v=95n7XkzuqnQHere's the code:
https://github.com/dmcinnes/led_usb_lampI ran into some problems out the gate because the VUSB software driver requires disabling the timer interrupt (not sure why). I ended up faking the millis() call and not using delay() at all. The DigiRGB library uses ISR which seems to also depend on the timer interrupt so I ended up pulling that code in my file and calling it directly in the loop.
When a USB device is connected to a Host computer the host sents frame pulses to the devices every few milliseconds. With some configuration the VUSB library will increments a "usbSofCount" variable every time it sees a frame pulse. My code watches these and fades the LED away once it stops updating and turns the light back on when sees frame pulses again.
The code aint pretty but it works