Android Mobile Controlled Bluetooth RC Car
Android controlled car
Components and supplies
1
18650 battery x 2
1
Arduino UNO
2
High Brightness LED, White
1
Android device
2
5 mm LED: Red
1
Jumper wires (generic)
1
Acrylic sheet
4
Maker Essentials - Micro-motors & Grippy Wheels
1
HC-05 Bluetooth Module
1
L293D motor driver Adafruit
1
Battery Holder, 18650 x 2
4
DC Motor, 12 V
Apps and platforms
1
Arduino IDE
Project description
Code
Code
arduino
1// https://www.youtube.com/channel/UCaXI2PcsTlH5g0et67kdD6g // 2// Smartphone controlled Robot // 3// By MOHD SOHAIL // 4 5#include <AFMotor.h> 6 7AF_DCMotor motor1(1, MOTOR12_1KHZ); 8AF_DCMotor motor2(2, MOTOR12_1KHZ); 9AF_DCMotor motor3(3, MOTOR34_1KHZ); 10AF_DCMotor motor4(4, MOTOR34_1KHZ); 11 12int whiteled = A5; 13int redled = A4; 14 15char command; 16 17void setup() 18{ 19 Serial.begin(9600); 20 pinMode(whiteled, OUTPUT); 21 pinMode(redled, OUTPUT); 22} 23 24void loop(){ 25 if(Serial.available() > 0){ 26 command = Serial.read(); 27 Stop(); 28 29 switch(command){ 30 case 'F': 31 forward(); 32 break; 33 case 'B': 34 back(); 35 break; 36 case 'L': 37 left(); 38 break; 39 case 'R': 40 right(); 41 break; 42 case 'S': 43 Stop(); 44 break; 45 case 'a': 46 on(); 47 break; 48 case 'b': 49 off(); 50 break; 51 } 52 } 53} 54 55void forward() 56{ 57 motor1.setSpeed(150); //Define maximum velocity 58 motor1.run(FORWARD); //rotate the motor clockwise 59 motor2.setSpeed(150); //Define maximum velocity 60 motor2.run(FORWARD); //rotate the motor clockwise 61 motor3.setSpeed(150);//Define maximum velocity 62 motor3.run(FORWARD); //rotate the motor clockwise 63 motor4.setSpeed(150);//Define maximum velocity 64 motor4.run(FORWARD); 65 digitalWrite(redled , LOW);//rotate the motor clockwise 66} 67 68void back() 69{ 70 motor1.setSpeed(150); //Define maximum velocity 71 motor1.run(BACKWARD); //rotate the motor anti-clockwise 72 motor2.setSpeed(150); //Define maximum velocity 73 motor2.run(BACKWARD); //rotate the motor anti-clockwise 74 motor3.setSpeed(150); //Define maximum velocity 75 motor3.run(BACKWARD); //rotate the motor anti-clockwise 76 motor4.setSpeed(150); //Define maximum velocity 77 motor4.run(BACKWARD); //rotate the motor anti-clockwise 78digitalWrite(redled , HIGH); 79} 80 81void left() 82{ 83 motor1.setSpeed(150); //Define maximum velocity 84 motor1.run(BACKWARD); //rotate the motor anti-clockwise 85 motor2.setSpeed(150); //Define maximum velocity 86 motor2.run(BACKWARD); //rotate the motor anti-clockwise 87 motor3.setSpeed(150); //Define maximum velocity 88 motor3.run(FORWARD); //rotate the motor clockwise 89 motor4.setSpeed(150); //Define maximum velocity 90 motor4.run(FORWARD); //rotate the motor clockwise 91 digitalWrite(redled , LOW); 92} 93 94void right() 95{ 96 motor1.setSpeed(150); //Define maximum velocity 97 motor1.run(FORWARD); //rotate the motor clockwise 98 motor2.setSpeed(150); //Define maximum velocity 99 motor2.run(FORWARD); //rotate the motor clockwise 100 motor3.setSpeed(150); //Define maximum velocity 101 motor3.run(BACKWARD); //rotate the motor anti-clockwise 102 motor4.setSpeed(150); //Define maximum velocity 103 motor4.run(BACKWARD); //rotate the motor anti-clockwise 104 digitalWrite(redled , LOW); 105} 106 107void Stop() 108{ 109 motor1.setSpeed(0); //Define minimum velocity 110 motor1.run(RELEASE); //stop the motor when release the button 111 motor2.setSpeed(0); //Define minimum velocity 112 motor2.run(RELEASE); //rotate the motor clockwise 113 motor3.setSpeed(0); //Define minimum velocity 114 motor3.run(RELEASE); //stop the motor when release the button 115 motor4.setSpeed(0); //Define minimum velocity 116 motor4.run(RELEASE); //stop the motor when release the button 117 digitalWrite(redled , LOW); 118} 119 120void on() 121{ 122 digitalWrite(whiteled , HIGH); 123} 124 125void off() 126{ 127 digitalWrite(whiteled , LOW); 128} 129
Code
arduino
1// https://www.youtube.com/channel/UCaXI2PcsTlH5g0et67kdD6g // 2// Smartphone controlled Robot // 3// By MOHD SOHAIL // 4 5#include <AFMotor.h> 6 7AF_DCMotor motor1(1, MOTOR12_1KHZ); 8AF_DCMotor motor2(2, MOTOR12_1KHZ); 9AF_DCMotor motor3(3, MOTOR34_1KHZ); 10AF_DCMotor motor4(4, MOTOR34_1KHZ); 11 12int whiteled = A5; 13int redled = A4; 14 15char command; 16 17void setup() 18{ 19 Serial.begin(9600); 20 pinMode(whiteled, OUTPUT); 21 pinMode(redled, OUTPUT); 22} 23 24void loop(){ 25 if(Serial.available() > 0){ 26 command = Serial.read(); 27 Stop(); 28 29 switch(command){ 30 case 'F': 31 forward(); 32 break; 33 case 'B': 34 back(); 35 break; 36 case 'L': 37 left(); 38 break; 39 case 'R': 40 right(); 41 break; 42 case 'S': 43 Stop(); 44 break; 45 case 'a': 46 on(); 47 break; 48 case 'b': 49 off(); 50 break; 51 } 52 } 53} 54 55void forward() 56{ 57 motor1.setSpeed(150); //Define maximum velocity 58 motor1.run(FORWARD); //rotate the motor clockwise 59 motor2.setSpeed(150); //Define maximum velocity 60 motor2.run(FORWARD); //rotate the motor clockwise 61 motor3.setSpeed(150);//Define maximum velocity 62 motor3.run(FORWARD); //rotate the motor clockwise 63 motor4.setSpeed(150);//Define maximum velocity 64 motor4.run(FORWARD); 65 digitalWrite(redled , LOW);//rotate the motor clockwise 66} 67 68void back() 69{ 70 motor1.setSpeed(150); //Define maximum velocity 71 motor1.run(BACKWARD); //rotate the motor anti-clockwise 72 motor2.setSpeed(150); //Define maximum velocity 73 motor2.run(BACKWARD); //rotate the motor anti-clockwise 74 motor3.setSpeed(150); //Define maximum velocity 75 motor3.run(BACKWARD); //rotate the motor anti-clockwise 76 motor4.setSpeed(150); //Define maximum velocity 77 motor4.run(BACKWARD); //rotate the motor anti-clockwise 78digitalWrite(redled , HIGH); 79} 80 81void left() 82{ 83 motor1.setSpeed(150); //Define maximum velocity 84 motor1.run(BACKWARD); //rotate the motor anti-clockwise 85 motor2.setSpeed(150); //Define maximum velocity 86 motor2.run(BACKWARD); //rotate the motor anti-clockwise 87 motor3.setSpeed(150); //Define maximum velocity 88 motor3.run(FORWARD); //rotate the motor clockwise 89 motor4.setSpeed(150); //Define maximum velocity 90 motor4.run(FORWARD); //rotate the motor clockwise 91 digitalWrite(redled , LOW); 92} 93 94void right() 95{ 96 motor1.setSpeed(150); //Define maximum velocity 97 motor1.run(FORWARD); //rotate the motor clockwise 98 motor2.setSpeed(150); //Define maximum velocity 99 motor2.run(FORWARD); //rotate the motor clockwise 100 motor3.setSpeed(150); //Define maximum velocity 101 motor3.run(BACKWARD); //rotate the motor anti-clockwise 102 motor4.setSpeed(150); //Define maximum velocity 103 motor4.run(BACKWARD); //rotate the motor anti-clockwise 104 digitalWrite(redled , LOW); 105} 106 107void Stop() 108{ 109 motor1.setSpeed(0); //Define minimum velocity 110 motor1.run(RELEASE); //stop the motor when release the button 111 motor2.setSpeed(0); //Define minimum velocity 112 motor2.run(RELEASE); //rotate the motor clockwise 113 motor3.setSpeed(0); //Define minimum velocity 114 motor3.run(RELEASE); //stop the motor when release the button 115 motor4.setSpeed(0); //Define minimum velocity 116 motor4.run(RELEASE); //stop the motor when release the button 117 digitalWrite(redled , LOW); 118} 119 120void on() 121{ 122 digitalWrite(whiteled , HIGH); 123} 124 125void off() 126{ 127 digitalWrite(whiteled , LOW); 128} 129
Downloadable files
Circuit Diagram
Circuit Diagram

Comments
Only logged in users can leave comments