Time to begin a new series of How to Program

@gmcmicken, This is great feedback! Indeed a high level API like that might exist some day, and parts of that are out there in existing patterns.

I think something like this could make sense for a raster/buffer type system, where shapes are painted onto a canvas.

That 3rd line is interesting, where you tie a shapes hue to and analog input pin with some scaling. Elements of that are planned, like tying a slider UI control to a physical input, which could in turn control hue.

Your pseudo code kind of reminds me of some object/sprite/vector animation frameworks.

You already figured out that Pixelblaze is a bit different, very pixel focused on a lower level, and more about generative procedural textures than object animation. For LED art I think this makes sense, where the light is illuminating something, accenting it, giving it life. A counter-example for contrast would be a high res flat LED panel/wall where showing graphics, text, video, etc are the focus.

Somewhere in-between would be Pixelblaze with a 2D panel, but this still tends to be applied toward generative art.

Weā€™ve talked about a raster canvas concept on the forums before, where a 2D buffer can be manipulated and drawn into, something like that could more easily support shapes, text, images, maybe video, and then taken and mapped back on to physical pixels (which donā€™t need to be in any regular configuration). Something like that could then have an animation framework layered on top to assist with moving things around in that canvas. Thats all future ideas stuff though.

I love hearing feedback like this, since it helps shape what it will be in the future.

1 Like

@wizard, you literally touched on one major subject Iā€™ve come to realize really defines the line between leds and screens. You could make a massive led matrix, equivalent to a poor quality VGA screen (say 640x480), itā€™s slightly over 300,000 pixelsā€¦ And use faster controllers than a PBā€¦ But at some point, youā€™ve left the LED ā€œsphereā€ and crossed into a whole different territory that can do all sorts of wonderful things but you also lost the essence of what LED art is about. You nailed it above. Itā€™s about illumination. The sheer limit of even a small 16x16 matrix or even a 64x64 panel (which at 4k pixels is already pushing the limits of ā€œled spaceā€) makes you think in very different ways, and items like the many projects we see here arenā€™t just ā€œscreen artā€

That said, I love doing matrix patterns too.
But I see items in Coding Train or on Shadertoy that just wouldnā€™t work as a led pattern, despite being amazing as screen art. Some of my code attempts absolutely are inspired by trying to take something and seeing if I can make it work inside the firm limits of a 16x16 led matrix.

1 Like

So do I! And there is still something beautiful about an LED panel (either with some diffusion so pixels merge, or keeping them isolated as separate elements) displaying generative art, over what can be done on a proper screen.

2 Likes

I agree. Upon typing in ā€œLed controllerā€ in Google you are flooded with results for crappy controllers like ā€œsp108ā€. Spent nearly $200 on these controllers over a period of several months before I found out about Pixel Blaze. PB is so much more than just a LED controller and it knocks out all the competition, by far.

1 Like

Great news, I missed the first round last year and look forward to another round.

Hereā€™s a ā€œcategoryā€ for your poll that better describes me. I conceptually understand most of the programs, and can modify them for my needs, but I couldnā€™t write one from scratch without a lot of copying.

Iā€™ve learned almost everything from the documentation and the many well documented examples (thank you!). Not being a programmer, one of my stumbling blocks now, is not understanding/remembering some of the syntax or operators, such as ā€œ==ā€, or what can, must, or must not be inside a function. I see nested functionsā€¦when are they needed or useful? Then thereā€™s the math, which is way over my head, but I am quite content just playing with what otherā€™s have written and shared. Some of my challenges are simply age memory related deficits. Nothing to do there except constant immersion. Iā€™ve been away from PB coding for much of last year, but am ready to dive in again.

I really appreciate all the educational info that was added when v3 came out. Sometimes Iā€™ll open up one of the earlier programs and be surprised to find tutorial comments that I donā€™t think were there before. Comments are a really great way for me to learn coding!

1 Like

Iā€™d love to see the tutorials that are written sequentially and numbered all in one place. If I wanted to do last years series from the beginning, I havenā€™t found an easy way to find them all. Iā€™m thinking a new category of ā€œIntentional Tutorialsā€ or at least a consistent naming strategy so you could search for them. Searching for ā€œTask #ā€ mostly works, but they donā€™t come up in order and the results include unrelated posts.

So much of the forum is tutorial, I could understand why you might not want to sequester them. Just a thought.

The first round of tasks was very much a concept of ā€œself taught challengesā€ to ā€œdo Xā€.

Iā€™ve gotten distracted from working on the tutorial series after the first lesson, due to personal stuff mostly, from which Iā€™m still working on. But I appreciate the encouragement and will hopefully feel up to continuing soon. I have big piles of PBs, LEDs and more, and itā€™s a dark cold winter.

The older tasks will be reorganizing once I complete the new lesson plan, as a sort of follow on.

I for one would encourage you to go ahead with this, as RL allows. It would be great!

In my case I previously way overestimated my residual understanding of coding, and real life intervened, so I got behind and kind of embarrassed to be asking clueless questions while others streak ahead.

Anyway, any and all instruction here is welcome and appreciated, whether organized or not.

1 Like