I am relatively new to physical computing, but I have a project idea that I would like to construct using LEDs and input sensors to control the LEDs. The reason I am posting here is that I am trying to figure out what would be the appropriate controller to use for my design. I am assuming that one of the Arduino models will fit my requirements, but I am open to other suggestions.
I am constructing a large outdoor deck at my house and I would like to include a controllable LED lighting system into the design. The lighting hardware I would like to use is the Adafruit Neopixel strips with 30 LEDs per meter. I would be using about 8-10 separate neopixel strips, running from about 4 ft. up to 12 ft long although most would be in the 6-8 ft. range. My plan would have separate zones on the deck (steps, under benches, overhead pergola, etc.) where the lighting in each zone would be controlled separately. I would also like to have some type of proximity sensors to control the on/off, or possibly the lighting color. I could see using possibly three proximity sensors in different areas.
I am trying to understand how to figure out what model of Arduino would work best for my requirements. Based on the amount of lighting and use of sensors described above, can someone suggest a particular model that would be good for me to consider? What parameters should I be most concerned about with trying to understand which model would be best suited for my situation.
Assuming the "worst case scenario" from your description, you could be looking at 10 strips of 12ft (~3.6m) @ 30 leds/metre. That's around 1,100 RGB leds in total, drawing up to 66A @ 5V (wow!).
The problem with this is that both the major libraries for use with this type of led need 3 bytes per led, which is 3.3K of ram memory just to hold the data on the leds. Your sketch will need more memory on top of that for variables etc.
Most Arduino, like Uno, Nano, Leonardo etc. have only 2K - 2.5K ram, so they are out.
A Mega will have enough, but you could also consider something like a Teensy++ 2. Both have 8K ram I think.
Other options include Due or Teensy 3.1, but they are 3.3V devices, not 5V, so make sure your sensors and other components are 3.3V compatible. Also check that ws2812 libraries are available for these. You may need to use a signal level convertor to change the 3.3V outputs from those uCs to 5V for the led strips.
Or '1284P with 16K SRAM.
I offer cards in several form factors, for example:
Thanks PaulRB and Crossroads. I think since this is going to be my first big LED project that I will want to stick with something that has the standard libraries available, and to avoid complicating things use a 5v system. I had done the math for estimating the power supply, but had not done the math for the memory constraint. It looks like to be conservative I will want to go with the Mega 2560. Although I guess I could use multiple Uno's if I know I am going to have things portioned into zones. I don't think I will reach the worst case scenario, but it is good to know how much headroom I have in memory and power supply.
I noticed the FadeCandy controller at Adafruit, and I initially thought that might also be a possibility, but there is a 64 LED maximum on each output line, and I would have lines exceeding that. Although I am considering getting one with a short LED strip to attach to my existing Rpi sensor project to get some prototyping experience with the LED's before setting up my larger project.
Thanks for the advice.