So here is the list of things you need for this project.
1.Candy grabber toy(or anything you would like to control) – you can get them online for around 30$ if I'm not mistaken
2.Arduino / Arduino Mega – bought mine online. I used the Mega because it had more free pins when I connected the motor controller
3.Motor controller – you need some way to control the motors in the candygrabber. I use Adafruit Motor/Stepper/Servo Shield for Arduino 20$ (http://www.adafruit.com/index.php?main_page=product_info&cPath=17_21&products_id=81
5.IR LED – I scavenged mine from an old remote
6.Photointerupter – took my out of an old PS/2 ball mouse. (It's used for the X and Y axis movement recognition of the mouse. Each axis has a one)
7.1kΩ resistors for the limit switches(4 pcs.)
8.670k Ω resistor for the Photointerupter
9.410 Ω resistor for the IR LED
10.Bunch of wires and jumper wires(they are practical as you can easily plug them in the arduino pins).
Skills and tools:
1.Soldering iron, solder, soder wick and soldering skills
4.Hot glue gun
5.Multimeter – Trust me, if you don't have one go and buy one. No seriously GO! If you're familiar with programming think of it as a kind of debugger for your circuitry. I wouldn't have finished this project if I didn't have it. Try to find out which of the 20 something wires is for what, and you will know what I'm talking about.
6.A fair knowledge of programing in ActionScript 3 (Flash)
1.Flash CS3 or higher
2.Some kind of Apache/PHP server installed on your computer(I use MAMP as it's free and easy to setup and use) - http://www.mamp.info/en/index.html
3.Red5 server – you need it to broadcast your video from the flash AIR and stream it to the flash client (free if you have your server, else hosting plans range from 30$ up, I used www.videowhisper.com/
). You can find out more at http://www.red5.org/
4.NO-IP.ORG – as my service provider dosn't give me a static IP so I have to use it to connect to the PHP socket on my computer(also free, need to register) – www.no-ip.org
5.TinkerProxy – so flash can communicate with arduino - http://code.google.com/p/tinkerit/
Here you can download all the source codes:
I had some bugs with the queue in the PHP socket - SOLVED
Added some sounds to the client flash so the user is notified when it's his turn.
A few modifications to the XMLSocketAppController.as , Red5Broadcast.as and Red5SharedObject.as classes - it timeouts when there are no more users. Also this way I addresed the issue of the changing IP(I don't know why but my internet provider does that a few times a day) and you save bandwith.
Also I added 6 LEDs in the top cover to get rid of the annoying light reflection.