LighTouch is the second iteration of a prototype I 'completed' about a year ago - LighTouch - Phase I . The premise is simple: a fully functional streaming radio/alarm clock that uses hand gestures as the sole interface and no physical contact with the device.
Playback, volume, and track changing are controlled by waving your hand above the device.
The two primary components to accomplish this are simply a raspberry pi and an ultrasonic sensor. Everything else is just for flair!
LighTouch is meant to be a general control interface for non-visual medium (music in this case, but there are many other applications). The idea behind the project is to make playing and controlling your music as simple as waving your hand. The code is designed to interpret input from the ultrasonic sensor and use that information to control music playback. One of the first applications for this project is as a bed-side alarm clock. The idea of which being rather than trying to fumble for a 'snooze' button, turning off your alarm is as simple as waving your hand over the clock. The controls are highly configurable, but in it's current state it's configured using MPD (pianobar is also working). To control the unit there are set distance criterias. For instance there is a "ceiling" (the maximum distance the sensor will read input) set to 80cm. Other such criterias are as follows: 0-10cm - Pause (LED off) 10-45cm - Volume control 0%-100% (LED brightens/dims) 46-69cm - DEAD ZONE (to prevent accidentally skipping to the next track when raising the volume....LED fully on) 70cm-80cm - Next Track (led will blink 3 times) >80cm - Ceiling (no action taken) In addition, I've also added an LCD screen to show current "Now Playing" information as well as volume level and an Ultrabright LED that fades depending on the volume level.