See, already looking forward to v2
Jerome, how long did this take you? Did you already have an electronics background?
_Mike
I'm actually on the third generation already! And that's the third generation of the CURRENT system.....:lol
I started this project about a year ago and have been working on it off and on since then. The last time I studied any electronics was over 20 years ago, so I had to learn all about microcontrollers and writing code/physical computing.
When I first started looking at this I had just envisioned a simple system that was controlled using bend sensors on your fingers and it wouldn't be able to look up and down. That really was a bit cumbersome to operate and wasn't very natural.
Next I looked at keeping the bend sensor that would raise the cannon, but I figured out a system that had a cable mounted under the mask that turned a pulley/spring loaded potentiometer (mounted under the cannon mechanism) that would allow the cannon to follow your head rotation. It still wasn't able to look up/down. Now I got a natural (and smooth) rotation but fixing/routing the cable was difficult and cumbersome. Mask removal could also be a real problem.
Then I started looking at different kind of sensors. Gyroscopic, compass and accelerometers. Combo boards, IMU's, etc. I have a friend that is a data acquisition engineer that works for Learjet so I picked his brain as well as a friend that is a programmer and the brains of the engineers at Sparkfun. Compasses are affected by tilt, so you have to compensate for that and then they don't work when you rotate your whole body vs. just your head, so dual compasses could be necessary. A gyroscope could work, but it still has to be integrated with an accelerometer to a get an accurate angle of rotation. Most of the solutions I found were pretty complex in terms of programming and/or really expensive on the hardware side. There are also pretty severe space restrictions for fitting sensors inside the Predator Bio helmet as some of the IMU's available are pretty large physically. But I would get the look up/down function.......
Then I found that I could modify the sensor board out of a Wii Nunchuck controller and interface it with a microcontroller over its I2C bus. This provided me with an inexpensive and reliable multi axis accelerometer and two finger pushbuttons with an easy to use interface. I ended up writing code that would allow me to access all of the Nunchuck's functions- three accelerometer outputs, the joystick and the two pushbuttons. When it was all said and done the rotation was still a bit of a problem as the accelerometer only really gives you a stable output with respect to gravity so you have to tilt it to get the rotation. What I found was that if I mounted it in the forehead area of the Predator helmet it really didn't need much tilt at all to get a stable rotation. The beauty of this system is that there are only only two finger buttons to control everything- it's also pretty easy for me to modify the code.
Now the problem is that I need the sensor to be as level as possible in the fore/aft direction for the look up/down function to work properly (this is what you see in the video) so the rotation is off and requires more tilt motion than I would normally like. Hence, I'll probably end up using a dual sensor system. I was able to successfully integrate a programmable sound board for all the Predator sounds as well as add functions for both an animatronic helmet and gauntlet blades.
My goal in this project was to create the most realistic appearing system that was easy to use for the least amount of money. Since this is also an open source project it had to be able to be built by people that weren't electronics engineers. My plan all along has been to have a complete tutorial online on how to build this.
In the end, there may be better sensor systems that come along, but given the nature of the interface to the system and how easy it is to upload code to the controllers I should be able to add improvements over time without re engineering the entire system. I'm sure a real electronics designer would be able to come up with a better/more accurate system if they put their mind to it so I definitely welcome any input.
One newer device I've been looking at is this one:
http://www.sparkfun.com/commerce/product_info.php?products_id=8656
It meets all the requirements in terms of size, interfacing and power but it's pretty expensive and you would need two of them. The nice thing about it is that it has its own on board processor and it looks to be very accurate.
Jerome