Non-contact gesture recognition - the ability to work out what a hand is doing without ever physically touching anything - isn't a new concept, but it's one which is dropping in price all the time. Where implementations like Sony's Eye Toy and Microsoft's Kinect rely on clever image processing on camera inputs, capacitive systems offer similar capabilities for close-range interaction - but Nicolas Britos' latest build blows them out of the water in terms of value for money.
Seeing capacitive non-contact gesture recognition hardware as too expensive, Nicolas has built a 3D gesture sensor using little more than an Arduino, some MDF, and a quartet of low-cost infra-red photodiode pairs. Using these, it's possible to recognise a variety of gestures: swiping in four directions, pulling up, pushing down, and holding. Combined with a sample Python program, Nicolas shows how the device can be used to control popular media playback program VLC using a wave of your hand: push down to toggle pause mode, swipe left or right to increase or decrease volume, and swipe up or down to skip to the next or previous track.
I made this sensor because I wanted to add something cool and original to my projects while keeping them cheap and user-friendly. There are a few sensors out there that recognise gestures but they are way too expensive, like the APDS-9960 sensor based breakout board, which costs around US$20. When I started this project I wanted it to be cheap, easy to build, precise and faster than the APDS-9960 sensor. And I achieved it. By using four IR receiver photodiodes we can make an algorithm to detect the type of gesture by analysing their voltages.