Thank you very much for the kind comment..... What you see in the last video is a line by line responce of a "bmp", bitmap, drawn in Gimp and saved in "C" and imported into Arduino and controled with a Teensy LC, for larger image files greater then 24x575, I would use a Teensy 4.0 with more memory. For now gray scale affects the color of the NeoPixels. After my move I will sit down and figure out what is happening. I'm sure it's just a case of saving the file without color information.....
Since I wrote it, I can easily clarify what it does.
It takes bitmaps like the following:
(Zoomed 400% to see detail)
The width in pixels is the number of LEDs. Each row is what the LEDs are doing. Brightness is the brightness of the LED, and the color is the color.
Think of a player piano, go row by row, top to bottom, what isn't black is lit.
So here you have three things going on, a single pixel starting on the right, moving towards the middle then back to the right.
A wider point of light, brightest in the center that wiggles left and right on the right half of the display
A pulsing light that starts as a single pixel, then blooms into a bright point, several pixels wide, that fades out again just left of center.
Here's what it looks like:
Then when it reaches the last row, it repeats the pattern. Length of the pattern depends on how much memory you want to assign to it - probably hundred or thousands of rows can be used.
No math, or weird formulas required. If you can draw your pattern in Gimp or Photoshop, it'll run the pattern on the LEDs. GIMP is recommended.
It'll also do the same thing in full color if you draw the BMP in color. The current version reads the image from flash (or PROGMEM). I can easily make it read directly from a BMP file stored on an SD card as well.
You can use this for effects like putting a "sparking effect" in the engines like on the Millennium Falcon. Make the BMP say bright blue/white, but at 50 or 75% intensity (still absurdly bright with these LEDs). Use the spray can tool with pure white and spatter it on the image. Play it back and you'll get the blue engine lights with subtle white flickering. More flecks, more flickering, bigger gap between engine brightness and white flecks, the more pronounced the flickering will be.
Good for people who have great Photoshop skills but don't want to code. So... no coding required. Import your image, build the code & load onto the arduino (or teensy, or ESP8266) and plug it in. Done.
Last edited: