Android+Arduino – Face Following RC Car

androidRCcar_01_14

To some of us, hacking an RC Car to simply follow a black line or avoid obstacles is too easy, and we’re sure [Shazin] would agree with that, since he created an RC Car that follows your face!

The first step to this project was to take control of the RC Car, but instead of hijacking the transmitter, [Shazin] decided to control the car directly. This isn’t any high-end RC Car though, so forget about PWM control. Instead, a single IC (RX-2) was found to handle both the RF Receiver and H-Bridges. After a bit of probing, the 4 control lines (forward/back and left/right) were identified and connected to an Arduino.

[Shazin] paired the Arduino with a USB Host Shield and connected it up with his Android phone through the ADB (Android Debug Bridge). He then made some modifications to the OpenCV Android Face Detection app to send commands to the Arduino based on ‘where’ the Face is detected; if the face is in the right half of the screen, turn right, if not, turn left and go forward.

This is a really interesting project with a lot of potential; we’re just hoping [Shazin] doesn’t have any evil plans for this device like strapping it to a Tank Drone that locks on to targets!

25 thoughts on “Android+Arduino – Face Following RC Car

      1. …and no I am not biased at all I’ve been trying to get it up an running for the past 1.5 hour or so. I get all the time >>
        …android-sdk\tools\ant\build.xml:720: The following error occurred while executing this line:
        …android-sdk\tools\ant\build.xml:734: Compile failed; see the compiler error output for details.
        This is just a recurring nightmare and those who have used it know what I am talking about

        1. Hi Kerimil,

          Depending what Processing version you got it’s most likely you would have to downgrade. If my memory doesn’t fail me, I used 2.0b7 version (the newest at the time) to compile the sketch.

          I haven’t used Processing for Android lately, so I don’t know of the current situation, but I will have to agree on the fact that the compiler might get a bit temperamental at first.

          I guess that’s the price you pay for rapid prototyping.

          1. Yeah I know I’ve been using processing for a while. I keep about 3 or 4 different versions (including 2.0b7) specifically because of this reason. Every new version their release causes backward compatibility problems… Shame really it’s awesome, but each version just causes more and more problems.

  1. Wanted to post a comment earlier but somehow they didn’t appear at all. Ok first of all I’ve been trying to achieve something similar for some time. Have you thought about using an app that acts as a TCP to serial through USB (host) ? There’s one called Redirector TCP_SerPort that should be able to do it – you wouldn’t need USB host shield. Also you could implement serial through USB – there are tutorials on it.

    Actually I am looking for someone who’s proficient in Eclipse and android development, because I want USB through serial added to MIT’s appinventor. Their team doesn’t seem very interested in it and I am not even beginer level when it comes to eclipse.

  2. Neat! Watching the video got me to thinking of a simple modification – if it runs into a wall (detected somehow), automatically turn it around and keep looking for a face to follow.

        1. well, i guess it is time to move into IOIO, then, cuz this project is too good to miss :)

          the thing about arduino is that when we decide to go with big motors, the hbridge is available, maybe some L293 or L298 or real power ones.

          i have this idea just yet, man. what if you make this project much simpler, like just following a ball, or move forward 1cm if it sees a green or red object. no need for complicated algorithms like PID or such. the idea is to show us newbies, “how to make android robot move after receiving signal of seeing red or green object”. i am sure there are lots of newbies can learn this fundamental of android AUTONOMOUS system. to learn and understand AUTONOMOUS in mobile platform is just like a wild imagination of non roboticist people. if you can make this simple and make an instructional video on how to install and plug this into that, etcs, this will be “super cool AUTONOMOUS robot project for even starters”. imagine even enthusiastic people with no programing bavkground can get an autonomous system they build themselves, man! and they understand the codes rather easily too, cuz they using IOIO! everything is simplified, and newbies can be “super cool in robotics” in an instant. thats like too good to even dream of for the common people. this idea sounds neat, aint it, man? :)

          cheers :)

          1. Hey, there is nothing wrong with building the simplest functionality first. Otherwise, it would be like eating an elephant in one bite, as opposed to many bites. Anyway, I failed to mention that there is a shield adapter that allows you to use all the Arduino Uno shields available in the market (like the hbridge shield) with the IOIO board. You can buy it here:

            http://www.richmayfield.com/store/IOIO-Shield-Adapter

        2. on the way to buy it, man :)

          will you make it simpler in algorithms, man, like even simplest. then make an instructional video on how to put everything together, plug what into what, then install what. or just make a writing about that, with a schematic, then we newbies can have AUTONOMOUS mobile system on our hands in no time. i agree with the idea od using IOIO, so we can get rid of hbridge programming and its pins; it scares us away. we beg you that, man :)

  3. well, i guess it is time to move into IOIO, then, cuz this project is too good to miss :)

    the thing about arduino is that when we decide to go with big motors, the hbridge is available, maybe some L293 or L298 or real power ones.

    i have this idea just yet, man. what if you make this project much simpler, like just following a ball, or move forward 1cm if it sees a green or red object. no need for complicated algorithms like PID or such. the idea is to show us newbies, “how to make android robot move after receiving signal of seeing red or green object”. i am sure there are lots of newbies can learn this fundamental of android AUTONOMOUS system. to learn and understand AUTONOMOUS in mobile platform is just like a wild imagination of non roboticist people. if you can make this simple and make an instructional video on how to install and plug this into that, etcs, this will be “super cool AUTONOMOUS robot project for even starters”. imagine even enthusiastic people with no programing bavkground can get an autonomous system they build themselves, man! and they understand the codes rather easily too, cuz they using IOIO! everything is simplified, and newbies can be “super cool in robotics” in an instant. thats like too good to even dream of for the common people. this idea sounds neat, aint it, man? :)

    cheers :)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.