LED Buttons light up on Arcade cab?
-
Is it possible to have the buttons that are being used on an arcade layout with LED buttons light up those buttons being used?
I was wondering if this has ever been done with the RPi3 or any other system for that matter?
Thanks,
BC -
@battlecat I've never seen anyone do it on the Pi, but it's definitely possible. People have done it using devices like the Ultimarc PacDrive on a system where you get "out of the box" support using a front-end like Mala or GameEX (windows). So, it's technically feasible. On the Pi, it might be better to use GPIO, or to send codes to an external controller. The biggest challenge will be drivers/software. I haven't read about anyone doing this on the Pi, but someone might have already written packages to do it.
Tying into RetroPie could be as easy as writing out codes as to what game has been launched using the pre-launch scripting in runcommand. Then, you would have something on the receiving end to interpret the name of the ROM for example and lookup the control map you would have to build and light the corresponding controls.
There was a project posted a while back where someone had built a tiny LCD read-out that displayed the name of the game being played. Same idea, really, only instead of displaying the name, it would light that game's controls.
-
I've seen that somewhere! I can recall where exactly, but I'll let you know if I find it :)
-
-
That's excellent!
Well remembered!
-
An Arduino can also be the solution for this... But it's pretty complicated ;)
I'm currently building an arcade joystick controller which will be connected to my retro gaming console and I'm using an Arduino to get the full control of my LEDs (16 rgb LEDs and 6 simple LEDs). I'm in the middle of the project, so I still need to put everything together, but the system for the LEDs already works perfectly.
You need an Arduino, an RGB module, some scripting knowledge and you need to solder components!... ;) So it's not an easy task to do, but for the people who are not afraid with this type of things, I can give more detailed information if they really want.But basically, when I launch a game, I actually launch a script which reads a text file where the color information of all the LEDs is listed for each ROMs, then the information is sent to the Arduino (through a python script), then the game is launched.
Also, since I use Attract-Mode and since I create my own layouts, the LEDs change their color while I'm navigating in the frontend, which is really cool! :)
Here is the RGB module I use:
https://www.dfrobot.com/index.php?route=product/product&product_id=459
I also use this shield:
https://www.dfrobot.com/index.php?route=product/product&product_id=166
https://www.dfrobot.com/index.php?route=product/product&search=cable&product_id=461 -
@tipoto Hiii there! =D Maybe you have some time to explain how you do that? If possible share the scripts... Thank you!
-
@jkacza
I can try to help, but it depends on what you need to know exactly, my project is now done and works nicely, but it would be super long to explain the entire process from scratch, and I won't be able to remember everything.
I can share my scripts of course, my system works with multiple scripts and is pretty complicated, but to simplify, for this functionality, I could say that I have:- The code in the arduino that turns ON/OFF the leds and changes the colors
- A python script that sends the colors and led IDs information to the arduino (from the micro-controller).
- And when I launch a game, I have a bash script that reads a text file (where I put all the button information), then it sends this info to the python script.
Here are some pics of my project (I did it in 2 copies, one for me and one for a friend):
https://drive.google.com/open?id=0B2uCL2ZSBiqDaFJRTms1a3Iwbkk
https://drive.google.com/open?id=0B2uCL2ZSBiqDSWRESDlHZU1tSjg
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.