There are two major parts to the application. The first part I will discuss is the firmware and hardware. This includes the Arduino and another board we will use to supply power to the servos. It's important to isolate the servo power supply from the microprocessor power in case the servos need more current than the battery can supply (imagine all 12 servos stalling at once). If the power supplies are the same you could have a brownout condition on your microprocessor depending what type of power supply you are using. I will also show you the firmware required to run this application on the Arduino.
In the second part I will discuss some simple software that will allow you to control the firmware through serial commands. This software provides an interface to the Arduino firmware to control the servos, save servo start up positions, even record a series of positions, or frames, (of all channels saved at once) to playback in sequence when desired. The software is .Net based so make sure you have the latest .Net framework installed. I will be supplying an installer and source code.
Here is a video demo of the project:
Remove these ads by
Signing UpStep 1Parts List
1x Arduino Board (Any variant that has a 328p processor)
1x BreadBoard
1x Battery 6.0-8.0Vdc (I used an 800maH LiPoly battery)
1x 1N4004 Diode
2x 220uF 35V Electrolytic Capacitors
4x 3 Pin Headers (Use as many as you have servos for, I used 4 for this example but the firmware supports up to 12, just repeat)
4x 100 ohm resistors (1 for each servo. These are used for current limiting. At 3.3v the resistor limits the amount of current through the microprocessor at 3.3ma if a low impedance load is seen)
1x Small LED
1x 470 ohm resistor
1x Switch (I used a DIP switch for simplicity)
4x Hobby Servos
Various Jumper Wires
| « Previous Step | Download PDFView All Steps | Next Step » |


















































It would be nice to have a web interface so I could control it with any wifi enabled tablet. I think it can be done with php.
I wish I had made the command handling more modular, maybe that's something I can work on. That way you could abstract the handling out and use any transport mechanism you want. In this example it's RS232, for your idea it would TCP/IP. Heck, you could even go wireless with Zigbee or something and really have some power.
But I was considering making pan/tilt mounts with servos for a couple of small security cameras.
http://www.instructables.com/id/Arduino-Wireless-Animatronic-Hand/
i control 5 servos just by power from arduino and no resistors or anything. I am currently powering 7 right now but i have a lipo im using