hi everyone.
Here's what seems to me a dumb question, but I didn't found any answer yet...
How arduino option modules can be chained? For example, can I use 1 arduino + 1 GPRS module + 1 GPS module?
Thanks for your explanations!
Stacking?
Yes, as long as they don't use any of the same pins.
(If they're SPI or I2C, you may even be able to do that!)
Thanks for your answer.
So if I need a somehow complex design, using more than one arduino is the solution? Let's think of a R/C vehicle: one arduino would be the brain, one for "the legs", one for the sensors? They could communicate via their I/O?
Also, and completely off-topic: is your nick, "AWOL", originated from where I think it is: a military school? Because it's an acronym we know very well here
Absent Without Leave?
No, they're my initials
So if I need a somehow complex design, using more than one arduino is the solution? Let's think of a R/C vehicle: one arduino would be the brain, one for "the legs", one for the sensors? They could communicate via their I/O?
You could do that, but it might be easier to decide roughly how many things you need to have connected and see if there is a neat partition of the work. An Arduino is so fast that there is rarely a need for a separate brain, it can often do a lot of work as well.
Yes, they could communicate using their I/O. It's pretty flexible, so have a look at how much stuff needs to be interfaced, and what capabilities are left unused. SPI is pretty good.
It is much harder to debug something with many independent parts, so have some practices, before jumping into this.
[edit]There are 18 I/O pins + two for loading programs.
There is an SPI (3 pins) interface and I2C (2 pins) interface each capable of communicating with many other devices.
How many do you expect to use?[/edit]
HTH
GB
Let's think of a R/C vehicle: one arduino would be the brain, one for "the legs", one for the sensors? They could communicate via their I/O?
It really depends on what you are controlling and how fast (or how "realtime") you need to control it; for a simple wheeled R/C vehicle converted to a robot platform, your idea would probably be overkill - unless some of your sensors were a GPS module, and you needed to do real-time path planning/mapping coupled to IR/ultrasonic distance sensors, all while the vehicle was running around 60 mph...
Alternatively, you might have something like a 6-legged walker, and you need to do all of the above, but each leg also needs a bit of "smarts" on its own (for path planning, IK, etc) - then maybe a processor per leg would be needed, even though things might not be moving as quickly (and if they are - even more so!).
Generally, the best way to approach things is to first determine your goals, research what is needed to reach those goals, then size the system accordingly; in a system I am (slowly) building, I am only using an Arduino for basic control of motors, with servos being handled by Pololu MSSC; but on the backend I have a full PC with a fair amount of RAM and hard drive space for a future vision/LIDAR system (something which the Arduino couldn't do, at least not to the level I think will be needed).
For most systems, though, the simpler you make it, the better...
Wow, thanks for all your answers.
I'm not a genius in roboticts, just a kind of DIY enthusiast And the arduino completely messed up my fragile mind
If you are interested in robotics, I strongly encourage you to make something simple first. You'll learn a huge amount.
You will probably become interested in something much smaller than a standard Arduino. There are many options, but in the UK, this is a low-cost one:
http://www.nuelectronics.com/estore/index.php?main_page=product_info&cPath=1&products_id=15
It has two more analog inputs than a standard Arduino. Otherwise it is identical, and can be programmed using the same technology.
Most countries have something similar on eBay.
For a low-cost robot controller, you might look at Pololu's Baby Orangutan
This is a bit harder to use than an Arduino, because it not set up for USB, but it is still the same microcontroller, and can be programmed with the Arduino development tools. It's advantage is it has onboard motor control which can drive ordinary DC motors.