My Robot’s Remote
I am building a custom remote system to control my robot. It uses a PS2 joystick. One of the major benefits to this joystick is it’s ergonomics. The PS2 joystick is also easy to come by and easily interfaces.
The grainy picture above is the second prototype. The first one had a perfboard on it; however, it shorted out my microcontroller. Therefore, I decided to use jumper wires with a Plexiglas base. The device in the center is a microcontroller. The microcontroller is an lpc1769 expresso board cut in half. This allows me to use a real JTag adapter, opposed to the onboard JTag debugger. I did this so that I can use Crossworks, which is my IDE of choice. The device at the top right is an Xbee. This will talk to my robot. At the top left is an SD card. This will hold a data log and settings to the remote. Right beneath that is a Bluetooth module. This will talk to my Android phone.
My Android phone will basically be used as a screen. It will show stats that come from my robot and will also allow me to adjust settings within the remote and robot. I am doing this for robustness. If I had a screen that my microcontroller controlled, it would require much more processing power and increase complexity. From experience I found that complexity increases the risk of something failing. If my phone fails, however, I will still be able to control my robot.
The second fuzzy image is my testing robot. The reason I have a testing robot is simple. My robot weighs over two hundred pounds. If something goes wrong, bad things would happen. I DO NOT want my tomb stone to read “Died from memory overflow”. That would just be embarrassing; so the testing robot was born. It is a Rover 5 platform with a piece of Plexiglas mounted to the top for my electronics. It has the same microcontroller that my remote does. At the very front I have a breadboard. This is to hold sensors so that I can have telemetry sent back to my remote.