This whole time that I’ve been working on my POV project, I’ve also had a somewhat parallel track running, writing some light utilities. Well one really, the one that converts the image to LED data. Every time I found an interesting image, I’d convert it, load it up and spin. Either it looked good or it didn’t. A lot of times it’s hard to visualize what something will look like till I actually spun the thing. Last night I put a stop to that: I wanted a way to visualize first and not have to go through all the steps to get it spinning, from the original image, to the warped one, and finally spinning. Much better.
ImageMagick’s Magick++ API. I’ve been using IM for several years now for a variety of things, from PHP coding to just command line manipulation and just recently started using the C++ API.
Nice! I like this. I’m working on figuring out ways to pre-visualize some of my projects before I start laying down leds, since that can get expensive. No time yet to do more than just think about it, though
I’m going to try and make this into a full application that I can then use to load images in and manipulate. Sometimes an image looks better when rotated 90 degrees for example. Or it looks better when it tiles with a break in between. Stuff like that is easy enough to play with with the API. Writing an app … not so much (for me at least.)
And for all intents and purposes, I could also separate each pixel from the next, both horizontal and vertical, to give the appearance of the actual LED strip. But that’s just getting picky (and anal retentive.)
Hi, I really like your work respected, and wanted to make a similar plan,However, these conditions can not be overcome.
I use “arduino nano 3.0” reads the SD module data sent to WS2812 want to make the same effect with your photos, but the speed display very slow.
I turn a BMP into hex. txt(0x00FFFFFF), use SD lib “String” reads and convey string to a int sent WS2812.
Is the microprocessor too slow or my transcoding way wrong? Thank you for your guidance
The WS28X series is way too slow to do POV. Use the LPD8806 instead. Other than that, you can do what you’re doing, converting to HEX and reading that in but you’re doing a lot of conversions there. It’s easier and faster to convert the image file into RGB data files and reading that in. One of my utilities will take an image file, read each pixel and extract the R, G, B values and store them as bytes in a data file. Then I read in that data file based on the exact amount of bytes that I need to fill the full string. So with 48 pixels, that’s 48x3 bytes of data, or 144 bytes. You can read the exact amount of bytes directly into the leds[] array as-is and display.
Well, I understand. I also found this page to explain the limitations of WS28X series speed. https://learn.adafruit.com/adafruit-neopixel-uberguide/advanced-coding Can you tell me where you buy LPD8806? In my country, it seems that there is no place to buy these products. In addition, I would like to ask that the microprocessor you are using? Storage capacity is how you solve?
Thank You!