mobarton
Members-
Posts
7 -
Joined
-
Last visited
mobarton's Achievements
4-Bit Adder (2/7)
2
Reputation
-
Inexpensive scrolling marquee
mobarton replied to mobarton's topic in Third-Party Applications and Plugins (Released)
If you change your port, the one attached should work. I don't have a pc set up for python currently, I can't promise when I would get around to working with it again. With some reading on compiling python you should be able to set yourself up. If I get around to it i can try, but no idea when that would be -
Inexpensive scrolling marquee
mobarton replied to mobarton's topic in Third-Party Applications and Plugins (Released)
I'm not home, but it would be easier to open device manager and set your port. Just reboot and verify it stays. -
Inexpensive scrolling marquee
mobarton replied to mobarton's topic in Third-Party Applications and Plugins (Released)
Edit the adreno code, incomingString.substring(2,152), change the 2, to 0, in all places then upload it. You can also change the port in the python code or change the port in Windows device manager. If you can get python working it is more stable -
Inexpensive scrolling marquee
mobarton replied to mobarton's topic in Third-Party Applications and Plugins (Released)
I had trouble with the com port and baud rate for send_com when first trying this. The arduino changes ports when newly plugged in sometimes if the pc is reset or you change usb ports. That would be my first guess. The file is currently set to 'COM3', 115200 I don't recommend using the bat for anything except testing initially. The python works way better -
I forgot to include the original .bat file I started with in windows, pasted below for reference. It worked better with the nano for some reason. @echo off set g=%2 set p=%3 set o="%g:"=%-%p%" set l=%1 ::echo %o% ::echo %p% ::echo %g% ::echo %1 ::pause IF %l%==1 (GOTO bigbox) IF %l%==2 (GOTO close) IF %l%==3 (GOTO end) IF %l%==4 (GOTO end) IF %l%==5 (GOTO end) IF %l%==6 (GOTO end) IF %l%==9 (GOTO serial) IF %l%==7 (GOTO end) IF %l%==8 (GOTO system) echo failed go echo %l% echo %2% echo %3% pause GOTO end :system set o="Bigbox Platforms" ::echo %o% ::echo %p% ::echo %g% ::echo %1 ::pause GOTO Serial :bigbox mode com3 to=off rts=off dtr=off data=8 baud=115200 > nul set o="BigBox Platforms" > nul ping localhost -n 3 >nul ::echo %o% ::pause GOTO Serial :close mode com3 to=off rts=off dtr=off data=8 baud=115200 > nul set o="Goodbye..." > nul ping localhost -n 3 >nul ::echo %o% ::pause GOTO Serial :serial set /p x=%o% <nul >\\.\COM3 ::pause :end exit
-
Inexpensive scrolling marquee View File First, I am not a developer, so I am sure this can be improved on. This is a way to get a scrolling marque for aprox $100 Canadian. I did a quick video of it working in attract mode; It uses the following hardware: Elegoo LYSB01H4ZDYCE-ELECTRNCSMEGA 2560 R3 Board ATmega2560 ATMEGA16U2 with USB Cable Compatible and Arduino - $20 BTF-LIGHTING WS2812B RGB 5050SMD Individually Addressable Digital 8x32 256 Pixels 12.5in x 3.1in LED Matrix - $50 Power options for panel, can use 5v from a PC power supply (red wire) or a power brick with 2 amps or more. This is based on just scrolling text, if you start doing graphics or lighting a lot of LEDs, get a real power supply, These were purchased off Amazon.ca. Read on the panel, as again, if you light a lot of LEDs it will draw a lot of power. I provided the code for the Arduino, That I want to give credit to Cyan Infinite, although I did edit the code some. see sketch.serial.text.ino Cyan Infinite | Scrolling text with flexible 32x8 RGB LED Matrix I started with a generic UNO, but it seemed a bit underpowered, so changed to a generic Mega board. Note, later when I built the Python code, I had an issue with 2 odd characters being displayed at the beginning of my scrolling text which I suspect was a communication setting for the com port, but not positive. That is why I used a substring command. I used pin 49 to send the data to the panel, as it was close to a ground. You need a data and a ground, and the pin you use must match the one identified in the code. If you use a UNO, the pin numbers are different range, I had used 6 then for example. You need to set the com port for your board. That can be done in a couple ways, one is Device Manager, Properties, Ports, USB Serial Device, Port Settings, Advanced. My code uses Com 3. You can adjust this, but will need to compile the Python then and not use the supplied exe. The python script will set the options in windows to match the Sketch settings (although I think I may have an error per my Note above) The send_com.py is the source code for send_com.exe. I tried to use the py file, but bigbox didn't like that. I actually started with a basic .bat file, but the popup window was messing things up. I'll paste that at the bottom for enquiring minds. The port settings may not match the sketch though, so if you use it, adjust it. If you want to use different port or port settings, you will need to recompile. Up to you where you put the send_com.exe, but note that windows antivirus deems it a security risk when you try running it, it will block it and remove the file, so you will need to exclude it, I found it easiest to create a subfolder and exclude the subfolder from scanning. SEE V 1.02 or newer, recommend use of the ZIP version and not the single file exe to avoid this issue. If you are concerned I am providing malicious code, read the .py file and compile it yourself. Not going to try to tutorial that, I'm a novice at best and there is lots of info on the web. For some reason windows antivirus does this with all py files compiled as a single file exe, at least ones compiled using pyinstaller. See the screenshot for the LaunchBox LEDBlinky settings. Browse to where you put the send_com.exe file, your path will not likely be same as mine. So there are a couple things I don't like about my solution. LaunchBox and BigBox don't seem to be coded exactly the same for what to send to LEDBlinky for parameters. I didn't test LaunchBox really. Think it is close though. It does not send the Platform name (MAME, Playstation, etc...) when scrolling the Platform wheel, or I couldn't figure it out. If you navigate to a Platform (like MAME) in BigBox, it will show the game followed by platform, If you move the Game wheel, it will update to the game. If you select the game, it will update to the game. BUT if you navigate up a level, I could not find any content sent. That would be ok going from Game Details to Game Wheel, but not so going from Game Wheel to Platforms. And this all uses the same level code of 8 (the first passed parameter). I would like to code around that sometime, but have a bunch of learning to do... Feel free to update this if you like. If you find it useful, excellent Submitter mobarton Submitted 06/02/2021 Category Third-party Apps and Plugins
-
Version 1.0.3
86 downloads
First, I am not a developer, so I am sure this can be improved on. This is a way to get a scrolling marque for aprox $100 Canadian. I did a quick video of it working in attract mode; It uses the following hardware: Elegoo LYSB01H4ZDYCE-ELECTRNCSMEGA 2560 R3 Board ATmega2560 ATMEGA16U2 with USB Cable Compatible and Arduino - $20 BTF-LIGHTING WS2812B RGB 5050SMD Individually Addressable Digital 8x32 256 Pixels 12.5in x 3.1in LED Matrix - $50 Power options for panel, can use 5v from a PC power supply (red wire) or a power brick with 2 amps or more. This is based on just scrolling text, if you start doing graphics or lighting a lot of LEDs, get a real power supply, These were purchased off Amazon.ca. Read on the panel, as again, if you light a lot of LEDs it will draw a lot of power. I provided the code for the Arduino, That I want to give credit to Cyan Infinite, although I did edit the code some. see sketch.serial.text.ino Cyan Infinite | Scrolling text with flexible 32x8 RGB LED Matrix I started with a generic UNO, but it seemed a bit underpowered, so changed to a generic Mega board. Note, later when I built the Python code, I had an issue with 2 odd characters being displayed at the beginning of my scrolling text which I suspect was a communication setting for the com port, but not positive. That is why I used a substring command. I used pin 49 to send the data to the panel, as it was close to a ground. You need a data and a ground, and the pin you use must match the one identified in the code. If you use a UNO, the pin numbers are different range, I had used 6 then for example. You need to set the com port for your board. That can be done in a couple ways, one is Device Manager, Properties, Ports, USB Serial Device, Port Settings, Advanced. My code uses Com 3. You can adjust this, but will need to compile the Python then and not use the supplied exe. The python script will set the options in windows to match the Sketch settings (although I think I may have an error per my Note above) The send_com.py is the source code for send_com.exe. I tried to use the py file, but bigbox didn't like that. I actually started with a basic .bat file, but the popup window was messing things up. I'll paste that at the bottom for enquiring minds. The port settings may not match the sketch though, so if you use it, adjust it. If you want to use different port or port settings, you will need to recompile. Up to you where you put the send_com.exe, but note that windows antivirus deems it a security risk when you try running it, it will block it and remove the file, so you will need to exclude it, I found it easiest to create a subfolder and exclude the subfolder from scanning. SEE V 1.02 or newer, recommend use of the ZIP version and not the single file exe to avoid this issue. If you are concerned I am providing malicious code, read the .py file and compile it yourself. Not going to try to tutorial that, I'm a novice at best and there is lots of info on the web. For some reason windows antivirus does this with all py files compiled as a single file exe, at least ones compiled using pyinstaller. See the screenshot for the LaunchBox LEDBlinky settings. Browse to where you put the send_com.exe file, your path will not likely be same as mine. So there are a couple things I don't like about my solution. LaunchBox and BigBox don't seem to be coded exactly the same for what to send to LEDBlinky for parameters. I didn't test LaunchBox really. Think it is close though. It does not send the Platform name (MAME, Playstation, etc...) when scrolling the Platform wheel, or I couldn't figure it out. If you navigate to a Platform (like MAME) in BigBox, it will show the game followed by platform, If you move the Game wheel, it will update to the game. If you select the game, it will update to the game. BUT if you navigate up a level, I could not find any content sent. That would be ok going from Game Details to Game Wheel, but not so going from Game Wheel to Platforms. And this all uses the same level code of 8 (the first passed parameter). I would like to code around that sometime, but have a bunch of learning to do... Feel free to update this if you like. If you find it useful, excellent send_com.zip