Alright, I just finished a quarter long design project in college where we built an autonomous robot. I’d like to buy an arduino and make my own but I’ve got a few questions first:
Which board is best? I’m leaning towards the Duemilanove.
Will it be easy to control 4-8 servos and possibly some DC motors?
What kind of major differences are there between the language used for the arduino and the C that was used to program the robot? In some of the examples I’ve seen void loop() which doesnt look familiar as well as the way the motors are called.
This is a start, thanks for the help, I’m sure I’ll be back for more.
Welcome to Arduino.
Asking which board is best is like asking which car is best – it depends on what you want to do with it. But for general use the Duemilanove is a good choice.
You can control up to 12 servos with the MegaServo library here: http://www.arduino.cc/playground/Code/MegaServo.
Most DC motors need some form of external power control to drive a motor – you can read more about this in the Arduino playground und motor control : http://www.arduino.cc/playground/Main/InterfacingWithHardware#Output
The Arduino programming language is an embedded version of C/C++ with some abstractions to make it easier for non-programmers. Many aspects of a typical C program are hidden under the covers, for example there is a main() function automatically created for the user that contains the two functions you can see: setup() and loop(). It may help to look at the reference (and advanced reference) pages get a feeling for how Arduino exposes the programming language: http://arduino.cc/en/Reference/HomePage. But because the underlying compiler is AVR-GCC you should feel at home once you get oriented.
You can read more about what happens in the underlying build process here: http://arduino.cc/en/Hacking/BuildProcess
most likely, u will find the arduino code much, erm, “cleaner” than the code u used (i am currently programming a robot for my hs robotics team, and damn theres so much code for simple things like enabling a digital output pin to power a spike to power hydraulics)
anyway, wanted to mention that for DC motors, you will probably use something along these lines:
it’s called an H bridge and its fairly easy to setup, code, and use in most applications