Last week, between spare time from making material for coding classes at Framework, I made a small prototype of a finger gesture-controlled robot. Gestural control has been something that fascinates me for quite a year now and since I have a robot kit idle, I thought that this would be a good time to use gesture as an input to something other than pixel-based material.
I use Leap Motion as the sensor and input, get Processing to read the data of finger numbers and transmit it via serial to Arduino which in turns, orchestrate which wheel to move and its respective movement direction. I use a 2-wheel robot which is controlled by an L298 motor shield.
Here’s the demo
Overall, prototyping this isn’t that hard. It’s been a while since I use Leap Motion, it has upgraded its SDK, so took me a while to read it over and I guess that was the major part. Otherwise, getting it count number of fingers and send it via serial is pretty trivial.
On the hardware side, I have some difficulties in setting up the hardware to move the motor according to what I need. Even though I think I’ve wired them properly, I found that one of the motor movement is in the opposite of what I wrote in code. Though I can live with that, the code isn’t so much intuitive. Maybe I should use a different motor driver. But, that’s for another day.
Full list of components use to make this:
- Leap Motion
- DFRobot Leonardo
- DFRobot 2A Motor Shield for Arduino
- DFRobot 2WD miniQ Robot Chassis
- Leap Motion Library for Processing
Of course this isn’t the final form of the experiment as I have plans for its further development. So, keep yourself posted.