Replies: 2 comments 1 reply
-
I think the good news is that since you can override the XY function for any GFXBase device, you could make one that did whatever funky translation you needed for indexing into your LEDs. Then you could do color wipes or whatever across the entire face of it, and the x/y lookup would translate to which LED to write to, etc. |
Beta Was this translation helpful? Give feedback.
-
I just went to the venue and found that the have moved the display to a different wall and changed it to a regular rectangle of 9x18, wiring order now unknown, but no power to it today so I will go and test it tomorrow. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi Dave and everyone else

back in 2019 I was involved in an art project that, among other things, produced a
very large wall display of the periodic table with RGB led's for each element. image attached.
It forms a 9x18 matrix, but.... big BUT...
The wiring is a random serpentine due to the modular boxes of the construction..... so it cannot be treated as a regular matrix with easily calculated index numbers. Some bits are vertical serpentine and other parts are horizontal, but it is all one long string of 162 LED's.
Back then we used an Arduino Uno to run the basic periodic table display and some artwork, I remember it being a little tight on memory. The artwork used a library based on a simple object.cell(x,y) access, where, cell(0,0) is the bottom left corner of the periodic table, which is NOT led[0] <-:
The code used a translation matrix like this, this is not the final one, I don't have that latest code here with me... being delivered 'later'
[code]
const byte matrix[H][W] =
{
/8/ { 8,161,160,159,158,157,156,155,154,153,152,151,150,149,148,147,146, 81},
/7/ { 7, 9,126,129,130,133,134,137,138,141,142,145, 56, 57, 68, 69, 80, 82},
/6/ { 6, 10,127,128,131,132,135,136,139,140,143,144, 55, 58, 67, 70, 79, 83},
/5/ { 5, 11, 14, 15, 22, 23, 30, 31, 38, 39, 46, 47, 54, 59, 66, 71, 78, 84},
/4/ { 4, 12, 13, 16, 21, 24, 29, 32, 37, 40, 45, 48, 53, 60, 65, 72, 77, 85},
/3/ { 3, 2,125, 17, 20, 25, 28, 33, 36, 41, 44, 49, 52, 61, 64, 73, 76, 86},
/2/ { 0, 1,124, 18, 19, 26, 27, 34, 35, 42, 43, 50, 51, 62, 63, 74, 75, 87},
/1/ {121,122,123,116,115,112,111,108,107,104,103,100, 99, 96, 95, 92, 91, 88},
/0/ {120,119,118,117,114,113,110,109,106,105,102,101, 98, 97, 94, 93, 90, 89}
};// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
[/code]
Now I have been contracted to update the display, fix a few faulty LED's etc, and of course change the display to incorporate a
sponsors colours and maybe animate the logo across the screen.
I will exchange the old Uno for an ESP32-WROOM-32 (devkitv1) module, and would love to use NightDriverStrip to drive it all
with the goal of having web access to the device so the stage manager can change the display mode as needed.
I don't envision doing anything more than having some effects to turn on or off, no realtime video or anything like that.
It will run the sponsor colours/logo for 10 days of festival but after that must go back to the periodic display. I would like to add to that some arty moving colours/flames/animation things that are short (a few seconds) and occur at random intervals, just to spice it up a bit.
Given time I can figure this out by myself, but I was contacted yesterday and it all has to be working by 19 June, so I am asking for help.
Tomorrow I go to examine the hardware situation and make sure I have the correct translation array. After that I need to
either get NightDriver going with some options OR I will have to just settle for WifiLess static software.
Thanks
Beta Was this translation helpful? Give feedback.
All reactions