Which Arduino Board(s) is/are right for me?

I am currently in the process of building a 10x15 foot Rube Goldberg Machine. The machine would have:

  • 3 Strips of RGB LED lights that are turned on by separate motion sensors (or some other sensor) [and stay on]
  • 2 Additional strips of RGB LED lights, and a motor that are turned on with the press of a manual button [and stay on]
  • 1 Additional motor that is triggered by a motion sensor [and stays on]
  • 1 Additional motor that is triggered by a weight sensor [and stays on]
  • 1 additional motor that is triggered by a weight sensor [and stays on]
  • 3 additional motors and 3 strips of lights and 3 high powered fans that are switched on/off by a button
  • 1 kill switch

A new line indicates that the items are at least 3 feet away from each other I have a pretty hefty budget to work with, but I'm not sure as to the input/output capabilities of the different boards, or how they handle DC. Any and all help would be appreciated.

Well a lot of those motors are just switched on and off, so remote relays or MOSFET switches would probably be the simplest way to drive those (keeping all the high current switching away from the Arduino). Signal cable runs should be shielded or twisted pairs or both.

Are the LED strips to be PWM'd or just switched on/off?

You might benefit from extra input/outputs, suggesting a Mega perhaps.

You'll need to be careful to how everything's powered - separate power for Arduino - and how everything is grounded. Are the motors large?

I calculate that you have at least 27 inputs and outputs, which is more than you have I/O pins any Arduino except a Mega. Some of the devices might be able to share an I2C bus, but the number of I/O pins will still be tight. So I suggest you get a Mega, so that you don't have to mess around with shift registers or other I/O expanders.

MarkT: Well a lot of those motors are just switched on and off, so remote relays or MOSFET switches would probably be the simplest way to drive those (keeping all the high current switching away from the Arduino). Signal cable runs should be shielded or twisted pairs or both.

Are the LED strips to be PWM'd or just switched on/off?

You might benefit from extra input/outputs, suggesting a Mega perhaps.

You'll need to be careful to how everything's powered - separate power for Arduino - and how everything is grounded. Are the motors large?

Thanks for the quick response! I'm not the greatest with hardware, but my programming's pretty top notch. I apologize if any of my questions are a little silly or misguided.

I've never heard of a MOSFET switch, so if you could elaborate a little, I would appreciate it.

I assume you're suggesting shielding and twisted pairs because of the distance the signal needs to travel. Would it be worth looking into buying signal repeaters?

The LED strips would just be turned on/off.

The motors are very small. As for power, is there a more effective (or better) method than using the "Power Tail? ("http://www.makershed.com/PowerSwitch_Tail_II_p/mkps01.htm)

Also, I'm reading a lot about Arduino Shields. Are they an essential piece, or are the just an easy way to add features? And it seems as if the majority of the sensors would need to be connected to a breadboard that is connected to the arduino? At least the heftier motion sensor.

Any/all clarification would be appreciated (:

Transistors can be used in two main ways that are analogous to more common physical devices where a smaller signal (either voltage or current) controls a larger amount of voltage or current. The first is like a valve, were the smaller signal controls how much of a larger signal is allowed into the rest of the circuit. The second is like an on/off switch, where the presence of the small signal determines if the larger signal is completely blocked or not.

A "MOSFET switch" refers to a MOSFET, a type of transistor that is controled by voltage levels, configured to be such a switch.

Far-seeker: Transistors can be used in two main ways that are analogous to more common physical devices where a smaller signal (either voltage or current) controls a larger amount of voltage or current. The first is like a valve, were the smaller signal controls how much of a larger signal is allowed into the rest of the circuit. The second is like an on/off switch, where the presence of the small signal determines if the larger signal is completely blocked or not.

A "MOSFET switch" refers to a MOSFET, a type of transistor that is controled by voltage levels, configured to be such a switch.

Ahhh. So a MOSFET switch would be ideal IF the device were powered by the Arduino, but not if it were powered by a separate source. For example, the Outlet -> Power Tail -> AC Adapter; where the Arduino tells the Power Tail to cut the power to the device.

Please correct me if I'm wrong, or if there are alternate setups. Also, I get the vibe that it's best not to run everything's power through the Arduino.

CSEngineer13: Ahhh. So a MOSFET switch would be ideal IF the device were powered by the Arduino, but not if it were powered by a separate source. For example, the Outlet -> Power Tail -> AC Adapter; where the Arduino tells the Power Tail to cut the power to the device.

Actually a primary reason to use a transistor switch with an Arduino is when you don't want to power some component from the Arduino board, but you still want the Arduino to control DC power to this component (for AC it's often better to use a device called a TRIAC). The digital I/O pin is providing the small control signal to the MOSFET and that will determine if power is allowed past the transistor. It's most intuative and, with the proper type of transistor, easiest to setup the circuit so when an Arduino I/O pin is HIGH the transistor is open or "on".

Especially with the distances involved many of these functions would best be handeled by their own little circuits and not programming.

For Instance, if you replace the button in line 2 with a switch you don’t need to do anything else. Just run power from the supply, through the switch, and to everything it needs to turn on. If you need to have a button there it can still be done with some sort of latching circuit very easily.

Many weight sensors could also be hooked up the same way so long as they act as a closed switch when the weight is applied.

That said, if you find this very hard and really want to make this project about the programming that Arduino can certainly do everything, but I think you will find that it would take more wiring and hardware to do it that way than to try the non-Arduino simplifications I listed here.

Lastly, if I were building this the kill switch would be MANUAL. Code can hang or get locked up, but the kill switch still has to work. Evan an interrupt won’t work if a short causes a low voltage state for the Arduino.