Sorry for the question, I'm just starting out in robotics - as a hobby- and I was just interested in what I'll be able to actually do, please let me know,
Arduino is very flexible. You can do a lot of neat stuff with it. It's one of the best tools for interfacing software to the real world. However, it might be useful to also ask "What can an Arduino not do?". Arduino has very limited memory and I/O compared to modern computers. So some of the things the Arduino cannot do or cannot do easily are things that require a lot of memory or access to complex peripherals, like:
- video recording, processing & output
- high-fidelity audio recording & processing
- act as USB host for USB devices like flash drives, disk drives, cameras, keyboards, etc.
So, you can't easily make a video game system that hooks to your TV with an Arduino. That doesn't mean people haven't done it, but that level of hacking is in the realm of deep voodoo, and the results still end up looking like a 1980s videogame.
Often you see Arduino boards hooked up as peripherals to a larger computer. The computer does the A/V and the Arduino handles all the other physical world interfacing. Another common use is the fully embedded system where a more mundane device is made "smart" with a hidden Arduino. ("Your coffee table now knows when you set cups on it and buzzes you if you don't use a coaster") This is where Arduino seems happiest.
It depends on whether you're only talking about the bare Arduino, or Arduinos with shields or other augmented bits attached. One great thing about Arduinos is that it's relatively easy to design shields that add capabilities to the Arduino. Without anything attached, the Arduino is pretty useless. It has no way to interact with the outside world other than USB serial.
Once you've got peripherals added to your Arduino you communicate wirelessly, read sensors, trigger motors, audio outputs, light shows, etc. The sky's the limit. I especially like being able to put an entire microcontroller development environment, including programmer and an assortment of components (jumper wires, resistors, etc) in my laptop bag and go off to a coffee shop to hack on it.
What the stock arduino doesn't do well:
- heavy processing - like face or motion detection from a camera. It just doesn't have the processing power or RAM for it.
- super low power consumption - the stock arduino tends to draw too much current for really long-lived battery powered applications. For those you have to switch to an arduino compatible device (e.g. Arduino Pro Mini), at which point running for months on some AAs is easily achievable (and you can still prototype with the stock arduino).
The Arduino is good at a particular class of problems.
These are situations where you receive a bunch of inputs, make a decision based on them, and as a result output something.
It can do many things, but is especially good at this. Fortunately this is a very wide class of problems.
Another way to understand this is "What is the Ardunio NOT good at". There are two main classes of problem it does not do well at:
- It is not good at processing intensive applications, or
- Where a general purpose system is required - one that can switch between many different applications on demand.
So it has more in common with your washing machine than it does with your laptop. You can think of it as a computer appliance, not a PC.
Arduino's can do a variety of things for robots, including but not limited to: process data from sensors and control servos/motors. For some general examples take a look at
have a look at: http://tronixstuff.com/tutorials :)
check out the arduino playground http://www.arduino.cc/playground/, and for robotics in particular http://www.arduino.cc/playground/Main/InterfacingWithHardware#Physical_Mechanical