Brandon_K
Member
I have a scenario (it's a game) where the player has a dozen phone jacks (think 1/4" headphone, not telephone) and a half dozen patch cables that they have to patch in the correct order to win.
IE, J1 to J7, J2 to J10, J3 to J6 and so on.
The first design of the game was simply done in wire logic where the jacks were wired (in an incredibly odd fashion) basically as a long series switch. That switch closed the terminals on a microcontroller (think Arduino) that when the circuit was made for more than 1500ms, the player won.
The issue with phone jacks is that certain components "make" when they shouldn't as it's an inline axial connector. IE, in a TRS (tip, ring, sleeve) style connector, the tip of the plug will make with the sleeve and ring on insertion. This allows players to "cheat" the game, usually unintentionally. They're simply slow on the insertion, which if they get lucky and they start on the correct jack, can trigger an immediate win (or as immediate as 1500ms).
A different style of connector, like an XLR would solve the problem as all three conductors make / break at the same time due to it's staggered configuration, but I cannot source a supplier for the patch cables that we need. Otherwise, this could all easily be done in wire logic.
So I began thinking about implementing a PLC into the mix. My thoughts were to have an series of outputs do nothing but pulse off / on at a given rate, IE 50ms, 75ms, 100ms, etc on up the line. The input would only go true if it saw it's mate. IE, Y1 flashes at 50ms, X1 is looking for a 50ms pulse. If X1 sees a 50ms pulse, it goes true. If it sees a 75ms pulse, it does nothing.
The Click PLC's that we use in a large portion of our games have the ability to change the input to a pulse catch, filter or an interrupt. Filter is the closest to what I want, but it only functions as equal-to-or-greater-than and that does me no good.
Thoughts?
IE, J1 to J7, J2 to J10, J3 to J6 and so on.
The first design of the game was simply done in wire logic where the jacks were wired (in an incredibly odd fashion) basically as a long series switch. That switch closed the terminals on a microcontroller (think Arduino) that when the circuit was made for more than 1500ms, the player won.
The issue with phone jacks is that certain components "make" when they shouldn't as it's an inline axial connector. IE, in a TRS (tip, ring, sleeve) style connector, the tip of the plug will make with the sleeve and ring on insertion. This allows players to "cheat" the game, usually unintentionally. They're simply slow on the insertion, which if they get lucky and they start on the correct jack, can trigger an immediate win (or as immediate as 1500ms).
A different style of connector, like an XLR would solve the problem as all three conductors make / break at the same time due to it's staggered configuration, but I cannot source a supplier for the patch cables that we need. Otherwise, this could all easily be done in wire logic.
So I began thinking about implementing a PLC into the mix. My thoughts were to have an series of outputs do nothing but pulse off / on at a given rate, IE 50ms, 75ms, 100ms, etc on up the line. The input would only go true if it saw it's mate. IE, Y1 flashes at 50ms, X1 is looking for a 50ms pulse. If X1 sees a 50ms pulse, it goes true. If it sees a 75ms pulse, it does nothing.
The Click PLC's that we use in a large portion of our games have the ability to change the input to a pulse catch, filter or an interrupt. Filter is the closest to what I want, but it only functions as equal-to-or-greater-than and that does me no good.
Thoughts?