I did not make an object that has RGB inlets for every LED, I think that would be hard to manage for dozens of LEDs. So yes it just shows scrolling RGB colors.
I believe in practical use cases, you want to control a few parameters of a lightshow, while the lightshow algorithm itself is better suited to coding than patching. So the script needs to be adapted to different situations...
If you want to use the two available inlets of the script2 object, you can just use in1 and in2 variables in the code, to convert them to 8bit intensity, you need to right shift them by 19 places (in1>>19
).
5V powersupply is fine for the LEDs, with PA6 connected to Axoloti, and GND connected to powersupply, LEDs and Axoloti.
The setv function:
The LEDs need serial data formatted like:
for a zero bit: 1000
for a one bit : 1100
(while the "formatted" bits need to be clocked at 3.2MBit/s)
Actually the WS2811 or WS2812 datasheet don't talk about this structure, it only gives timing specifications, and this fits the requirements.
So transmitting the intensity value for a single LED/channel needs to expand for example
value (decimal)15 = (binary)00001111 into 10001000100010001100110011001100
and that's what the setv()
function does.