I received some questions about the turret. I figured I’d answer them here in case anyone else wants the info.
How is it mounted so that it can spin without the wires getting tangled?
There’s a large gear underneath the center of the bottom of the base, fixed so that it doesn’t rotate.
A motor off-center on the rotating platform has a small gear, and is connected to the fixed gear by a chain. When this small gear turns, it causes the entire platform to rotate in the opposite direction.
The battery sits on the rotating top platform, as does all the control circuitry. I use a drill battery for the movement and a 9-volt for the Arduino and firing circuit; if you had lower-voltage motors you could use the same battery for everything. You can see where the drill battery sits in a picture in this post (I don’t have it hooked up right now as it shares a battery with all of my power tools).
How is the wiring done?
The wiring is fairly simple. The motor controller uses pins A0, A1, 4, 7, 8, 9, and 10 on the Arduino. The M1 outputs on the controller are hooked up to the horizontal adjust motor and the M2 outputs are hooked up to the vertical adjust motor. Pin 13 is used to fire the gun; it controls a small relay that controls a large relay that replaces the switch in the airsoft gun trigger. The first relay could probably be replaced with a transistor; I just wasn’t familiar with them yet when I made this. The wiimote adapter uses pins A4 (d) and A5 (c). Pretty pictures of all this probably aren’t very useful, but here they are anyway:
The shield I made containing two relays and the nunchuk adapter.
The Pololu motor controller shield. I haven’t made any changes.
The Arduino Duemilanove. Again, no changes, just stock.
All of them connected to the turret, with the 9-volt battery in its mount in the back. I’ve cannibalized the cable that actually connects the battery to the Arduino as this thing hasn’t been used in about two years.
In terms of how the wiring is physically set up, it’s just taped to the frame. Pretty much any other way would be better. This works but is liable to get caught on stuff and is ugly.