Project: Smartphone Controlled Robot
Control your robot wirelessly using Bluetooth and your smartphone!
Components Needed
- Arduino Uno
- HC-05 Bluetooth Module
- L298N Motor Driver
- 2× DC Motors
- Chassis and battery
HC-05 Bluetooth Module Wiring
- VCC: 5V (Arduino)
- GND: GND (Arduino)
- TX: Pin 10 (Arduino RX via voltage divider)
- RX: Pin 11 (Arduino TX)
Arduino Code
#include
SoftwareSerial bluetooth(10, 11); // RX, TX
// Motor pins
const int enA = 9;
const int in1 = 8;
const int in2 = 7;
const int enB = 3;
const int in3 = 5;
const int in4 = 4;
char command;
const int motorSpeed = 200;
void setup() {
pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
bluetooth.begin(9600);
Serial.begin(9600);
Serial.println("Bluetooth Robot Ready!");
}
void loop() {
if (bluetooth.available()) {
command = bluetooth.read();
Serial.println(command);
switch(command) {
case 'F': // Forward
moveForward();
break;
case 'B': // Backward
moveBackward();
break;
case 'L': // Left
turnLeft();
break;
case 'R': // Right
turnRight();
break;
case 'S': // Stop
stopRobot();
break;
}
}
}
void moveForward() {
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(enA, motorSpeed);
analogWrite(enB, motorSpeed);
}
void moveBackward() {
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
analogWrite(enA, motorSpeed);
analogWrite(enB, motorSpeed);
}
void turnLeft() {
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(enA, motorSpeed);
analogWrite(enB, motorSpeed);
}
void turnRight() {
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
analogWrite(enA, motorSpeed);
analogWrite(enB, motorSpeed);
}
void stopRobot() {
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}
Smartphone App Setup
Download "Arduino Bluetooth Controller" app from Play Store:
- Install and open the app
- Pair with HC-05 (default password: 1234 or 0000)
- Connect to "HC-05" device
- Configure buttons: F=Forward, B=Backward, L=Left, R=Right, S=Stop
- Control your robot!
Challenge: Add speed control using a slider in the app!