Bluetooth control car
This car control using smartphone 📱
Components and supplies
1
Arduino UNO
1
HC-05 Bluetooth Module
1
L293D motor driver shield for Arduino Uno
Tools and machines
1
Premium Female/Male Extension Jumper Wires, 40 x 6" (150mm)
Project description
Code
circuit code
c_cpp
1/* 2Code Name: Arduino Bluetooth Car with Front and Back Light Control 3Code URI: https://circuitbest.com/category/arduino-projects/ 4Before uploading the code you have to install the "Adafruit Motor Shield" library 5Open Arduino IDE >> Go to sketch >> Include Libray >> Manage Librays... >> Search "Adafruit Motor Shield" >> Install the Library 6AFMotor Library: https://learn.adafruit.com/adafruit-motor-shield/library-install 7Author: Make DIY 8Author URI: https://circuitbest.com/author/admin/ 9Description: This program is used to control a robot using an app that communicates with Arduino through an HC-05 Bluetooth Module. 10App URI: https://bit.ly/3mn6LuZ 11Version: 1.0 12License: Remixing or Changing this Thing is allowed. Commercial use is not allowed. 13*/ 14 15#include <AFMotor.h> 16 17//initial motors pin 18AF_DCMotor motor1(1, MOTOR12_1KHZ); 19AF_DCMotor motor2(2, MOTOR12_1KHZ); 20AF_DCMotor motor3(3, MOTOR34_1KHZ); 21AF_DCMotor motor4(4, MOTOR34_1KHZ); 22 23int val; 24int Speeed = 255; 25 26void setup() 27{ 28 Serial.begin(9600); //Set the baud rate to your Bluetooth module. 29} 30void loop(){ 31 if(Serial.available() > 0){ 32 val = Serial.read(); 33 34 Stop(); //initialize with motors stoped 35 36 if (val == 'F'){ 37 forward(); 38 } 39 40 if (val == 'B'){ 41 back(); 42 } 43 44 if (val == 'L'){ 45 left(); 46 } 47 48 if (val == 'R'){ 49 right(); 50 } 51 if (val == 'I'){ 52 topright(); 53 } 54 55 if (val == 'J'){ 56 topleft(); 57 } 58 59 if (val == 'K'){ 60 bottomright(); 61 } 62 63 if (val == 'M'){ 64 bottomleft(); 65 } 66 if (val == 'T'){ 67 Stop(); 68 } 69 } 70} 71 72 73 74 75 76 77void forward() 78{ 79 motor1.setSpeed(Speeed); //Define maximum velocity 80 motor1.run(FORWARD); //rotate the motor clockwise 81 motor2.setSpeed(Speeed); //Define maximum velocity 82 motor2.run(FORWARD); //rotate the motor clockwise 83 motor3.setSpeed(Speeed);//Define maximum velocity 84 motor3.run(FORWARD); //rotate the motor clockwise 85 motor4.setSpeed(Speeed);//Define maximum velocity 86 motor4.run(FORWARD); //rotate the motor clockwise 87} 88 89void back() 90{ 91 motor1.setSpeed(Speeed); //Define maximum velocity 92 motor1.run(BACKWARD); //rotate the motor anti-clockwise 93 motor2.setSpeed(Speeed); //Define maximum velocity 94 motor2.run(BACKWARD); //rotate the motor anti-clockwise 95 motor3.setSpeed(Speeed); //Define maximum velocity 96 motor3.run(BACKWARD); //rotate the motor anti-clockwise 97 motor4.setSpeed(Speeed); //Define maximum velocity 98 motor4.run(BACKWARD); //rotate the motor anti-clockwise 99} 100 101void left() 102{ 103 motor1.setSpeed(Speeed); //Define maximum velocity 104 motor1.run(BACKWARD); //rotate the motor anti-clockwise 105 motor2.setSpeed(Speeed); //Define maximum velocity 106 motor2.run(BACKWARD); //rotate the motor anti-clockwise 107 motor3.setSpeed(Speeed); //Define maximum velocity 108 motor3.run(FORWARD); //rotate the motor clockwise 109 motor4.setSpeed(Speeed); //Define maximum velocity 110 motor4.run(FORWARD); //rotate the motor clockwise 111} 112 113void right() 114{ 115 motor1.setSpeed(Speeed); //Define maximum velocity 116 motor1.run(FORWARD); //rotate the motor clockwise 117 motor2.setSpeed(Speeed); //Define maximum velocity 118 motor2.run(FORWARD); //rotate the motor clockwise 119 motor3.setSpeed(Speeed); //Define maximum velocity 120 motor3.run(BACKWARD); //rotate the motor anti-clockwise 121 motor4.setSpeed(Speeed); //Define maximum velocity 122 motor4.run(BACKWARD); //rotate the motor anti-clockwise 123} 124 125void topleft(){ 126 motor1.setSpeed(Speeed); //Define maximum velocity 127 motor1.run(FORWARD); //rotate the motor clockwise 128 motor2.setSpeed(Speeed); //Define maximum velocity 129 motor2.run(FORWARD); //rotate the motor clockwise 130 motor3.setSpeed(Speeed/3.1);//Define maximum velocity 131 motor3.run(FORWARD); //rotate the motor clockwise 132 motor4.setSpeed(Speeed/3.1);//Define maximum velocity 133 motor4.run(FORWARD); //rotate the motor clockwise 134} 135 136void topright() 137{ 138 motor1.setSpeed(Speeed/3.1); //Define maximum velocity 139 motor1.run(FORWARD); //rotate the motor clockwise 140 motor2.setSpeed(Speeed/3.1); //Define maximum velocity 141 motor2.run(FORWARD); //rotate the motor clockwise 142 motor3.setSpeed(Speeed);//Define maximum velocity 143 motor3.run(FORWARD); //rotate the motor clockwise 144 motor4.setSpeed(Speeed);//Define maximum velocity 145 motor4.run(FORWARD); //rotate the motor clockwise 146} 147 148void bottomleft() 149{ 150 motor1.setSpeed(Speeed); //Define maximum velocity 151 motor1.run(BACKWARD); //rotate the motor anti-clockwise 152 motor2.setSpeed(Speeed); //Define maximum velocity 153 motor2.run(BACKWARD); //rotate the motor anti-clockwise 154 motor3.setSpeed(Speeed/3.1); //Define maximum velocity 155 motor3.run(BACKWARD); //rotate the motor anti-clockwise 156 motor4.setSpeed(Speeed/3.1); //Define maximum velocity 157 motor4.run(BACKWARD); //rotate the motor anti-clockwise 158} 159 160void bottomright() 161{ 162 motor1.setSpeed(Speeed/3.1); //Define maximum velocity 163 motor1.run(BACKWARD); //rotate the motor anti-clockwise 164 motor2.setSpeed(Speeed/3.1); //Define maximum velocity 165 motor2.run(BACKWARD); //rotate the motor anti-clockwise 166 motor3.setSpeed(Speeed); //Define maximum velocity 167 motor3.run(BACKWARD); //rotate the motor anti-clockwise 168 motor4.setSpeed(Speeed); //Define maximum velocity 169 motor4.run(BACKWARD); //rotate the motor anti-clockwise 170} 171 172 173void Stop() 174{ 175 motor1.setSpeed(0); //Define minimum velocity 176 motor1.run(RELEASE); //stop the motor when release the button 177 motor2.setSpeed(0); //Define minimum velocity 178 motor2.run(RELEASE); //rotate the motor clockwise 179 motor3.setSpeed(0); //Define minimum velocity 180 motor3.run(RELEASE); //stop the motor when release the button 181 motor4.setSpeed(0); //Define minimum velocity 182 motor4.run(RELEASE); //stop the motor when release the button 183}
Downloadable files
circuit diagram
circuit diagram

circuit diagram
circuit diagram

Comments
Only logged in users can leave comments