mobarton Posted June 2, 2021 Share Posted June 2, 2021 (edited) 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 Edited October 14, 2021 by mobarton Added video of completed cabinet Quote Link to comment Share on other sites More sharing options...
doubleoseven Posted April 12 Share Posted April 12 (edited) @mobarton hi. First of all, thank you for your great effort to do such awesome project. I am trying to build mine to, just like yours. But i do running some problems with the python code, it doesn´t work out for me. No characters showing on my panel at all. The bat file works better, but there is some characters not showing, for exemple "big box" just shows "g box" , all words has cut off the first 2 caracters. I dont know why this is happening . Could you give me some help please? Edited April 12 by doubleoseven Quote Link to comment Share on other sites More sharing options...
mobarton Posted April 12 Author Share Posted April 12 (edited) 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 Edited April 12 by mobarton Quote Link to comment Share on other sites More sharing options...
doubleoseven Posted April 12 Share Posted April 12 my computer serial port is COM8. I had changed the baud rate to 115200. I don´t know well how to compile in python and make a exe file. I not a programmer too. My best case scenario was when i used the bat file on big box. But unfortunately cutoff the first 2 letters of the senteces. Quote Link to comment Share on other sites More sharing options...
doubleoseven Posted April 12 Share Posted April 12 Could you do me a favor please? Its possible for you change the python code to use serial port COM8 and make an executable file ? Quote Link to comment Share on other sites More sharing options...
mobarton Posted April 12 Author Share Posted April 12 8 minutes ago, doubleoseven said: my computer serial port is COM8. I had changed the baud rate to 115200. I don´t know well how to compile in python and make a exe file. I not a programmer too. My best case scenario was when i used the bat file on big box. But unfortunately cutoff the first 2 letters of the senteces. 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 Quote Link to comment Share on other sites More sharing options...
mobarton Posted April 12 Author Share Posted April 12 I'm not home, but it would be easier to open device manager and set your port. Just reboot and verify it stays. Quote Link to comment Share on other sites More sharing options...
doubleoseven Posted April 12 Share Posted April 12 ok i will try it to change the code. Quote Link to comment Share on other sites More sharing options...
doubleoseven Posted April 12 Share Posted April 12 your tip worked. now the words are fully visible. But i am still just get the bat file to work. The py file, doesnt work at all. I already changed the com port on the file to 8. Still nothing on the panel. Quote Link to comment Share on other sites More sharing options...
doubleoseven Posted April 12 Share Posted April 12 2 hours ago, mobarton said: 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 could you help me to create the python file exe please? Quote Link to comment Share on other sites More sharing options...
mobarton Posted April 12 Author Share Posted April 12 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 Quote Link to comment Share on other sites More sharing options...
doubleoseven Posted April 13 Share Posted April 13 16 hours ago, mobarton said: 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 Sorry, but i already changed the port to 8 and 3 like yours. Either they works. I don´t know what i am doing wrong. Python code doesn´t work at all, even changing ports compiling and converting to exe file. No idea what to do anymore. Quote Link to comment Share on other sites More sharing options...
doubleoseven Posted April 15 Share Posted April 15 send_com.py Quote Link to comment Share on other sites More sharing options...
doubleoseven Posted April 15 Share Posted April 15 this is my code. Could you check for me if its anything wrong with it please? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.