A robot that uses Android phone on top of it to detect a face and always point to it. (Arduino and Processing)
Java Arduino
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Nicole Robot

Nicole is a little rover that follows people.

Quick intro

This is a robot I did in one day just to test a proof of concept that I had in mind. It consists of two parts: "Arduino" and "Processing", explained in more detail below

A picture of the robot insides.


I used Processing to write a sketch for an Android handset (Samsung Galaxy SII in this case).

The sketch uses Bluetooth to connect to Arduino and then extracts PImage from the camera, which is then processed by Ketai's library face recognition algorithms, from which the sketch can extract face X, Y coordinates and distance to it.

In this particular application the X coordinate is sent to the Arduino.


Arduino receives an X coordinate which is then used to decide whether the face is somewh ere in the middle (meaning no turning should be done) or not.

If not, then simple if statements are used in order to decide whether the face is on the left of the FOV or right, and after this simple check two continuous servo motors on the robot are turned accordinly using L293D stepper motor driver. Differential drive is used for turning.


If you have any comments/suggestions for my "Nicole" bot feel free to submit them as this is an open project and feedback/improvements are more than welcome.