I thought this was going to be fairly straight forward. I'm trying to drive four 16x16 LED panels using data two pins from my Arduino Nano Every. Power is being supplied separately. The data pins D2 and D4 are each wired to two of the 16x16 LED panels. I want to see the same animation on all 4 panels.
Modifying some example code I thought all I would need to do would be to define my second LED output (D4) and add a the second controller pointing to D4.
Thanks for the quick response. Though this seems like it would require me to duplicate a lot of code. Every modification to leds1 array would have to be duplicated to leds2 array. Is there any way to use only one leds array or have leds2 be a reference of leds1?
I notice that the compiler generates errors unless I set Tools > Registers Emulation > "None (atmega4809)" in the IDE. Good to see that FastLED finally added support for the Nano Every.
@david_2018
This will show the same data but will each pin be transferred in order.
I thought the two panels could appear out of timing when the OP was showing something on the display at high refresh rate.
Well, it may be the same from the human eye.
I'm not sure how many strips can be directly driven off a single output pin, if four is too many then a buffer would be easy to implement, and the strips would be driven simultaneously.
Yeah.
Adafruit says four are feasible, but OP wasn't.
So I've suggested a use buffer IC, but if a very slight timing shift doesn't matter, approach at you provided is better.
And timing shift issues are unlikely to be a problem for most applications.
As long as your Arduino still have unused pins and your LEDs are not displaying super fantastic high-speed animations, david's approach is everything fine.
But, Well... it's not a bad thing to learn how to use the logic IC for your much experience of electronics.
If your code is using the same technique as the example code, then try the example code to verify that it works on the Nano Every. It's possible that FastLED has a bug with multiple outputs on the Nano Every, support for the atmega4809 is a fairly recent addition.
I am noticing that when Tools > Registers emulation > "ATMEGA328" is selected the code generates errors when certain pins are selected - pins 0, 1, 4, 5, 9, 10, A0, A1, A2, A3 - you might try using another pin instead of 4 for the 2nd output.
Just out of curiosity; Could you not run all strips from one pin if you used a transistor to amplify the signal? Or are the LED panels causing interference in the data signal?