Introduction: Smart Car Working by Movement of the Finger
That’s my project smart car it not working by mobile or normal remote
It works by a glove so the remote control is movement of my finger
Step 1: How It Work
The flex sensor sense the movement of my finger and send to
the Arduino a different value
So with this value i did some position and make the Arduino send to the another Arduino in the car via the Bluetooth some data and make the car move by movement my finger
And I put RGB LED one in the glove and another in the car so every movement the LED in the car and in the glove make the same colour
I did 6 movements by my finger to move the car and 6 different colour LED in every movement
And while my finger moves in position I didn’t Calibrated the LED will make a White light in both in the glove and in the car.
Step 2: Get the Parts
Thats all things we need to make this project
4WD Smart Robot Car Chassis Kit
2* Arduino NANO
3* Battery 9V
4* Relay 5V
2* PCB switch
3* 9V Battery Clip
2* Regulator 5V
2* LED RGB
2* Bluetooth module
4* Transistor 2N3904
2* Female Header 6 Pin
2* Female Header 40 Pin
8* PCB Terminal Block 2 Pin
6* Resistors 320 ohm (For RGB LED)
Resistor 1K ohm (For flex sensor)
4* Resistor 250 ohm (For transistors)
PCB 9x15 cm2 Bread Board Shape
PCB 5x7 cm2 Bread Board Shape
Step 3: Slave
So for example, if we type just “AT” which is a test command we should
get back the message “OK”.
Then if we type “AT+UART?” we should get back the massage that shows the default baud rate which is 38400.
Then if we type “AT+ROLE?” we will get back a massage “+ROLE=0” which means that the Bluetooth device is in slave mode.
If we type “AT+ADDR?” we will get back the address of the Bluetooth module and it should looks something like this: 98d3:34:905d3f.
Now we need to write down this address as we will need it when configuring the master device.
Actually that’s all we need when configuring the slave device, to get its address, although we can change many different parameters like its name, baud rate, pairing password and so on, but we won’t do that for this example.
Step 4: Master
Ok now let’s move on and configure the other Bluetooth module as a
First we will check the baud rate to make sure it’s the same 38400 as the slave device.
Then by typing “AT+ROLE=1” we will set the Bluetooth module as a master device.
After this using the “AT+CMODE=0” we will set the connect mode to “fixed address” and using the “AT+BIND=” command we will set the address of the slave device that we previously wrote down.
Note here that when writing the address we need to use commas instead
Also note that we could have skipped the previous step if we entered “1” instead of “0” at the “AT+CMODE” command, which makes the master to connect to any device in its transmission range but that’s less secure configuration.
that’s all we need for a basic configuration of the Bluetooth modules to work as a master and slave devices and now if we reconnect them in normal, data mode, and re-power the modules, in a matter of seconds the master will connect to the slave.
Both modules will start flashing every 2 seconds indicating a successful connection.
Step 5: Desgin Circuit TX
The electronic circuit in the glove take input 5V but I put a battery 9V
so I add Regulator 5V to reduce the voltage and between the regulator and the battery switch ON, OFF.
The flex sensor put in A2 and it connect in the same pin of the flex sensor the Vcc 5V and resistor 1K.
And in the another pin in flex sensor connect to ground.
RGB LED the Red pin connect with pin 12 in Arduino and the pin Green connect with pin 10 in Arduino and the pin Blue connect with pin 9 in Arduino.
And I use resistors 230 ohm for RGB LED.
The Bluetooth module take 5V Vcc and ground from Arduino and TX pin in modulo connect with RX pin in Arduino.
And the RX pin in the module connect with TX pin in the Arduino.
Step 6: The Glove
So what we will do in this step
We will first put the flex sensor in the glove but before you put it you should solder two wires in the sensor
You will use a multipurpose double face tape and hot glue to can put the sensor in the glove and protect it coz after this you will put some glue to be ensure it will not take off
And you will put also some glue in the board and also in the battery
Step 7: Calibration
In this step you need to Calibration the value of the position of your finger to can make a six movement of the car
You will Calibration a six position for your finger
I just used one flex sensor if you see this very hard you can use two or three or five if you want
So anyway you will need to Calibration six position for forward movement, left movement, right movement, backward movement, right backward movement and left back movement
Step 8: Programming the Glove (TX)
This programming for Arduino in the Glove TX circuit
Frist you should defined the TX pin and RX pin for Bluetooth module
With this code
SoftwareSerial mySerial(0, 1);
And I increase value I take from flex sensor coz I just use one flex sensor
So by changing in the mapping you can increase the value
flexposition = map(flexposition, 1, 10, 1, 999);
And something else important the bound rate you select should be the bound rate of your sensor to can send the data.
The bound rate in TX circuit and RX circuit should be the same bound rate.
Step 9: Desgin Circuit RX
The circuit in the car (RX circuit)
Arduino take input 5V but the motors take 12V or 9V
So I put regulator 5V and connect it with Arduino
And the motor takes the input before the regulator.
So I used NPN transistor and Relay 5V as a digital switch to close the circuit between the battery and the motors
I used four transistor and four Relay 5V coz I use four motors.
And the base of the transistor 1 connect with Pin8, the base of the transistor 2 connect with Pin7, the base of the transistor 3 connect with Pin6 and the base of the transistor 4 connect with Pin5.
So when transistor get the signal from the base the circuit of the battery and the motor closing.
There’s also RGB LED make the same light of the RGB LED in the TX
The Red pin connect with pin 12 in Arduino and the pin Green connect with pin 10 in Arduino and the pin Blue connect with pin 9 in Arduino.
And I use resistors 230 ohm for RGB LED.
The Bluetooth module take 5V Vcc and ground from Arduino and TX pin in modulo connect with RX pin in Arduino and the RX pin in the module connect with TX pin in the Arduino.
Step 10: The Frame
In this step we will first soldering a wires in the motors
And then we will put the motors and wheals in the frame
So we will be also put the electronic circuit of RX circuit in the frame
And we will connect the wires of the motors we soldered in first in the circuit we will just put it in the PCB Terminal Block
Then we will add the battery
Step 11: Programming the Car (RX)
This programming of Arduino in the car (RX circuit).
So what this programming actually do?
It will receive the data from the glove like 1 or 2 or 3
And every data the car will move a movement for the six movement
You should choose the same bound rate of the TX circuit and to can the Arduino reading the data
And in RX circuit there’s a RGB LED it make the same colour of the RGB LED in the TX circuit
Step 12: Movement of the Car
There’s a six movement I did in this car forward, right forward, left forward, backward, left backward and right backward.
In the four motors there’s two motors forward and two motors
Motors 2 and 3 forward and motors 1 and 4 backward
So for move forward the motors 2 and 3 will work
For move right forward the motor 3 will work
For move left forward the motor 2 will work
For move backward the motors 1 and 4 will work
For move left backward the motor 4 will work
For move right backward the motor 1 will work
Step 13: Final Step
And we finished :)
Watch the video I upload
In the video of (test project) I used adaptor 12V and 1A for
motors coz my battery’s was empty and I used from my laptop input for electronic circuit of the RX circuit by using cable Arduino NANO.
And I upload another video while I’m test glove after I Calibrated some value with different value you will see how RGB LED changing light and while light change the TX circuit sending data via Bluetooth.
You can put more than flex sensor to can make the movement easy
If you control the motors with drive so you can use input 6V or 9V for motors
But if you used relay you will use input for motors 12V coz you need the motor be in a higher speed coz for move forward you will use just two motors and while turn you will use one motor so to can move the car you will be need to make the motor be in high speed