Android Controlled Arduino Robot Car
Android Controlled Arduino Robot Car
1 Review
2,500.00
AddThis Sharing Buttons
Share to FacebookShare to TwitterShare to LinkedInShare to Google+Share to PinterestShare to
More
Android controlled arduino robot car make use of an Android mobile phone for robotic
control with the help of HC-05 Bluetooth technology. This is a simple robotics projects using
arduino microcontroller. This project is a bluetooth controlled robot. For this the android mobile
user has to install an application on her/his mobile. This android application could be
downloaded in the android market.
Then user needs to turn on the bluetooth in the mobile. The wireless communication
techniques used to control the robot is bluetooth technology. User can use various commands
like move forward, reverse, stop move left, move right. These commands are sent from the
Android mobile to the bluetooth receiver which is interfaced with the Arduino robot.
Android based robot has a HC-05 Bluetooth receiver unit which receives the commands and
give it to the microcontroller circuit to control the motors. The microcontroller then transmits the
signal to the motor driver IC’s to operate the motors.
Materials used
☞Robo Car
☞Arduino Uno
byte GetValue;
void setup()
Serial.begin(BAUDRATE);
pinMode(MotR_A, OUTPUT);
pinMode(MotR_B, OUTPUT);
pinMode(MotL_A, OUTPUT);
pinMode(MotL_B, OUTPUT);
int ByteRead;
while(!Serial.available());
ByteRead = Serial.read();
return ByteRead;
void loop()
GetValue = ReadOneByte();
switch(GetValue)
case 'L':
Robot_Left();
break;
case 'R':
Robot_Right();
break;
case 'F':
Robot_Forword();
break;
case 'B':
Robot_Reverse();
break;
case 'G':
Robot_Forword();
break;
case 'S':
Robot_Stop();
break;
void Robot_Forword()
digitalWrite(MotR_A, LOW);
digitalWrite(MotR_B, HIGH);
digitalWrite(MotL_B, LOW);
digitalWrite(MotL_A, HIGH);
void Robot_Reverse()
digitalWrite(MotR_A, HIGH);
digitalWrite(MotR_B, LOW);
digitalWrite(MotL_B, HIGH);
digitalWrite(MotL_A, LOW);
}
void Robot_Right()
digitalWrite(MotR_A, HIGH);
digitalWrite(MotR_B, LOW);
digitalWrite(MotL_B, LOW);
digitalWrite(MotL_A, HIGH);
void Robot_Left()
digitalWrite(MotR_A, LOW);
digitalWrite(MotR_B, HIGH);
digitalWrite(MotL_B, HIGH);
digitalWrite(MotL_A, LOW);
void Robot_Stop()
digitalWrite(MotR_A, LOW);
digitalWrite(MotR_B, LOW);
digitalWrite(MotL_B, LOW);
digitalWrite(MotL_A, LOW);
1. Vehicle Mode : By pressing the "joystick" button the user can remote control a vehicle with
specific gestures. For the interpretation of gestures to commands, the application uses the built-in
accelerometer sensor of the smart device. There are 8 different gestures available FRONT
☞BACK
☞LEFT
☞RIGHT
☞FRONT_LEFT
☞FRONT_RIGHT
☞BACK_LEFT
☞BACK_RIGHT
You can set these gestures with your own custom commands through the the menu button "Set
Commands".Additionally, there is a STOP and an ANDROID button that can be assigned with
custom commands as well.
***IMPORTANT*** The mode provides via the menu options the option to change the
orientation of accelerometer axises (X->Y, Y->X) in order to operate properly in Android
phones with different default orientation.
Moreover, menu options provide a sensitivity change button to modify the point where the app
catches the gesture events for this mode. As the title suggests, this mode is specifically designed
to remote control a vehicle which uses a bluetooth module and a microcontroller.
2. Fader Mode : This mode provides the user with a fader-seekbar that can send commands from
0-9 and allow the user to experiment with servos, leds, motors and many more.
3. Controller Mode : This mode provides a standard controller layout with 10 buttons in total that
can be assigned with custom commands. The arrow buttons are specifically designed to send
commands continuously while pressed, in order to simulate an actual controller.
4. Terminal Mode : This mode provides a terminal-like interface in which the user can type and
send an individual or multiple commands which will execute sequentially. Since Arduino serial
port receives one byte at a time, if the user types a string in the input text field, the application
divides that string into characters and sends them one by one to Arduino. It should be noted that
spaces or empty strings are skipped.