Beautiful Bluetooth Controlled Car
Unlike any other car project
Components and supplies
1
Any RC car
1
Dual H-Bridge motor drivers L298
1
9V battery (generic)
5
AA Batteries
2
Resistor 220 ohm
1
Arduino UNO
1
Jumper wires (generic)
1
Breadboard (generic)
1
HC-05 Bluetooth Module
Apps and platforms
1
Arduino IDE
Project description
Code
the code for using the HC-05
c_cpp
It is simple and very basic
1//this is by using the HC-05 2#include<SoftwareSerial.h> 3int bluetoothTx = 2; 4int bluetoothRx = 3; 5SoftwareSerial bluetooth(bluetoothTx, bluetoothRx); 6 7int flights =4; //front lights of the car 8int rlights = 5; //rear lights 9int spot = 9; //optional big led at the top 10 11int front = 11; //motors go forward 12int back = 10; //motors go backwrads 13int left = 13; //wheels turn left 14int right = 12; //wheels turn right 15char command ; 16 17 18void setup() { //define the inputs and the outputs 19 20 pinMode(front, OUTPUT); 21 pinMode(back, OUTPUT); 22 pinMode(left, OUTPUT); 23 pinMode(right, OUTPUT); 24 pinMode(flights, OUTPUT); 25 pinMode(rlights, OUTPUT); 26 27 Serial.begin(9600); 28 29 bluetooth.begin(9600); 30 31} 32 33void loop() { 34 35 get_command(); 36 37 Serial.println(command); // to show the actual user commands 38 39do_action(command); //the function of all controls 40 41 42 43 44} 45 46void get_command (){ 47 while (bluetooth.available() <= 0) { 48 } 49 command = bluetooth.read(); 50 do_action(command); 51 } 52 53 void do_action(char act){ 54 switch (act) { //those cases are optimsed to work with arduino car remote app 55 case 'F': //moving the Car Forward 56 57 digitalWrite(back, LOW); 58 digitalWrite(front, HIGH); 59 digitalWrite(left, LOW); 60 digitalWrite(right, LOW); 61 62 break; 63 case 'B': //moving the Car Backward 64 digitalWrite(front, LOW); 65 digitalWrite(back, HIGH); 66 digitalWrite(left, LOW); 67 digitalWrite(right, LOW); 68 69 break; 70 case 'L': //moving the Car Left 71 digitalWrite(front, LOW); 72 digitalWrite(left, HIGH); 73 digitalWrite(right, LOW); 74 digitalWrite(back, LOW); 75 76 77 break; 78 case 'R': //moving the Car Right 79 digitalWrite(front, LOW); 80 digitalWrite(right, HIGH); 81 digitalWrite(back, LOW); 82 digitalWrite(left, LOW); 83 84 85 break; 86 case 'S': //Stop 87 88 digitalWrite(front, LOW); 89 digitalWrite(back, LOW); 90 digitalWrite(left, LOW); 91 digitalWrite(right, LOW); 92 93 break; 94 case 'I': //moving Forward right 95 digitalWrite(back, LOW); 96 digitalWrite(front, HIGH); 97 digitalWrite(left, LOW); 98 digitalWrite(right, HIGH); 99 break; 100 case 'J': //moving backward right 101 digitalWrite(front, LOW); 102 digitalWrite(back, HIGH); 103 digitalWrite(left, LOW); 104 digitalWrite(right, HIGH); 105 break; 106 case 'G': //moving Car Forward left 107 digitalWrite(back, LOW); 108 digitalWrite(front, HIGH); 109 digitalWrite(right, LOW); 110 digitalWrite(left, HIGH); 111 112 break; 113 case 'H': //moving the Car backward left 114 digitalWrite(front, LOW); 115 digitalWrite(back, HIGH); 116 digitalWrite(right, LOW); 117 digitalWrite(left, HIGH); 118 break; 119 case 'W' : //turning on the lights 120 digitalWrite(flights, HIGH); 121 digitalWrite(rlights, HIGH); 122 break; 123 case 'w' : //turning off the lights 124 digitalWrite(flights, LOW); 125 digitalWrite(rlights, LOW); 126 break; 127 case 'U' : //turning on all the big led light 128 digitalWrite(spot, HIGH); 129 break; 130 case 'u' : //turning it off 131 digitalWrite(spot, LOW); 132 break; 133 default : break; 134 } 135 }
the code for using the HC-05
c_cpp
It is simple and very basic
1//this is by using the HC-05 2#include<SoftwareSerial.h> 3int bluetoothTx = 2; 4int bluetoothRx = 3; 5SoftwareSerial bluetooth(bluetoothTx, bluetoothRx); 6 7int flights =4; //front lights of the car 8int rlights = 5; //rear lights 9int spot = 9; //optional big led at the top 10 11int front = 11; //motors go forward 12int back = 10; //motors go backwrads 13int left = 13; //wheels turn left 14int right = 12; //wheels turn right 15char command ; 16 17 18void setup() { //define the inputs and the outputs 19 20 pinMode(front, OUTPUT); 21 pinMode(back, OUTPUT); 22 pinMode(left, OUTPUT); 23 pinMode(right, OUTPUT); 24 pinMode(flights, OUTPUT); 25 pinMode(rlights, OUTPUT); 26 27 Serial.begin(9600); 28 29 bluetooth.begin(9600); 30 31} 32 33void loop() { 34 35 get_command(); 36 37 Serial.println(command); // to show the actual user commands 38 39do_action(command); //the function of all controls 40 41 42 43 44} 45 46void get_command (){ 47 while (bluetooth.available() <= 0) { 48 } 49 command = bluetooth.read(); 50 do_action(command); 51 } 52 53 void do_action(char act){ 54 switch (act) { //those cases are optimsed to work with arduino car remote app 55 case 'F': //moving the Car Forward 56 57 digitalWrite(back, LOW); 58 digitalWrite(front, HIGH); 59 digitalWrite(left, LOW); 60 digitalWrite(right, LOW); 61 62 break; 63 case 'B': //moving the Car Backward 64 digitalWrite(front, LOW); 65 digitalWrite(back, HIGH); 66 digitalWrite(left, LOW); 67 digitalWrite(right, LOW); 68 69 break; 70 case 'L': //moving the Car Left 71 digitalWrite(front, LOW); 72 digitalWrite(left, HIGH); 73 digitalWrite(right, LOW); 74 digitalWrite(back, LOW); 75 76 77 break; 78 case 'R': //moving the Car Right 79 digitalWrite(front, LOW); 80 digitalWrite(right, HIGH); 81 digitalWrite(back, LOW); 82 digitalWrite(left, LOW); 83 84 85 break; 86 case 'S': //Stop 87 88 digitalWrite(front, LOW); 89 digitalWrite(back, LOW); 90 digitalWrite(left, LOW); 91 digitalWrite(right, LOW); 92 93 break; 94 case 'I': //moving Forward right 95 digitalWrite(back, LOW); 96 digitalWrite(front, HIGH); 97 digitalWrite(left, LOW); 98 digitalWrite(right, HIGH); 99 break; 100 case 'J': //moving backward right 101 digitalWrite(front, LOW); 102 digitalWrite(back, HIGH); 103 digitalWrite(left, LOW); 104 digitalWrite(right, HIGH); 105 break; 106 case 'G': //moving Car Forward left 107 digitalWrite(back, LOW); 108 digitalWrite(front, HIGH); 109 digitalWrite(right, LOW); 110 digitalWrite(left, HIGH); 111 112 break; 113 case 'H': //moving the Car backward left 114 digitalWrite(front, LOW); 115 digitalWrite(back, HIGH); 116 digitalWrite(right, LOW); 117 digitalWrite(left, HIGH); 118 break; 119 case 'W' : //turning on the lights 120 digitalWrite(flights, HIGH); 121 digitalWrite(rlights, HIGH); 122 break; 123 case 'w' : //turning off the lights 124 digitalWrite(flights, LOW); 125 digitalWrite(rlights, LOW); 126 break; 127 case 'U' : //turning on all the big led light 128 digitalWrite(spot, HIGH); 129 break; 130 case 'u' : //turning it off 131 digitalWrite(spot, LOW); 132 break; 133 default : break; 134 } 135 }
Downloadable files
schematic
schematic
the basic montage
It is easier than it seems ! dont worry :)
the basic montage
schematic
schematic
Comments
Only logged in users can leave comments