Kinect Face Tracking

It is easy to plug a Kinect to PC – all you need is a cheap adapter. Then you can control something with it.
kinect

Watch the video:
Kinect-to-Arduino-to-Pan-and-tilt

It takes a little bit of programming, but that’s the fun part.
Kinect code is written in C# and run on Win7/64 PC. I use example from Kinect SDK. Arduino part is written in Arduino C. They communicate via Serial-over-USB.

Sadly, it is little too late for Halloween. Never mind, I already have a REALLY CRAZY idea for the next year!

People are asking for source codes. Sure, no problems!

Download All Sources

PC sources include Kinekt project and standalone WinForms project for testing communications with Arduino (testing servo operations from Kinekt is quite inconvinient)

If you want to use Kinekt sources, download the toolkit from MS web site and compare project FaceTrackingBasics-WPF with my sources using something like WinMerge. You will see what did I change.

Arduino part is missing code that checks for non-”0″. But it works. The idea was – if there is bad package, or PC-Arduino get out-of-sync, Arduino shall skip bad data and re-sync. However, code works just fine without it, so I never added the last few lines of code.
(do you remember programming Int14 in MS DOS? That thing required all kind of SW recovery and yet worked unreliably, or maybe I just had some bad hardware). Anyways, I tell to myself: it is not broken, so do not fix it.

Oh, and communication protocol is very simple. PC sends to Arduino 3 bytes over and over:
0×00, X, Y

X and Y are in a range from 1 to 255

Enjoy!

3 thoughts on “Kinect Face Tracking

    • I connected them via Windows PC. You will need a Kinect power cable which you can get for little over $10 on Amazon (or maybe cheaper for a low quality one).
      You will also need a USB cable for Arduino, but you need it anyways. You do not really need a motor shield to attach servo motors to Arduino. I made all the sources public – there is download link in the post.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>