Intro: Arduino Bluetooth Tank
Building an arduino bluetooth tank to learn how to programming and how Bluetooth communication works between android smart phone and HC-06 or HC-05 bluetooth module. The objective of the robotic arm are allow user to control and catch or pick up something that assisted by a ping sensor. The coding has included 3 type of auto pilot mode that can only trigger remotely such as "obstacle avoiding mode", "auto loading mode", and "search and capture mode".
The "obstacle avoiding mode" allow the tank pilot by its self by automatically avoiding any object in front of it by using ping sensor to measuring the distance of obstacle.
The objective of "Auto loading mode" was allow to assisting user to facilitate the process of taking an object that in-front of the tank. The tank will tracking any object in-front of it by move forward with medium speed and lower the robotic arm. When something was detected, speed will slowing down and opening the gripper, the gripper will close and grab after an object was inside the gripper.
The "search and capture mode" was use to assist user to facilitate the process of capturing any floating object that in-front of the tank. The tank will swinging the gripper arm up and down slowly to sensing any floating object and capture it by moving the robotic arm after an object has been detected.
User also able to fully take control on arduino bluetooth tank movement or even the robotic arm via smart phone. My next upgrade will be building an arduino bluetooth controller by using arduino mega and add more auto pilot mode.
This project included:
- Arduino UNO X1
- Mini servo motor HD-1160A X2
- 360 rotation servo motor X2
- Metal gear servo motor C55R X1
- Tamiya twin motor gear box X1
- Tamiya universal plate set X2
- Tamiya tank tracks X2
- Ping sensor HC-SR04 X1
- Lithium ion 3.7V battery X3
- Battery connector X1
- Balance charger connector X1
- Buck converter 5V
- Bluetooth HC-06 X1
- LCD 8X2 X1
- Donut Board X1
- Male and female header pin connector
Some transparent acrylic plastic board
here the video link https://drive.google.com/file/d/0B_eHmaTU40yFT0hT...
Step 1: Battery Pack
Build a 11.1V battery pack from 3.7V lithium ion 16850 rechargeable battery is the lowest cost ever, add some safety PCB or fuse are recommended. The16850 lithium ion battery are available from portable power bank, old laptop, or even from high power torch light. Just simply connect 3 battery in serial so you can get 11.1V and attach a smart balance charger connector that connected to terminal of each battery. The picture show how a 24V battery connected by using seven 16850 li-ion battery, but we just only need 3 cell to get 11.1V. So just follow the circuit diagram but only 3 battery.
Step 2: Track Assembly Process
I purchase 2 set of Tamiya track wheel set from myduino webside and combine it into one robot tank base. Build your own robot base by your imagination or just follow the instruction paper that has been included inside the package.
Step 3: Robotic Arm Assembly
Cut and build a robotic arm by using transparent Acrylic Plastic Board. Unfortunately i lack of craft skill, so please build by your own imagination and your craft skill. The size of the gripper is 10cm length, 13.5cm for the arm and 10cm for the booms.
Unfortunately my 360 servo motor accidentally malfunction so i has to modify a mini servo motor into a continuous rotation servo motor. Click link below for servo motor hacking information.
Step 4: Assembly All
Build an arduino shield that included power regulator and connect all 5 servo motor on it. Picture above shows that my arduino tank shield that has included HC-06 bluetooth connector, 6 servo motor connector, front and back light connector(future add-on), buck converter power connector LCD connector and a ping sensor connector. This process required some soldering skill and designing own PCB board. I use PCB plotter to milled an arduino donut shield (when i was in college). Just follow the pin number and schematic diagram so you would never missed~
0 = Blue Tx
1 = Blue Rx
2 = Servo 1 (left)
3 = Servo 2 (right)
4 = Servo 3 (boom)
5 = Servo 4 (arm)
6 = Servo 5 (gripper)
8 = LCD ENABLE
9 = LCD D5
10 = Head light/LCD light
11 = LCD RS
12 = LCD D4
13 = LCD D6
A1 = Trig Pin
A2 = Echo Pin
A3 = Tail light
A4 = LCD D7
A5 = Battery
Step 5: Replacement
I replace the LM7805 regulator into a DC to DC buck converter for low power consumption. Connect the battery to buck converter INPUT pin and measure the OUTPUT pin by using multi-meter, ensure you get 5V output or else you have to adjust the trimmer on the buck converter.
All done? The OUTPUT pin is now safe for arduino and all servo motor.
You can also connect the battery directly to arduino power jack and the INPUT pin of buck converter should connected to arduino VIN pin that located beside the GND pin. All low power consumption hardware such as LCD, LED, PING sensor, and bluetooth HC-06 are recommended to use arduino on-board regulator to avoid overheating on buck converter. Now buck converter can only supplying power to all servo motor through the buck converter OUTPUT pin.
Step 6: Programming
Disconnect the HC-06 bluetooth module and upload the code from my text file. enjoy build your own robot~