This is a guest contribution by Timothy Ndung’u.
We all say that robots might replace humans in the future or that they might dominate us one day. Well, one or two things in that statement might be true. However, instead of living in fear of the unknown, why not experience the joy of controlling a robot now? In that spirit, I decided to assemble a Bluetooth controlled Arduino robot arm and trust me nothing feels good like watching a robot move.
What you need for this project is:
- An Arduino board (preferably an UNO or Due)
- SSC-32 servo motor driver
- HC-06 Bluetooth module
- Power source (you can use batteries or a 5V power supply)
- 6-DOF robot arm (you can get one on www.bizoner.com)
SSC-32/ Arduino due
There are four things that you need to understand when setting up the SSC-32 servo driver and the Arduino board.
- Powering options
- Setting baud rate
- Controlling servos using the SSC-32
- Using Lynx terminal
Ideally, the servos should be driven with 6V, the SSC-32 logic 6V and the Arduino 5V.
The robot arm joints are automated by servo motors. So, the servo motors should be connected to channels on the SSC-32 servo motor driver. The SSC-32 board has 32 servo channels, which can allow you to control 32 servos with your Arduino. Therefore, you should connect the servos to the channels of your choice and ensure you remember which channel represents which servo, since you will need that information when programming.
To add Bluetooth capability on the Arduino robot arm you will use the HC-06 Bluetooth module. It adds a Bluetooth serial terminal feature onto your setup, enabling you to communicate to the robot arm from a serial terminal on your computer or phone.
In my setup, I powered the servo motors with a 5V lipo battery and the SSC-32 and Arduino via USB. If you have a larger power supply you can power the whole setup from it. Check out the powering options and see how to do this.
Since the robot arm moves distinct movement patterns, I decided to divide the movements into categories. This way, each category could be described by a single command, thus making it easier to control the robot arm.
|Command||Set of Movements|
|1||Position robot arm above object to be lifted|
|2||Lower robot arm to target object|
|5||Make a half turn to the right|
|6||Lift object to platform height|
|7||Drop object on platform|
|8||Go back to starting position|
You can change the commands to suit your needs or your robots movement patterns.
There is more you can do with your Bluetooth controlled robot arm apart from what I just did. For instance, you can create a small mobile phone application that you can use to control the robot arm movements. So, pick up from where I left or start the project from scratch and do awesome things with it. Your imagination is the limit. For more tutorials you can visit my website http://www.arduino-hacks.com.