Combine low-tech materials with some high-tech components and build a completely Touchless 3D Tracking Interface. Explore capacitive sensing by using several panels of cardboard lined with aluminum foil. These panels, when charged, create electric fields that correspond to X, Y, and Z axes to create a 3D cube. With the aid of an Arduino microcontroller and some supplied code, movements inside the cube are tracked as your hand moves around inside the field.

For Weekend Projects makers looking for an introduction to Arduino, this is a great project to learn from. Once you’ve gathered all your parts, this project should only take a couple hours to complete – you’ll be playing 3D Tic Tac Toe before the weekend is over!

Once your touchless 3D tracker is up and running, what you do with it is only limited by your own imagination! The original implementation of this project comes from media artist Kyle McDonald, who has suggested the following uses and applications:

I’m an artist & maker. A lifelong biblioholic, and advocate for all-things geekathon. Home is Long Island City, Queens, which I consider the greatest place on Earth. 5-year former Resident of Flux Factory, co-organizer for World Maker Faire (NYC), and blogger all over the net. Howdy!

Finally made this, but still I’m not 100% sure how this works. I don’t see a circuit completed. There is a 5v supply but from what I understand it’s there to deal with the shielding wire (how exactly btw?) other then that, there are three parallel lines running through the 10kohm resistors to each plane, and that’s where it ends (or does it?) the foil is one side of the capacitor, is your hand the other “grounded” end? Or do the plates interact with each other and thus get charged so your hand alters/disturbs that interaction? (like a dielectric or something?) Sorry for being such a noob but I would appreciate any form of explanation. :)

http://www.stephenhobley.com Steve Hobley

Hi,

I have a pretty good feel for how this works – although I’m not sitting in front of the code right now.

We are basically dealing with a capacitive sensor, and so it isn’t obvious that there’s a classic circuit involved.

One plate of the capacitor is the foil and the other plate is you. When you move your hand closer to the plate you are “offering up” electrons from ground that make the plate hold on to a positive charge for a slightly longer time. The Arduino is measuring the time it takes for the voltage to drop on the input pin connected to the plate. If your arm is close then the charge (and therefore voltage) will stick around just a tiny bit longer than normal. The closer you are, the longer the time the positive (+5v) voltage will take to drop. This time value indicates that how close your hand is.

The plates should not be interacting with each other, as each plate is charged and the time value measured in a “round-robin” fashion – albeit very quickly.

The 5v is shielding the wires running from the plates from external interference.

It’s important that the laptop/pc be grounded for this to work – as the implied ground is what completes the circuit.

This is also one of those unfortunate situations where electron flow being opposite to current flow creates a bit of a cognitive problem.

I hope that helps to explain what’s going on.

Steve

dnx2000

Thanks a lot for the explanation! Just for final clarification, are you saying that on one end your hand is offering electrons, since you are grounded, and on the other end the circuit is completed, since the laptop/PC is grounded, which is in turn connected to the Arduino? If that’s the case, does that mean that the “capacitor” that’s formed is in series, or is there a parallel that I missed? Thanks again!

http://www.stephenhobley.com Steve Hobley

If I understand you correctly, then the capacitor is in series in the circuit.
(But there are 3 parallel circuits – one for each plate)

mind blowing project…. very nice Steve Hobley and i wishes your are created more and more project these types….

Manojit

this is amazing and i am doing this project for my small term college project fest.
so Steve, i would like to know the coding..could u please explain the coding so that i can explain it further to the audience who come for an explanation..! it would be a very big help as my project submission day is tomorrow..lol my bad :P and i came up this website just now. so help needed ASAP

http://www.stephenhobley.com Steve Hobley

It’s really very simple code – the Arduino is just measuring the time for the pins to change state. The proximity of your hand will affect how long this takes, so it’s possible to figure out how close someone’s hand is by measuring this time value.

The processing code reads these timing values from the serial port and uses some rather cool (and not mine) code to render a 3D representation of where your hand is.

I would like to know how to run the processing and arduino part in this project. Can to please give me some instructions. I have never done anything like this before so I would like to try it.

Thanks

Nick Normal

Hi NG, can you clarify: do you mean how to install the Arduino software and connect it to your Arduino, or something more specific to this project?

onders

Hello nick i am having some issues getting the tictactoe3D program to work and you seem to be well educated on how to problem solve with programs. Every time I run it, it just shows up as a blank cube with no points on it. What am I doing wrong? Thanks in advance

http://www.facebook.com/doneyc11226 Chris Doney

This is an amazing project. It got me thinking… Would it be possible to have a large piece of cardboard, (screen size(placed flat on a wall)) surrounded by 4 pieces of cardboard about an inch to two inches, coming outward, which will act as a touch/touchless interface? If this is possible does anyone know how? (Since i have no working knowledge of electronics, above basic wiring that is.) Also This design would have 5 different surfaces to work with instead of just 3 so could it also be used to track gestures? Thank’s in advance for all input. :)

jake

as far as i know that would let you track the movement of a HAND through two dimensions plus touching/not touching which would let you do gestures with your entire hand but not with only your fingers, it would be possible two track two hands as long as you have AWESOME coding skills!