His taste in music is deplorable, but it's a good hack.
I was interested in what he did to hook up the keypad, since that was the hardest part of my payphone project. He says,
The most critical part of this hack is to intercept the keypad. Thankfully the phones use a conventional 8pin-keypad-style circuit, which makes this extremely easy :)
...and I'm like, huh? But he went from the keypad directly into Arduino GPIO pins, whereas I needed to go from there into a USB keyboard decoder board, which had a flat plastic ribbon cable connector on it instead of the spacious luxury of a molex connector with splicable wires. Sigh.
Anyway, I am also slightly disappointed in both his project and mine that in neither one does the original brass striker-arm telephone bell ring. He just plays an MP3. I really ought to fix that.
I am still surprised that neither of you decided to power up the DTMF chip, took the audio out into a $4.95 USB to audio interface and ran "twotonedetect" or a similar piece of software to pick up the touch tones and turn them into commands. It's already got all of the keyboard logic built in.
Did you attempt that, or just decided not to try at all?
FWIW, The KS5800 outputs DTMF on PIN 12.
As far as ringing goes, If that payphone still has a mechanical ringer, you need about 35 Volts AC at 20-25Hz. I haven't built a ringer circuit in a long time ( I made one for a theater ages ago ) but I do remember that the frequency is critical to getting the bell to ring correctly.
You could either use a pin off the rPI to flip a relay connected to an appropriate AC power supply tied to the phone line, or, do it the hard way and use the a GPIO pin, connected to the power stage of a full sine-wave inverter circuit an transformer.
Yes, I considered it, and like I said the last time you suggested this, I wisely decided that trying to get 20,000 lines of open sores PBX code from the 90s running on a modern Linux system is not how I choose to spend my leisure time. I understand that your mindset tells you that this is the "easy, sensible" thing to do. My experience tells me that sounds so pleasurable that I'd rather eat glass.
The problems standing in the way of getting the bell working on my phone are that 1) I'm out of GPIO pins, because I chose poorly when buying my audio card, so I'd basically have to rebuild the thing with a new card first, and 2) I don't currently have physical room inside the case for the Pi and the bell assembly, so I removed the bell. I suppose I could move the Pi into the coin box instead of the main body of the phone, but that means drilling a few more holes.
I'll cast my vote for going with a USB audio dongle in place of the big audio card. I know I'm planning on going the USB audio route for a project I'm working on.
Two options for you on that front -
1) Get a simple GPIO Expander chip. You'll move the lines you have now to one leg of the expander and use a chip-select pin to decide what you are talking to. The MCP23017 (16 lines) or 23018 (8 lines) are a good choice here and Limor has tutorials on it already: https://learn.adafruit.com/mcp230xx-gpio-expander-on-the-raspberry-pi/overview
2) No open sores? Fine. A $1.49 DTMF decoder chip has to be better for most users than using sewing needs. Consider the MT 8870 chip tied to four GPIO pins and one for clock. This will recover many of your pins.
Also it sucks that there's no room left in there. Even the coin box is full?
The keypad is already built. It presents as a USB keyboard as is right and proper. There's no need to revisit that. (But I'd do it again the same way if I had to.)
Just replacing the audio board with a USB one is surely the easiest approach.
The coin box is a separate compartment from the top part where the phone hardware is. There isn't a lot of empty space up there. But I could put the Pi in the coin box, I think.
Why would you invest so much time and effort to listen to sugar ray
This is insanity
No, this is Patrick!
Why ask why? Try Bud Dry while you hack your Pi.