I have as an example a persistence of vision project using fast blinking LEDs which paint an image in the air as it is moved around quickly. I can convert image data and compile it along with a sketch (which remains unchangeable), yet for a normal user it is far too technical for them to add their own images.
What would it take to make a GUI to allow a common user to “upload” images/image data? Having investigated to my capacity I am guessing it would take porting the project code to a MicroPython capable board and using Tkinter but I really have no idea. The ideal would be to have a simple upload button capable of processing then “uploading” a directory of images.
If someone could point me in the right direction I’d be happy to throw myself into this. One feasible idea might be to do the image processing online to produce a single image data file, but then there’s the issue of compiling and loading it along with the sketch when a typical user will not be using Arduino IDE. Ideas anyone?
That GUI project sounds like a job for a PC or a RaspberryPi rather than a microprocessor with microPython.
What Arduino board are you using for the "persistence of vision project"?
...R
I agree Robin, no matter how much progress has been made in capacity and form factor the humans always want more, and I'm asking a lot yet it's necessary for so many projects to allow an end user to alter the data on a board.
I have been thoroughly impressed as I have implemented POVs with the Teensy 3.2 which may be overkill. I've really got my eye on the Adafruit ItsyBitsy M0 Express which can deliver ~5V to the LEDs, has plenty of speed and memory, and ships with CircuitPython (MicroPython) yet could be switched over to Arduino IDE.
I confess I haven't worked with MicroPython and there may be a lack in libraries available yet to me it seems the only way to get around needing to externally recompile when wanting to change something such as bitmap images in this POV case.
assemble_in_mexico:
I confess I haven't worked with MicroPython and there may be a lack in libraries available yet to me it seems the only way to get around needing to externally recompile when wanting to change something such as bitmap images in this POV case.
I was thinking of a PC (or RPi) GUI program that would upload data (rather than a complete program) to the microprocessor.
However, whether you want to do it on a PC or with microPython on a powerful microprocessor this is not the place to come for advice. This Forum is about programming Arduinos using C++
...R
assemble_in_mexico:
I have as an example a persistence of vision project using fast blinking LEDs which paint an image in the air as it is moved around quickly. I can convert image data and compile it along with a sketch (which remains unchangeable), yet for a normal user it is far too technical for them to add their own images.
Compiling data into a sketch is often done for examples but does not scale as you found out yourself.
A more generic solution would be to use a micro SD card and tell your users what files they can load. Many of the old file formats like bmp, wav and all kinds of text are really easy to handle from a software point of view. For some LED pattern bmp is fine, you do not need PNG, JPG and so on.
Today I was just thinking along those lines, yet you put it so eloquently. Thank you Klaus!!!
I think that would be the best way to go about it. Perfect it is. Tell the users to upload to a separate memory space .bmp files named 01, 02, 03 etc. and have the sketch use those files. Maybe not the prettiest but quick and efficient. I think that's the route I'll go. Thanks again for sharing your outstanding expertise.