EEVblog Electronics Community Forum
Electronics => Beginners => Topic started by: polarwong on July 24, 2016, 11:31:40 am
-
Hi community,
Hi all, I am building a custom case for an arcade machine (kind of a secret project) and the original cabinet was very bulky and I decided to scrap it and build my own minimal case for it.
I am very enthusiastic about designing and building cases for an old machine. I know how to do electrical wiring and stuffs but I have practically 0 knowledge about circuit designing and IC chips. I ran into this situation where with my existing knowledge I cannot figure out:
The rebuilt machine consist of 2 separate pieces in my plan:
- the Main Body with directional controls, some buttons and a converted Laptop monitor.
Inside the main body is an ITX computer and the original IO Board for the machine.
Mains power will be connected to an ATX Power Supply to supply power to the motherboard and the IO Board. I will probably just take a 12V output from the ATX PSU to power the LCD too (if I happen to be able to convert the CFL bulbs in the LCD to LED lights).
All buttons, lights and other features are built into the main body and the cables will be hidden from sight.
- and the "gameplay" input panel and here comes the problem:
- The input panel originally had a 20pin ribbon cable running from the panel to the IO Board (in the main body). Since now the panel and the IO Board is not in the same big cabinet I have to run some kind of connection between the two. I originally decided to run a thick cable and attach some kind of DB connector to both ends but after some research online there IS 20 core (20 wire?) cable in the market and but the cable was just too thick and kind of ugly.
I imagine that there should be some solutions to running all 20 pins signal without using all 20 wires (like a encoder and decoder / multiplexing?). I hope someone out here can help me and guide me through how to avoid the 20 wire connection. My ultimate goal is to run a wireless connection of some kind but...yeah it's just too much of a stretch for me, I have very little knowledge in doing these kinds of designing. A solution to avoid the 20 wire cable and connector is good enough for me, for a beginner.
Thanks for all your help!
Polar Wong
-
Your solution will need something like this
https://www.adafruit.com/product/732 (https://www.adafruit.com/product/732)
One arduino
and some code based on this
https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library (https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library)
-
Your solution will need something like this
https://www.adafruit.com/product/732 (https://www.adafruit.com/product/732)
One arduino
and some code based on this
https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library (https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library)
Thanks ebclr, I will sure look into using an Arduino. However, I actually don't want to use an Arduino. I am not sure if my situation will require me using an Arduino, but if there are any other solutions to this that doesn't require an Arduino I will sure look into that. Actually, are there any actual names for the situation that I am currently in? I want to Google it but my English is so bad that I cannot come up with any search terms that will bring me to search results that actually will help |O
-
LVDS serializer and deserialzer should work as long as you choose a high enough clock speed.
Sent from my Nexus 5X using Tapatalk
-
USB?
https://www.ultimarc.com/ipac1.html (https://www.ultimarc.com/ipac1.html)
There a bunch of USB game control boards.
-
It's hard/impossible to know what to suggest without knowing what kind of signals this ribbon is carrying.
But talking of ribbon, what about... standard ribbon cable? You can crimp D-Subs or pin header connectors on there. Assuming currents are low enough that is, which brings us back to the previous line.
https://en.wikipedia.org/wiki/Ribbon_cable
-
Oops...I forgot to describe the signal that the ribbon cable is used to carry:
The input is a matrix with 82 different "buttons". Each button press will connect 2 pins and the IO board will determine the button that is pressed.
Thanks for all the replies, I will look into SerDes and still haven't found a tutorial. Maybe I will spend some (maybe a lot) time to study how SerDes work and employ it.
-
USB?
https://www.ultimarc.com/ipac1.html (https://www.ultimarc.com/ipac1.html)
There a bunch of USB game control boards.
I cannot use USB as the software is proprietary and I cannot modify it to accept input by USB. The signal will still have to go to the IO board and connected to the main PC via RS232. Thanks for your suggestion:)
-
Then there are no high freq signals and length should not be a problem, the ribbon cable would be the easiest.
-
Then there are no high freq signals and length should not be a problem, the ribbon cable would be the easiest.
It used to be a ribbon cable, but it doesnt look good when the ribbon cable is exposed. I thought a 20 core cable will look better, but the thinnest 20 core cable I can find (and reasonable pricing+shipping) is a 12mm diameter and only available in black color, which is still not good looking and the connector is bulky. I want to look for a solution which will lower the pincount what will run between the exposed area.
-
Aha. Nothing in your post mentioned that the cable had to be visible.
-
You should figure out what happens on those wires when you press buttons.
In general, you would have a ground wire and a voltage wire (5v or something like that) and then I guess the easiest way would be to have one wire for each button or joystick direction - when button is pressed, the button makes the connection between the 5v and that wire, so a 5v is sent through that wire. But it could also be the other way around.
In the case of joysticks, there may be a potentiometer for each of the two or four directions, giving fine control over how much the joystick is leaned towards some direction... so you'd have 4 wires, each wire connected to the wiper of each potentiometer, and you'd have voltage on those wires between 0v and 5v.
For the wires that only send 0 or 1 (0v or 5v) you could use a parallel to serial IC combined with a timer running at relatively high frequency - let's say 1000+ times a second, the parallel to serial chip takes whatever is on the 8 input wires and serializes the 8 bits and sends them on the other end of the cable through one wires. At the end of the wire, you'd have a serial to parallel chip which receives those 8 pulses and puts the 8 bits on the 8 output pins of that chip.
You'd also need a second wire and a chip to produce a clock on that wire for both chips, basically produce some ticks to keep both chips synchronized. So you're basically replacing 8 wires with just 2 wires.
-
Oops...I forgot to describe the signal that the ribbon cable is used to carry:
The input is a matrix with 82 different "buttons". Each button press will connect 2 pins and the IO board will determine the button that is pressed.
That exist as DC and AC version, with/without diodes, and, and...
This project is basically a multiplexing/serialiser/protocoliser project.
It's an easy project, but there's no easy way.
You will have to go through input signal quality, sampling limits determination, phase/timing considerations, output signal quality.
Your project will include 2 microprocessors, or more complicated: TTL logic or discrete components.
-
If it's just the scan wires for a matrix keypad, it's unlikely to be sensitive to interference. I would go on Amazon and buy a thin DisplayPort cable and repurpose it. It's also 20 wires. (HDMI is so close: 19 wires.). It's about the same as USB in diameter.
-
Thanks everyone for the help, I decided to build a large cabinet to house all components (all-in-one cabinet). Now I am facing another problem:
https://www.eevblog.com/forum/beginners/make-led-not-light-up-until-voltage-not-less-than-12v-(arcade-button-lights)/ (https://www.eevblog.com/forum/beginners/make-led-not-light-up-until-voltage-not-less-than-12v-(arcade-button-lights)/)
Please help me out |O