0
\$\begingroup\$

I'm looking for a way to build an 8x8 RGB LED dance floor, each tile about 45x45cm.
I was thinking of having each tile of the floor run its own small Arduino board to manage the LEDs and the input from a pressure sensor.
What I'm wondering about is what is the simplest way to connect all of these nodes to the central controller. Running ethernet cables and hubs seem like an overkill, I2C seems inadequate for this kind of distance. Is middle ground option?

\$\endgroup\$
6
  • \$\begingroup\$ Maybe CAN bus is suitable. \$\endgroup\$
    – user57037
    May 14, 2022 at 0:27
  • \$\begingroup\$ I would consider building a 4x4 matrix (mock up) and check your sensors, leds, support, etc. \$\endgroup\$
    – Gil
    May 14, 2022 at 0:32
  • 1
    \$\begingroup\$ Consider a wireless mesh network. You'll still have power leads to run, but you won't need to run signal leads, deal with ground loops and noise, etc. What communication do you want between the tiles? Is it just for configuration? \$\endgroup\$ May 14, 2022 at 1:08
  • 2
    \$\begingroup\$ What data rate is required? \$\endgroup\$ May 14, 2022 at 1:41
  • \$\begingroup\$ if cable, then RS485 protocol \$\endgroup\$
    – Juraj
    May 14, 2022 at 5:13

1 Answer 1

1
\$\begingroup\$

By putting an Arduino on each tile you are designing an overcomplicated and expensive solution for a problem that has already been solved more simply and more cheaply.

"Individually addressable LED strip" is a thing that has existed for many years now. The LED controllers are simply wired with power in parallel and data in series. You use a serial protocol to control the LEDs. Each LED reads and does not pass on the first data element in sequence, then passes on the rest to the next LED, until the reset signal is given.

There are no node addresses - each LED is identified by its position in the chain.

Many kinds (WS2812B, APA102C, SK6812) are all-in-one LEDs with the controller integrated into the actual body of the LED. They are not especially bright so you will need more smaller tiles to make up the brightness. However there's also the WS2811 which is a control chip that you can wire up to any LEDs you like. Probably other similar ones, but I don't know them (but see below).


You don't actually need a specialized LED driver chip. Assuming that you do need a controller chip because the LEDs with built-in controllers aren't bright enough, what you want is anything that (1) generates PWM signals and (2) can be daisy-chained.

I remembered that some chips marketed as "SPI" can be daisy-chained, so I searched for 'SPI PWM chip' and found the TLC59711, which also looks good (better than the WS2811 in just about every way, and yes it's designed for this exact purpose). If you search around for PWM generators you might find something even better.

\$\endgroup\$
2
  • \$\begingroup\$ Is it really possibly to drive a 5050 common anode strip with one of these TLC59711? I really liked this idea but this post seem to suggest otherwise: forum.arduino.cc/t/… \$\endgroup\$
    – shoosh
    Jun 3, 2022 at 22:51
  • \$\begingroup\$ @shoosh They are probably talking about the maximum current which is 60mA per channel. You may choose to amplify it with transistors. Up to 17V is supported, so LEDs can be chained in series. I have not used this chip, so I'm basing this on the datasheet \$\endgroup\$
    – user253751
    Jun 5, 2022 at 19:46

Not the answer you're looking for? Browse other questions tagged or ask your own question.