martinnohr / magicimagewand Goto Github PK
View Code? Open in Web Editor NEWPaints Images in the Air with LEDs
License: Apache License 2.0
Paints Images in the Air with LEDs
License: Apache License 2.0
The display brightness system setting (not the LED strip) does not work.
Hello Martin,
I have a question. I have rebuilt the MagicImageWand with a lot of friends and I am excited about it. I would like to try to build the whole thing with a larger TFT display 3 or 4 inches and an ESP32 NodeMCU Module WLAN WiFi Dev Kit C Development Board. Is it possible to adapt the code?
Many greetings
Thomas
Pins 34-39 on esp32 are input only, they cannot be used for output control. I suggest pin 21, 22, 32, or 33. Although any of the other outputs could be used, there isn't any conflict since they aren't being used. But leaving the SD pins free means we could add an SD card if necessary in the future.
Please change the schematic.
I would like to push the two stirpes completely together in the middle and start the lines for the stripes once from above and the other from below. then I have no gap in the middle. can ma set this in the code so that it rotates the control by 180 degrees or something like that?
I would appreciate an answer.
Thanks in advance
Peter
It would be nice for the inbuilts to play forever until long press, as the patterns all have different play times which is hard to keep track off. Or make it possible to save MIW files for inbuilts.
"fails to create macro file".
Hi there,
Great project. I have a problem. The SD card is not recognized. No matter if exFat or Fat16 or Fat32, 1GB or 8GB cards. also tried a second SD module. unfortunately no function. Maybe an idea?
Many Thanks
Peter
I've just flashed v2.03 and the option to scroll and preview images has started to glitch for me.
In the previous version (v2.02 I believe) worked perfectly.
When I scroll to preview next image, it flashes and reverts back to previous one.
Btw, this feature is really smart. The features and tweaks just keep getting better and better.
Hi Martin, Hope your chrostmans was good. I was wondering If one could get the gerber pcb files, and also if BOM + CPL lists are available, so I could get the PCB printed by JLCPCB?
My handmade board is too fragile to be used in the field and requires a more professional, robust board
Thank you
BTW have you come across this?
https://www.aliexpress.com/item/1005001447548347.html
Probably overkill, but the touchsceen interface, rather cool and the sceen is huge, by comparison.
when trying to compile on a Vanilla Arduino IDE Installation, StackArray.h is missing and is not installable through the Library Manager.
https://github.com/Ridhwanluthra/StackArray
needs to be installed manually to make it compile
If the currently selected file is really a folder and the preview button is pressed there will be an error message that the file can't be opened. Unfortunately the screen buffer was already allocated and the memory never released. If a valid file is then selected the preview will fail with a not enough memory error.
when turning the wheel for hue and sat it would be nice if the if the value goes back to 0 when reaching 255.
When recording macros, for instance spelling a name with the fire alphabet, names need to be put in reverse in the macro menu as walking direction is reversed.
I would suggest to change the standard direction to right to left, this would also make all pixelstick images on the web compatible without rotating them 180 degrees.
Or am I missing something?
It gets confused about what is normal or reverse.
Some Patterns or images might benefit from a fade in / fade out option
i guess because of the last change of the direction
When in BMP Preview, a single click should bring you back to filelist, this makes for a faster workflow when browsing images.
It would be nice to have an option to have long image file previews automatically scroll sideways just like the menus do.
Trying to run chain files in a folder doesn't do anything.
Idea:
Press start on the controller
controller sends signal to receiving unit, triggering bulb mode (or set timer on camera)
controller plays pixels
controller sends signal to receiving unit to close shutter
Either 433 Mhz with a module like this: https://www.aliexpress.com/item/32416047991.html?spm=a2g0o.productlist.0.0.44c933caOL2SaQ&algo_pvid=9416576b-7458-4029-b1be-9e83031af96c&algo_expid=9416576b-7458-4029-b1be-9e83031af96c-4&btsid=0b0a050b16080249160327090ee01c&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_
or maybe BLE if range is enough.
highend: LoRa
list of interesting ESP Boards that would suit this project
Very long files like FlamesLong.bmp, Flamesverylong.bmp, MagicImageWandGrafiti.bmp are not playing through the LEDs. BMP Preview works fine
I will fix this
Design a connector that doesnt leave a gap and therefore a black line if joining 2 144 LED strips
Provide a set of images in sizes 144 and 288 to make for an easy start with the pixelstick
@hello Martin,
I tried to test the function of the frame sensor input, unfortunately without success. In the program code the input pin is "22" but in the schematic it is "32". What is correct now. I have changed the 22 to 32 in the program, but there is no reaction when the input is connected to GND. Can you help me here?
If you jump inside a directory with a lot of files by accident, going back can only be achieved by scrolling completely to the bottom. Workaround at the moment: turn on menu wrap
ORB light painting is done by swinging a light around in circles while slowly turning around the hand holding the light. I keep thinking there might be some way to do that with this wand and a spinner handle. We'll need to turn certain lights on on each end and maybe let them change over time. Anyway, something to think about when bored!
probably the same issue as in my offline conversion script. Will fix.
Offline script for reference:
`#!/bin/bash
filename=$(basename -- $1)
filename="${filename%.}"
setname=${PWD##/}
mkdir -p ../../144/$setname
mkdir -p ../../288/$setname
convert $1 -rotate 270 -resize 288 BMP3:../../288/$setname/$filename.bmp
convert $1 -rotate 270 -resize 144 BMP3:../../144/$setname/$filename.bmp`
Hello Martin,
i have a problem with the second LED Stripe, this one unfortunately does not work. I have selected in the menu under LED Strip Settings Total LED 288 and under LED wiring Mode 2. Unfortunately the second stripe is dead. Both LED strips are connected to the data pin input, is that correct?
What could I have done wrong here?
THX
Thomas
I am using a 16GB SDHC card formatted as exfat and saving MIW files does not work, so macros can not be used. start.MIW saving also fails.
I had also done project on lightpainting 2 years ago https://github.com/jbreizh/ImagePainting and i was upgrading/testing it for the new software version when i find your project.
Great projet !! i am especialy impress with the hardware and all the build in arduino code.
When you chose to build a full feature stick, i choose to build a smartphone driven stick (way simpler especialy for the hardware and arduino code). Anyway, maybe you can salvage some idea from my project although the code quality is not the best as i am just a french maths teacher...
Or as you already said, make the font a bit larger
SettingsSaveRestore() is allocating memory for the size of an array, but it should be the count of the sizes of all the elements that the array points to. This causes a crash in some cases. I have fixed the issue in version 1.13.
Hello Martin,
I came across this project with great interest and still have a few questions for me as a beginner!
I have read that there are already previous versions of the project, among other things with the ESP32 WIFIVERSION 2HELTEC KIT 32. Now a different device is used. I'm not quite clear from the schematic. Here the ESP32 TTGO device is operated without 3.3V?
https://github.com/MartinNohr/MagicImageWand/blob/main/TTGO%20Magic%20Image%20Wand%20Schematic.pdf
And what's the deal with the wiring diagram remote. I apologize for my perhaps stupid questions. If you could help me here the start in this project something I would be grateful.
https://github.com/MartinNohr/MagicImageWand/blob/main/TTGO%20Magic%20Image%20Wand%20Remote.pdf
THX
Thomas
not a big deal, but people might expect a preview of the effect which is of course hard to do.
Clockwise selection rotates counterclockwise and the counterclockwise selection rotates clockwise.
SdFatConfig.h and nvs_flash.h are missing from the source files.
Hi! I just ordered the TTGO board and downloaded the code. Followed the instructions in the wiki, but ending up with a few errors..... :
Arduino:1.8.13 (Mac OS X), Kort"ESP32 Dev Module, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, None"
In file included from sketch/MagicImageWand.h:52:0,
from /Users/kolbjorn/Dropbox/Min Mac (Kolbjørns MacBook Pro)/Desktop/MagicImageWand/MagicImageWand.ino:7:
/Users/kolbjorn/Dropbox/Min Mac (Kolbjørns MacBook Pro)/Documents/Arduino/libraries/FastLED/src/FastLED.h:14:21: note: #pragma message: FastLED version 3.004.000
^
In file included from /Users/kolbjorn/Dropbox/Min Mac (Kolbjørns MacBook Pro)/Documents/Arduino/libraries/FastLED/src/FastLED.h:65:0,
from sketch/MagicImageWand.h:52,
from /Users/kolbjorn/Dropbox/Min Mac (Kolbjørns MacBook Pro)/Desktop/MagicImageWand/MagicImageWand.ino:7:
/Users/kolbjorn/Dropbox/Min Mac (Kolbjørns MacBook Pro)/Documents/Arduino/libraries/FastLED/src/fastspi.h:135:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output
^
Traceback (most recent call last):
File "esptool.py", line 57, in
File "/Library/Python/2.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
File "serial/tools/list_ports.py", line 29, in
File "/Library/Python/2.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
File "serial/tools/list_ports_posix.py", line 31, in
File "/Library/Python/2.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
File "serial/tools/list_ports_osx.py", line 32, in
ValueError: dlsym(RTLD_DEFAULT, kIOMasterPortDefault): symbol not found
Failed to execute script esptool
Mange bibliotek ble funnet for "FastLED.h"
I bruk: /Users/kolbjorn/Dropbox/Min Mac (Kolbjørns MacBook Pro)/Documents/Arduino/libraries/FastLED
Ikke i bruk: /Users/kolbjorn/Dropbox/Min Mac (Kolbjørns MacBook Pro)/Documents/Arduino/libraries/FastLED-master
Mange bibliotek ble funnet for "WiFi.h"
I bruk: /Users/kolbjorn/Library/Arduino15/packages/esp32/hardware/esp32/1.0.4/libraries/WiFi
Ikke i bruk: /Applications/Arduino.app/Contents/Java/libraries/WiFi
exit status 255
/Applications/Arduino.app/Contents/Java/arduino-builder returnerte 255
Feil ved kompilering for kort ESP32 Dev Module.
as the TTGO-T-Display has a nice color TFT display, a preview on the screen would be nice. longer images can be clipped.
I'm going to post the code for Visual Studio first, since I haven't had time to learn VS Code yet. I'm sure you can convert it quickly and sooner or later I'll start using VS Code as well. I have loaded it on my system. It is certainly faster than Visual Studio!
I often have drawings that are black on a white background. It would be nice if the image converter could make the background black and the drawing white.
It doesnt seem to work anyway
If you are testing this on a breadboard make sure to lower the LED brightness. The power draw with lots of white lights can easily cause a voltage drop and the TTGO will freeze. Or you could also connect a separate power supply to the battery lines on the LED strip. I had a lot of crashes when just using the USB to power everything.
You could just set the brightness lower and then save the system settings with automatic load on.
when in the field without a computer/SD reader it could be helpful to upload images over WiFi. Images can be converted with the online converter beforehand.
Care must be taken to not collide with the planned remote shutter functionality.
Idea: MIW will create a Hotspot and will offer a small website for uploading images and expose an API where the remote shutter can connect to. This will be a bit more work on the remote shutter, as it needs an UI to connect to the MIW
It would be interesting and useful to port the code to run on the M5 Core2 system.
Originally posted by @MartinNohr in #1 (comment)
Let's continue our discussions from the lightwand post here.
I'll start by saying that I now have my test code on the TTGO getting closer.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.