Just joking.. my robot won't kill anyone. (Not enought firepower) :)
Anyway, i decided to make a small, hand held, xbee base, arduino powered controller, since it will not be tied in any particular way with the killer robot, it will be avaiable for future robots too, hence the "Universal" in the name.
Initially i considered adapting an existing Playstation controller, but then i realized it doesn't have very much space, and the appearence of these lovely thumb joystick on sparkfun definitely made me decide to roll my own controller. It will look much cooler, btw.
So, here's some of the planned hardware:
- 2x Thumb Joystick
- 1x Potentiometer (with knob)
- 2x Microswitch (as momentary buttons)
- Various leds (as feedback)
- Arduino circuitry (see below)
- maybe a dip switch (for extra controls)
- maybe a buzzer (for feedback)
The extra input will be a potentiometer (for changing some user defined value), microswitch to make some action buttons, dip switch to set some digital values.
The robots will be able to communicate back some data, that the controller will use to light the leds and eventually to buzz the buzzer.
The structure will be based on a board of plexyglass (13 cm long) with the joystick and potentiometers glued over. Yes, i usually hate to glue stuff, since i like to recycle my robots, but the controller will be universal, and there's no many other way you can use a thumb joystick anyway.
Below the plexyglass, at about 1 or 2 cm i'll attach the perfboard which will contains the circuitry. I have yet to decide wether to use 4xAA batteries or 1x9V batteries to power the stuff. The 9V can maybe be inserted between the two boards (making the controller smaller), while the 4xAA would need to be attached below. I'll have to check the energy budget since the XBee pro module can consume some nice current.
For the "brain", i decided to go for a "naked arduino", that is, an atmega168 chip with Arduino Bootloader without the board. The circuitry needed to run the thing is very simple. It will also use much less space, apart from being cheaper. Of course it require more work, but that's a good thing for me :P It will not programmable "in circuit", but once the software is written, it shouldn't change that often, if ever.
So, stay up for updates :)