Introduction: Hand Gesture Controlled RC Car
This is my first Instructable
If you have any questions - please do not hesitate to ask .
This project is applicable to anybody who has a passion when it comes to technology. Whether you are an expert or an absolute beginner when it comes to robotics. You would be able to create this project by following the instructions on this document.
What you will need:
· (2) x Elegoo Uno R3 Controller Board
· (2) x Prototype Expansion Board
· (1) x HC-05 Bluetooth Module
· (1) x HC-06 Bluetooth Module
· (1) x Hand Glove
· (1) x GY-521 module
· (12) x M-M wires
· (6) x F-M wires
· (2) x 9V Battery with DC
· (1) x Base Board
· (2) x Encoder Disc
· (2) x Wheel
· (2) x Deceleration DC motor
· (1) x Battery container
· (4) x M3*30 Screw Bar
· (8) x M3*6 Screw Bar
· (8) x M3 nut
· (1) x Switch
· (4) x Fastener
· (1) x Hammer caster
· (4) x AA Battery
· (1) x L9110S 2-CH H-bridge Stepper Motor Dual DC Motor Controller Board
Step 1: Step 1:
GOAL: Configure the baud rate and set the password of the HC-06 (SLAVE)
The HC-06 is a slave only Bluetooth module which means that
“it can only be talked to”. The HC-06 is automatically in AT mode. AT mode is a command mode which allows you to interrogate/configure some of the settings of the Bluetooth module.
I. With just the Arduino and the USB Serial connected to the computer. Upload a blank sketch to the Arduino as attached above
II. Disconnect the USB Serial from the computer.
III. Connect the HC-06 and the Arduino with (4) F-M wires - see step1wireAttachment
IV. Connect the USB Serial to the computer. This will make the HC-06 blink on and off every second.
V. Click the Serial Monitor and make sure that there are “No line Endings” and that the baud rate is set to “9600” at the bottom of the serial monitor.
IV. Type AT on the Serial Monitor text box and it should print OK (this means that there is communication between the serial monitor and Bluetooth)
VII. The default password of the HC-06 is 1234, but just in case it is not. Type AT+PIN1234 and press send. The Serial Monitor will then print OKsetPIN. This will set the HC-06 pairing password to 1234 (The password between the HC-06 and the HC-05 should be the same).
VIIII. Type AT+BAUD8 and press send. The serial monitor will print OK115200. This will set the baud rate of the HC-06 to 115200. (The baud rate between the HC-06 and theHC-06 should be the same).
Step 2: Step 2: Get the Address of the HC-06 (SLAVE)
You can get the HC-06’s address through an app called Bluetooth Finder via an Android phone or by using the HC-05 to sniff the surrounding Bluetooth modules around the HC-05.
REMEMBER the address of the HC-06. You will need this information when configuring the HC-05.
Getting HC-06’s address via Bluetooth Finder
I. See attached picture
NOTE: The MAC address will look something like the one highlighted above. The bluetooth module would be normally discovered as “HC-06”.
I. Download the Bluetooth Finder application
II. While the HC-06 turned on and blinking – pair the android phone to the HC-06
III. The password of the HC-06 will be 1234. We configured its password earlier via the AT+PIN1234 command
IV. Once the HC-06 and the Anroid phone is paired. Open the Bluetooth Finder application to see what its address is.
Step 3: Step 3: Configuring the HC-05 (Master)
*Getting HC-06’s address via HC-05
GOAL: Bind the HC-05 to automatically connect to only the HC-06
I. While the HC-06 is on. Open a new Arduino session and Follow steps 1-3 on Step 1.
II. While connecting the USB Serial to the computer make sure you press the button on the HC-05. This will make the HC-05 blink on and off every 2 seconds. This indicates that the HC-05 is in AT mode. Make sure that the correct port is selected. The port selected must be the arduino which the HC-05 is connected to.
III. Click the Serial Monitor and make sure that there “Both NL & CR” added and that the baud rate is set to “9600” at the bottom of the serial monitor. (as illustrated in the attached image)
IV. Type AT on the Serial Monitor text box and it would print ERROR :(0) (Not sure why this happens). Type AT again and the Serial monitor will print OK (this means that there is communication between the serial monitor and Bluetooth).
V. Type AT+ROLE? and press send. The serial monitor will print what role the HC-05 currently has. Role 0 = slave. Role 1 = master. If its role is 0. Change its role to 1 by typing AT+ROLE=1 The serial monitor will then print OK after setting the HC-05’s role to 1 (Master). Type AT+ROLE? Again to double check.
VI. Type AT+CMODE? and press send. The serial monitor will print what connection mode the HC-05 currently has. 0 = connect to only fixed address. 1 = connect to any Bluetooth nearby. If its cmode is 1. Change its cmode to 0 by typing AT+CMODE=0 The serial monitor will then print OK after setting the HC-05’s cmode to 0. Type AT+CMODE? Again to double check.
VII. Type AT+UART? and press send. The serial monitor will print what baud rate the HC-05 currently has. (i.e +UART: 9600,0,0). Remember that we need to set the same baud rate as the HC-06. To set HC-05’s baud rate to 115200. Type AT+UART=115200,0,0 The serial monitor will print OK. Type AT+UART? Again to double check. (it should now print +UART: 115200,0,0).
VIII. Type AT+PSWD? To determine the password of the HC-05. Remember the password between the HC-06 and the HC-05 should be the same. If its password is not 1234. Set the password by AT+PSWD=1234 The serial monitor will print OK. Type AT+PSWD? Again to double check.
IX. If you have the address of the HC-06 already skip this step and continue to step X. This step will determine the address of the HC-06. Type AT+INIT. The Serial monitor should print OK. Type AT+INQ This command will inquire for surrounding bluetooth devices. The Serial monitor should print the address of the HC-06, type, signal. (i.e +INQ: 98D3:31:FD5F83, 8043C, 7FFF)
X. Pair the HC-05 with HC-06. Retreive the address you discovered whether through the bluetooth finder app or through the AT+INQ method. Replace the colons of the address (98D3:31:FD5F83) with commas (98D3,31,FD5F83) on the address to Type AT+PAIR= 98D3,31,FD5F83,5 The 5 in this pair command is the timeout in seconds. If the HC-05 does not pair with the intended address an error message will be printed. Else if the pairing is successful an OK will be printed in the serial monitor.
XI. Bind the HC-05 to the HC-06. Type AT+BIND=98D3,31,FD5F83 The Serial monitor should print OK if successful.
XII. Link HC-06. Type AT+LINK=98D3,31,FD5F83 The Serial monitor should print OK if successful.
XIII. Once the HC-05 and HC-06 are bound. The HC-05 will blink once every 2 seconds and the HC-06 will remain on (no blinking).
CONGRATULATIONS HC-05 and HC-06 are now bound together!
Step 4: Step 4: Build the Base of the RC Car Follow Instructions on the Images on This Tep
Step 5: Step 5: Connect the 2 Deceleration DC Motors to the L9110S Stepper
*Note the way the Sketch is set-up the L9110S should be connected to the DC motors exactly as illustrated on the images attached (they are attached in a chronological order)
Step 6: Step 5: Upload CAR.ino Sketch Into Arduino(CAR)
Step 7: Step 6: Disconnect Arduino(CAR) From Source of Power and Attach the Shield on Top of the Arduino
Step 8: Step 7: Connect L9110S Stepper to Arduino Shield (CAR)
Step 9: Step 8: Connect HC-06 to Arduino Shield (CAR)
Step 10: Step 9: RC Car Configuration Is Complete. the Car Should Look Like This
Step 11: Step 10: Upload HAND.ino Sketch Into Arduino(HAND)
Step 12: Step 11: Disconnect Arduino(HAND) From Source of Power and Attach the Shield on Top of the Arduino
Step 13: Step 12: Connect Gyro to Arduino Shield (HAND)
See attached image