Phone Project

Hey guys,

New to Arduino but not to programming. My friend and I have been tasked with a project and we're thinking Arduino is the best way to tackle it but we don't know exactly how. What the client wants is essentially a phone that when they dial certain numbers, it plays a sound. For instance they dial 10 and it plays a squirrel noise. I figure we'd have a SD card with the sounds and use the Arduino board to play it. Our question is, how do you guys think we should attempt the phone portion of it. We're going to be given a phone to use and assuming its a basic phone do you think we can get the buttons to interface with Arduino with ease?

Honestly any input is appreciated! Thanks and excited to start this project!

Landline or Mobile phone? Pulse dial or Touchtone?

If it is a landline touchtone phone you can get a chip to recognize the tones, then use the Arduino to recognize the sequence of digits and an MP3 or WAV shield to play the sounds.

Yep it's all possible. You will have to be able to master a series of task before it's a done deal:

Find a landline phone and learn how to supply it's off-hook DC line voltage so that it will have power to be able to send it's touch tones as you press it's buttons (called DTMF signalling)

Get a DTMF decoder IC or module (or possibly a DTMF shield, someone must have designed one by now) and have it wired to the phones analog 'local loop' to extract the specific audio DTMF tones into specific 4 parallel bit binary values as the phones buttons are pressed.

Read these values in the arduino sketch
Detect the desired number or number sequence to activate a give tune
Use a wav file shield to output tunes under arduino sketch control.

Your difficulty will be directly related to how much or little electronics knowledge and experience you have, but it's not a particularly difficult hardware project. The software would be pretty simple.

Lefty

I think he wants to read the buttons directly without DTMF?

Hi, There is an Arduino DTMF library here:
http://arduino.cc/forum/index.php/topic,121540.0.html

This decodes TouchTone DTMF (Dual-tone multi-frequency signaling) signals without an external decoder chip.

sbright33:
I think he wants to read the buttons directly without DTMF?

And you know this how?

I suspect there is a way to hack into an old touch tone phone and scan the button matrix directly with an arduino but that would probably be a big challenge to someone that states they know software but are new to arduino. And of course that would end up with a non-functional telephone which may or may not be important to the OP.

Lefty

All of the suggestions I'm getting make sense and it's along the lines of what we were thinking. I'm not electronics expert, that's where my partner comes into play. Originally (and forgive me for being naive) but I was thinking since the buttons must allow some sort of power to pass through them, you could tap into that and send it to the Arduino board, and have each button wired to a different pin but honestly, I'm not the electronics expert. I'm liking the sound of the DTMF signalling.

My question is now, which Arduino board do you guys think would be best to support this? And do I find these DTMF boards in the same place that I'd find the Arduino boards? For instance, are they on the Arduino store or should I look at an electronics store for one?

Edit: to clarify, yes it is a land line, and hopefully a touch tone.

I would just google around and see what you can find. Here is the first that looked useful and pretty cost effective to me:

Lefty

skylerl:
Edit: to clarify, yes it is a land line, and hopefully a touch tone.

Excellent. That will be much easier than a mobile phone.

One more question for clarification: Does the phone need to continue working as a landline phone in addition to playing sounds? If not you could tap into the matrix keyboard and use the Keypad library to translate key presses directly to characters.

johnwasser:

skylerl:
Edit: to clarify, yes it is a land line, and hopefully a touch tone.

Excellent. That will be much easier than a mobile phone.

One more question for clarification: Does the phone need to continue working as a landline phone in addition to playing sounds? If not you could tap into the matrix keyboard and use the Keypad library to translate key presses directly to characters.

No it doesn't, it just needs to look like a phone.

Great! You can skip the touchtone detection and wire directly to the phone keypad.

It is likely to be a matrix keyboard or easily converted to a matrix keyboard. I think the old Western Electric touchtone phones used two switches per key. One switch connects a column common to one of three column inputs and the other switch connects a row common to one of four row inputs. The column switches selects a tone from the "High Group" and the row switches select a tone from the "Low Group". If there are two separate commons (row and column) you just have to connect them together to get a 3x4 matrix keyboard. The Keypad library can then be used to decode the matrix using 7 pins (3 columns and 4 rows).

Library: Arduino Playground - HomePage
Tutorial: Arduino Playground - KeypadTutorial