The tag on the phone said:
In various states of functionality, there are about 15 rotary phones in my home, this particular phone however, is destined for a different sort of communication.
Based upon the schematic that was used for the serial switch project I really wanted to make a multi-switch input device. It would be easy to simply solder on two more switches to the existing project and then run various commands when each switch is pressed, but that wouldn't be much fun. Fortunately, I know that a rotary phone has three switches inside. Let the fun begin.
The phone was light, too light. From experience, I had guessed that the ringer was gutted from this phone. Not only was the ringer gutted, but most of the internals where also removed. Oh well, it makes things easier for me. Here you can see the body, the internal cradle switch mechanism, and the back of the dialer.
Perhaps I should do this with every phone I have with a missing or broken ringer.
Step 1. Determine which of the wires coming from cradle switch from a closed circuit when the headset is placed on the cradle. There can't be more than 8 wires so it should be fairly easy to do.
Whoops. Wow, those things fall apart fairly easily and I was left with a pile of wires, switch contact points, spacers, and a sense of determination.
This is about 75% of the wires.
Hey, that wasn't too hard to put back together. Much like the toys I insisted on taking apart as a child, this switch was put back together with a few parts missing.
Actually, I only needed two contact point to make the switch work the way I want it to. The extra contact points were added to give pull on the slotted bar connected to the spring lever.
This is a close of up the back of the rotary. There are two switches here that I will refer to as the rotator and the dialer. If the rotary is moving then the rotator switch is making a closed circuit. The dialier on the other hand is normally closed, but when the rotary is swinging back to its default stationary position after a user has dialed a number, the dialer switch will break the circuit a number of times equal to the number that was selected. After the rotary has finally parked in the stationary position, the rotator switch opens and breaks the circuit.
Three switches means 6 connections: 3 grounds and 3 leads. Since the three grounds will be soldered to the same pin on the serial port, I only need a 4 wire cable. Fortunately I had a spare black USB cable( and USB cables only have four wires).
All soldered up and ready for electrical tape. OK, I used duct-tape.
All done with the hardware, now it is coding time!
Fast forward an hour
The code is done and everthing is working as expected. So how does it work?
1. pick headset off of cradle
2. dial a number that corresponds with a command in the configuration file
3. hang up the phone
4. the command is run on the computer
- dialing "1" will run the command "firefox http://www.linuxoutlaws.com " which will open the Linux Outlaws website in Firefox.
- dialing "2" will play the latest episode of my favorite audcast; It is time to remove the pod and put in some aud-io.
- dialing "22" will play the Conan Soundtrack
- dialing "23" will play compositions by Basil Poledouris (randomly)
- "3" will quit all audio players
- "01189998819991197253" will run "firefox http://www.youtube.com/watch?v=RK4Xye7AErE "
quit reading and go make something.