DTMF Dialer Dual 08M

Michael 2727

Senior Member
After a lot of mucking about, banging my head against the wall,
faulty Chips and not nearly enough test gear for the task.
I finally got this to work :)

Using only a dual core 08M setup I've managed to dial up
my IP server susseccfully. Why my IP server ?, because
it doesn't bother a machine if you hang up, people get annoyed.

Now I didn't do anything illegal, I simply played a recorded .WAV
generated using the " Preset Code " listed below into the mouthpeice
of my phone from my PC speaker. I did shorten the gaps between
the tones first. No direct line connection was needed.

There are 2 modes you can use -
1: A Preset Number placed into the Preset version Code, up to 15 Digits long.
2: Using a Keypad and an ADC input on the #1 Chip, any number length.
I may work on a third version where it will spit out the DTMF of a number
that is sent to the serin input of Chip#1.

The second option using the ADC input may be the fiddly part.
The principal behind this option has been discussed on the forum
on a number of occasions here -

Picaxe Archive 18: http://www.picaxeforum.co.uk/showthread.php?t=4563
12 inputs on a single ADC.
or more recently -
User Projects - Miscellaneous: http://www.picaxeforum.co.uk/showthread.php?t=7791
ADC or 'one input' Keypad Decoder.

I will not go into any detail using the ADC option, as there
will be varying results for each and every user setup.
The links should provide more than enough information to
get you going and it may be a fiddly operation to fine tune
and tweek your particular setup, so I can't help you there.
Do the best you can. :p

All Codes listed below -
Code:
'
'
' DTMF Generator, Dual 08M Core.
' By Michael Jeffery (C) Oct 08 2007.
' Code for Chip#1 of 2, DTMF Dialer using ADC-4 as the input.
' 2 x 08M Chips are needed. 
' See also, Chip#2 Code for DTMF Dialer.(Listen code)
'
'
'tune 0, 3,(69) '-DEC,698Hz, TUNE Value =$45, DTMF Value 697Hz, Row 1.
'tune 0, 3,(71) '-DEC,784Hz, TUNE Value =$47, DTMF Value 770Hz. Row 2.
'tune 0, 3,(72) '-DEC,831Hz, TUNE Value =$48, DTMF Value 852Hz. Row 3.
'tune 0, 3,(74) '-DEC,932Hz, TUNE Value =$4A, DTMF Value 941Hz. Row 4.
'tune 0, 3,(204)'-DEC,Pause
'tune 0, 3,(82) '-DEC,1245Hz, TUNE Value =$52, DTMF Value 1209Hz. Col 1.
'tune 0, 3,(84) '-DEC,1318Hz, TUNE Value =$54, DTMF Value 1336Hz. Col 2.
'tune 0, 3,(86) '-DEC,1480Hz, TUNE Value =$56, DTMF Value 1477Hz. Col 3.
'
' The TUNE frequencies are not a perfect match for the DTMF Spec, but are within
' 2.2 %, some DTMF Specs quote within 1.5 %, but the above does also work.
' The TUNE output is also a Square Wave, DTMF tones need to be Sine Wave
' so Capacitors on the output are added to round up the signal slightly.
' An OP Amp configured as a Square to Sine converter could be added to
' filter the output for a better result.
' 
'
'
#picaxe 08m
SAMPLE:
'
readadc 4,b8
pause 10                   ' Actual ADC measured @ 4.05 Volts.
if b8 <=16 then SAMPLE    ' is 115 = 120k = Silence,was 117
if b8 <=30 then Button_1  ' is 120 = 110k, was 123
if b8 <=50 then Button_2  ' is 126 = 100k, was 130
if b8 <=70 then Button_3  ' is 133 = 90k, was 136
if b8 <=90 then Button_4  ' is 140 = 80k, was 145
if b8 <=110 then Button_5  ' is 149 = 70k, was 153
if b8 <=136 then Button_6  ' is 158 = 60k, was 164
if b8 <=157 then Button_7  ' is 169 = 50k, was 175
if b8 <=180 then Button_8  ' is 181 = 40k, was 189
if b8 <=200 then Button_9  ' is 195 = 30k, was 202
if b8 <=222 then Button_H  ' is 211 = 20k, was 220
if b8 <=243 then Button_0  ' is 231 = 10k, was 240
if b8 <=255 then Button_S  ' is 254 = shorted out
'
Button_1: 
serout 0,N2400,(4)
pause 25
tune 0, 6,($45) 
pause 600
goto SAMPLE
'
Button_2: 
serout 0,N2400,(5)
pause 25
tune 0, 6,($45)
pause 600
goto SAMPLE
' 
Button_3:
serout 0,N2400,(6)
pause 25
tune 0, 6,($45)
pause 600
goto SAMPLE
'
Button_4: 
serout 0,N2400,(4)
pause 25
tune 0, 6,($47)
pause 600
goto SAMPLE
' 
Button_5: 
serout 0,N2400,(5)
pause 25
tune 0, 6,($47)
pause 600
goto SAMPLE
'
Button_6:
serout 0,N2400,(6)
pause 25 
tune 0, 6,($47)
pause 600
goto SAMPLE
'
Button_7:
serout 0,N2400,(4)
pause 25
tune 0, 6,($48)
pause 600
goto SAMPLE
'
Button_8: 
serout 0,N2400,(5)
pause 25
tune 0, 6,($48)
pause 600
goto SAMPLE
'
Button_9: 
serout 0,N2400,(6)
pause 25
tune 0, 6,($48)
pause 600
goto SAMPLE
'
Button_S: 
serout 0,N2400,(4)
pause 25
tune 0, 6,($4A)
pause 600
goto SAMPLE
'
Button_0:
serout 0,N2400,(5)
pause 25
tune 0, 6,($4A)
pause 600
goto SAMPLE
'
Button_H:
serout 0,N2400,(6)
pause 25
tune 0, 6,($4A)
pause 600
goto SAMPLE
'
' 
'********************************************************************
'
' DTMF Generator, Dual 08M Core.
' By Michael Jeffery (C) Oct 08 2007.
' Code for Chip#1 of 2, DTMF Dialer using a Preset Number code.
' Input3 used to initiate Dialing.
' 2 x 08M Chips are needed. 
' See also, Chip#2 Code for DTMF Dialer.(Listen code)
'
'
'tune 0, 8,(69) '-DEC,698Hz, TUNE Value =$45, DTMF Value 697Hz, Row 1.
'tune 0, 8,(71) '-DEC,784Hz, TUNE Value =$47, DTMF Value 770Hz. Row 2.
'tune 0, 8,(72) '-DEC,831Hz, TUNE Value =$48, DTMF Value 852Hz. Row 3.
'tune 0, 8,(74) '-DEC,932Hz, TUNE Value =$4A, DTMF Value 941Hz. Row 4.
'tune 0, 8,(204)'-DEC,Pause
'tune 0, 8,(82) '-DEC,1245Hz, TUNE Value =$52, DTMF Value 1209Hz. Col 1.
'tune 0, 8,(84) '-DEC,1318Hz, TUNE Value =$54, DTMF Value 1336Hz. Col 2.
'tune 0, 8,(86) '-DEC,1480Hz, TUNE Value =$56, DTMF Value 1477Hz. Col 3.
'
'
#picaxe 08m
PRESET:
'
'
if pin3 = 1 then Dial
pause 500
goto PRESET
'
Dial:
'
gosub Button_1 'insert number to be dialed here, Button_X.
gosub Button_2 'insert number to be dialed here, Button_X.
gosub Button_3 'insert number to be dialed here, Button_X.
gosub Button_4 'insert number to be dialed here, Button_X.
gosub Button_5 'insert number to be dialed here, Button_X.
gosub Button_6 'insert number to be dialed here, Button_X.
gosub Button_7 'insert number to be dialed here, Button_X.
gosub Button_8 'insert number to be dialed here, Button_X.
'
'gosub Button_0 'insert number to be dialed here, Button_X.
'gosub Button_0 'insert number to be dialed here, Button_X.
'gosub Button_0 'insert number to be dialed here, Button_X.
'gosub Button_0 'insert number to be dialed here, Button_X.
'gosub Button_0 'insert number to be dialed here, Button_X.
'gosub Button_0 'insert number to be dialed here, Button_X.
'gosub Button_0 'insert number to be dialed here, Button_X.
'
'
goto PRESET
'
'
Button_1: 
serout 0,N2400,(4)
pause 25
tune 0, 6,($45) 
pause 600
return 
'
Button_2: 
serout 0,N2400,(5)
pause 25
tune 0, 6,($45)
pause 600
return
' 
Button_3:
serout 0,N2400,(6)
pause 25
tune 0, 6,($45)
pause 600
return
'
Button_4: 
serout 0,N2400,(4)
pause 25
tune 0, 6,($47)
pause 600
return
' 
Button_5: 
serout 0,N2400,(5)
pause 25
tune 0, 6,($47)
pause 600
return
'
Button_6:
serout 0,N2400,(6)
pause 25 
tune 0, 6,($47)
pause 600
return
'
Button_7:
serout 0,N2400,(4)
pause 25
tune 0, 6,($48)
pause 600
return
'
Button_8: 
serout 0,N2400,(5)
pause 25
tune 0, 6,($48)
pause 600
return
'
Button_9: 
serout 0,N2400,(6)
pause 25
tune 0, 6,($48)
pause 600
return
'
Button_S: 
serout 0,N2400,(4)
pause 25
tune 0, 6,($4A)
pause 600
return
'
Button_0:
serout 0,N2400,(5)
pause 25
tune 0, 6,($4A)
pause 600
return
'
Button_H:
serout 0,N2400,(6)
pause 25
tune 0, 6,($4A)
pause 600
return
'
'
goto PRESET
'
'
'********************************************************************
'
'
' By Michael Jeffery (C) OCT 2007.
' Code for Chip#2 of 2, DTMF Dialer.
' 2 x 08M Chips are needed. 
' See also, Chip#1 Code for DTMF Dialer.(Dialer Code) or
' Code for Chip#1 of 2, DTMF Dialer using a Preset Number code.
'
'
#picaxe 08m

Listen:
b0=0
serin 1,N2400,b0  
pause 20
if b0 = 4 then Col_1      'DTMF Value 1209Hz. Col 1.
if b0 = 5 then Col_2      'DTMF Value 1336Hz. Col 2.
if b0 = 6 then Col_3      'DTMF Value 1477Hz. Col 3.
goto Listen
Col_1:
tune 0, 6,($52) 
pause 600
goto Listen
Col_2:
tune 0, 6,($54) 
pause 600
goto Listen
Col_3:
tune 0, 6,($56) 
pause 600
goto Listen
'
'
' Deselect the codes not needed when downloading to 
' each chip ( #1 or #2 ) or an error warning will result.
'
' Have Fun !
I would also like to thank Arvin for helping me out when
I was having Hardware and temperamental Chip and
bad hair days.
 

Attachments

manuka

Senior Member
Bravo!

Michael 2727 -bravo! I'd an IR slanted "core duo" SiChip article (April 2007- breadboarded layout pictured below)), & pondered such a 2 x 08M approach to other needs. Inbuilt 08M IR decode features mean universal IR remotes, now selling at coin shops here in NZ for ~US$5, can make a poor mans keypad in fact. Just one of those back burner quests...

For those unaware of this, Dual Tone Multi. Freq. (DTMF) has legendary robustness & often even a sniff of it in the noisiest circuits will be detected OK. This has particular appeal for wireless tele-command of course, perhaps just acoustically coupled via cheap/powerful UHF ~470MHz CB sets. Aus/NZ PRS has 2 dedicated data channels, but the lack of DIY circuitry (combined with the "3 seconds an hour" regulation) has thwarted easy applications. Yet another back burner quest !

Of course dedicated DTMF chips ONCE abounded, but these darlings are now hard to pin down in bulk when needed,have a large footprint (often DIP18) & also need an external oscillator crystal. Hence such an off the shelf approach as yours has potentially great appeal, especially given enhancements & tweaks that PICAXEs now foster. Several thoughts however-

* Suggest programing sockets & 10k/22k resistors be included, as tweaks most certainly WILL be needed!
* Consider PC sound card based DTMF decoders such as Scott's (KB5RYO) => http://www.qsl.net/kb5ryo/dtmf.htm as a tune up aid.

I'd be interested in developing this for PRS CB, as no doubt would the good Dr_Acula ! Stan
 

Attachments

Last edited:

vk6bgn

New Member
Good one Michael, I knew someone would eventually solve the PICAXE - DTMF mystery. And it wasn't ever going to be me!

Job well done!
 

Michael 2727

Senior Member
Update:

Update:

The original "Listen" Chip#2 code uses tune - ($52) for the Column 1 tone.
This is the second tone for DTMF numbers 1, 4, 7 and the Star Button.
The actual DTMF frequency required is 1209Hz but the closest available TUNE
value was 1175Hz = -34Hz. This was the tone value furthest from the DTMF standard.
So I've had a play around with the OSCTUNE register and come up with
the following modified version.

Hi Stan, I downloaded the software in the link you provided and found it to
be a little flakey, it's only a 64Kb app after all. The idea is there but it needs
some calibration/setup tools. I could only get it to produce random numbers
and there was no threshold settings except using the USER soundcard, which
I tried everything but still could not get a usable result :(.

The other night I downloaded a few other apps also, one didn't work, one was
lost in the ether ?, and the third was a 15 day trial version of WinTone 2.02
The latter has lots of settings to play with and I got it to read the tones and
display the numeric DTMF values OK.
( I couldn't be bothered reading the instructions, I had more important things to do :p )
Anyway using the original Listen code for Chip#2 the numbers 1, 4, 7 and Star
rarely registered in the capture window. After switching to the OSCTUNE
modified version code all of the Col 1 characters came shining through :)

Note: When testing the above I didn't even use the capacitors on the Picaxe
outputs, testing was done with the raw Square Wave outputs, Bonus !

The other Tune value frequencies that were on the outer limit of the DTMF
standard was Row-3 at ( -22Hz) and Col-2 at (-18Hz). At the moment I am
happy that these values are working but if you wanted you could apply the
OSCTUNE inc/dec to adjust them slightly. (remember to reset the values for
the following tones). There are not many available spare bytes left in the
ADC version of the Chip#1 code but the others have plenty.

Code:
' Modified version for Chip#2 code.
' Michael Jeffery (C) Nov 2007
' Using the OSCTUNE register @ $90 for adjustment.
'

Listen:
b0=0
serin 1,N2400,b0  
pause 20
if b0 = 4 then Col_1      'DTMF Value 1209Hz. Col 1.
if b0 = 5 then Col_2      'DTMF Value 1336Hz. Col 2.
if b0 = 6 then Col_3      'DTMF Value 1477Hz. Col 3.
goto Listen
Col_1:
Poke $90,%00000011 '= +3 OSCTUNE timer Inc's.
tune 0, 6,($52) 'Original value ($52) = 1175Hz = -34Hz.
pause 600       'New value ($52) = around 1205Hz = -4Hz.
Poke $90,%00000000 '= Zero OSCTUNE timer Inc/Dec.
goto Listen
Col_2:
tune 0, 6,($54) 
pause 600
goto Listen
Col_3:
tune 0, 6,($56) 
pause 600
goto Listen'
Good Luck,
Michael 2727

Edit: Changed temporarily adjusted pause values
to coincide with the original posting.

Opps, Second Edit: The tune duration lengths all
need to be the same values e.g. " 6 ", tune 0, 6, ($??), all fixed :)
 

Attachments

Last edited:

manuka

Senior Member
OSCTUNE! Yes- I'd thought of that tweak as well, but hadn't tried. VERY nice going indeed! Guess I'll now have to put together something using these ideas over the w'end. Stay tuned.
Sorry Scott's DTMF decoder flakey- it'd worked fine for me. Stan
 

hippy

Technical Support
Staff member
It is possible to connect a 32kHz watch crystal to an 08M and have a fairly accurate timer using the internal Timer1, regardless of chip oscillator frequency, so you might be able to self-calibrate the OSCTUNE adjustment.
 

Michael 2727

Senior Member
Hi Hippy,
It's not so much that the chip timing is out, it's just that the
frequencies used by TUNE in some instances are not a close
enough match for the desired DTMF frequency needed.

From what I've managed to find on the subject the DTMF
spec sheets say any frequency within +/- 1.5% of the
centre frequency should work.
In the case of the Column 1 it should be 1209Hz combined with
697Hz for the number 1 Digit - Row 1
770Hz for the number 4 Digit - Row 2
852Hz for the number 7 Digit - Row 3
941Hz for the Star Digit - Row 4
The only thing there is that the closest TUNE (Note) frequency available
is 1175Hz for a TUNE value of ($52) or 1245Hz for a TUNE value of ($53)
Which is -34Hz for the Lower and +36Hz for the Higher tune value.
Taking the Lower of -34Hz works out @ 2.8% of 1175Hz, which is almost
double the variance allowed in the DTMF spec.

I was counting on the TELCOs (real life) equipment being a little less rigid
with this +/- 1.5% spec variation than the test gear used to calibrate or
test DTMF signals. As it turns out using my Telco ( NE VIC in OZ ) I was
able to successfully dial out a correct number, and this was before I had
tried using the OSCTUNE cal method to tweak the TUNE value to fit better.
( this number did contain 2 x Digit 7s BTW )

I don't know what the Telcos use for the detection/filtering of the DTMF
signals, but I do know that at best LC based filtering is only 18dB/Octave
3 stages and active filtering up to 24dB/Octave, so +/- 34Hz from 1209Hz
will not have a huge drop in signal level. This is what I was counting on.

The Telcos would have to allow for all manner of manufacturers, devices,
line conditions, weather conditions and many other variables worldwide
or 1/2 the planet wouldn't be able to dial out (ET Phone Home).

Having the OSCTUNE option available will allow you to fine tune
your setup in case you have a fussy Telco or system to go through.

I didn't set out to design a +/- 0.003 ppm system, I just wanted
something that would sneak under the radar in most cases.

Just as a matter of interest, the last time I looked at a stand alone
AutoDialer for a Security System they were going for $168.00 AUD
about 4 years ago, Bah Humbug ! :p
( they did have a 6 number memory and other neat functions as well )

Michael
 

premelec

Senior Member
Not to detract from your interesting work but I would stick with something that electronically 'pushes' an old telephone tone generator 12 button pad or use pulse dialing which seems to still live on most telco systems... I used to dial just by bouncing the hook switch the appropriate number of times per number... :) BTW last I looked the minimum tone length seemed to have been determined by Radio Shack and was equivalent to about 11 Hz...
 

papaof2

Senior Member
There are cheaper alternatives to stand-alone autodialers -
The X10 Pro 2000 Security Console has a 4 number autodialer, delivers a 15(?) second recorded message to each number, and is $50US
(http://www.x10.com/promotions/pro2000_kit.html - near the bottom of the page).

It runs from a wall wart and uses a 9 volt battery for backup. Remove it from the wall-mount case, disconnect the sound devices, and add external switches (relays?) to trigger the dialer.

John
 

vk6bgn

New Member
Sorry to get away from the PICAXE/DTMF concept of this thread but I had to laugh at Premelec's reply of "bouncing the hook switch the appropriate amount of times to"..... (to do what, but make a phone call, but he didn't actually say that!) The memories started to flood in about the television documentary, "Phone Phreaks". I think it made mention of the usual characters which center around world computers today. People like Steve Wozniak, Steve Jobs, Bill Gates etc. etc. But what really stole the show when I watched it was the real Phone Phreaks, like the blind man who used to whistle some or all of the DTMF tones?!?!? Or the notorious "Captain Crunch" who used a toy whistle from a Captain Crunch cereal box to whistle DTMF tones. Possibly these were the true inventors who took the extreme simple approach?

"The Addict"
 

premelec

Senior Member
Yeah I used hook rattling on old dial phones to dial real numbers - I did various other unmentionable things as well... :)
 

BDG

New Member
I'm using a Holtek HT9200B to generate DTMF tones over UHF CB radio for basic data comms - gave up on those 433 MHz things. Had no luck getting anything useful from them. Bought the 9200s from Futurlec (http://www.futurlec.com.au) US$0.60 from Thailand Au$11.00 in postage, 2 weeks delivery.
 

Michael 2727

Senior Member
Hi Premelec;
Yes I have tried the Bit Bang method, slamming the
ON/OFF Hook button to dial a number, I recall it's
very easy to mess up as well :(

I remember from last year testing, trying to make
a picaxe DTMF Detector it took on average around
9Hz to 14Hz for all of the DTMF tones to complete
1 full Phase Cycle, as the two tones could start at
any phase in each others cycle. So maybe the 11Hz
has something to do with that.
I know most detectors only need a very short sample
to detect a correct tone, incorrect ones are just ignored.

From the Spec Sheet for the
MOTOROLA MC14LC5436, now > MC145436A <
DTMF Receiver Chip
Frequency Detect Bandwidth -
± (1.5 + 2 Hz) % fO, Min.
± 2.5 % fO, Typ.
± 3.5 % fO Max.

Tone On Time -
For Detection = 40ms
For Rejection = 20ms

Tone Off -
For Detection = 40ms
For Rejection = 20ms

I have found that a pause time of 200ms between tones
seems to work best in the Picaxe version, especially if
POKing around.

Hi Papaof2,
The page was taking forever to D/L so I suqashed it.
I'll take your word for it though, thanks.
But you can't beat the satisfaction of making your own,
and even better if it comes in @ under $20.00 :)

I'm working on the fully Tricked/Poked version for the
Preset Number code version, I had to reduce the available
number space to 12 digits, from the original 15 digits.
( ran out of Bytes )
I'll post it after I have tested each frequency with my
trusty DMM, dunno how accurate that is, but better
than tuning by ear off my PCs soundcard.

Edit:Had the superseded MOTOROLA chip only.
(specs are for new chip)
 
Last edited:

premelec

Senior Member
I just got out an old dial phone to see what its mechanically generated pulses looked like with scope.... off hook normal state - dial pulse was 120ms overall with about 40ms off hook then 80ms on hook [open circuit with ring capcacitor] - so dialling a 0 would take about 1.2 seconds - if you had a number with a lot of zeros that would take a while! However it may work and perhaps later I'll try it with a PICAXE [oh and 10 open circuit pulses = 0 1 OC = 1 etc]. DTMF certainly faster but they gave themselves a lot of time slop to detect pulse dialing. Oh for the days of slow dialing and mechanical bells! I'm still equipped..
 

Rookie

Member
Useful Programs

Hi:

After a lot of mucking about, banging my head against the wall,
faulty Chips and not nearly enough test gear for the task.
I finally got this to work :)

Using only a dual core 08M setup I've managed to dial up
my IP server susseccfully. Why my IP server ?, because
it doesn't bother a machine if you hang up, people get annoyed.

Now I didn't do anything illegal, I simply played a recorded .WAV
generated using the " Preset Code " listed below into the mouthpeice
of my phone from my PC speaker. I did shorten the gaps between
the tones first. No direct line connection was needed.
I can't figure it out (yet), what is the purpose of this DTMF code on Picaxe, or what is "IP server", but if you need some PC based DTMF coder/decoder, you can download some one at:

AiglonDTMF.zip
DTMF-decoder.zip
dtmf-decoder-source.zip
tg11.zip
winrep.zip

OR you can put some "php" code in one page at your intranet/internet server and let the system dial for you, I've collected some code to do that, so if you want it, let me know.

But why we want do this?, trough one cheapest hacked phone you can achieve the same task! and less than US$10...
Simply hack the dialpad of the phone and put some reed-relay instead of switch-buttons, and you're ready to drive it with Picaxe.
Obviously, you also can use one PC modem, made for the task.

 

Michael 2727

Senior Member
Why did Man fly to the Moon ?

1: Because it was there.
2: Because they said it couldn't be done.
3: It looked like a really cool idea on paper.
4: NASA over budgeted on coffee that year.

Imagination is more important than knowledge. -- Albert Einstein
 

Tom2000

Senior Member
I just got out an old dial phone to see what its mechanically generated pulses looked like with scope.... off hook normal state - dial pulse was 120ms overall with about 40ms off hook then 80ms on hook [open circuit with ring capcacitor] - so dialling a 0 would take about 1.2 seconds - if you had a number with a lot of zeros that would take a while! However it may work and perhaps later I'll try it with a PICAXE [oh and 10 open circuit pulses = 0 1 OC = 1 etc]. DTMF certainly faster but they gave themselves a lot of time slop to detect pulse dialing. Oh for the days of slow dialing and mechanical bells! I'm still equipped..
It's been a lot of years, but I seem to remember that the standard for dial pulsing is 10 pps at 58 percent break.

Tom
 

Tom2000

Senior Member
Michael, I think your Picaxe dialer implementation is really slick.

I can think of a couple of good reasons to go this route on hobby projects, rather than using a dedicated DTMF generator chip.

First, through-hole DTMF generator chips are scarce. And when you can find one, they seem to require a TV color burst crystal. Your Picaxe solution is always avalable, and doesn't require any extra components.

Second, you get keypad decoding for free. You won't get this from any DTMF generator chip.

Nice work!

Tom
 

manuka

Senior Member
Agreed with these- & apologies that I'm still short on time to explore & document this all further! Stan
 

Michael 2727

Senior Member
Thanks for the replies,

I think I have worked out the IR TV Remote input
version. This will allow you to use a standard IR
Remote as a dialer pad (0 to 9), it will then spit
out the DTMF Tone, also display the numeric value
on a single 7-Seg Display. Maybe even an LCD.
( I can't see any plain old generator chip doing that either )

Most of this code is handled by the #2 Chip as
there is nothing much left in the #1 Chip space wise.

I finished the code last weekend but it may be a
week or so before I get to test the hardware side.
Stay tuned.
 

Mycroft2152

Senior Member
Great link! Some interesting PIC projects that couold be converted to PICAXE.

A few good interfacing tricks used in his projects.

I like his Logic Probe design that actually measures HIGH, LOW, and OPEN. Very clever.
 

Michael 2727

Senior Member
Hi Hooter,
As far as testing goes currently, having a Suqare Wave
output does not seem effect the result in either
DTMF Detecting (PC based) software or down a
real phone line.
A speaker will not reproduce a good square wave anyway.

I have that TE circuit or their similar Taxi Phone one.
Colin Mitchell has done a lot toward introducing
electronics to younger people through his TE series
of books and kits etc.(Australia)
He has done some very clever things with simple
Logic Chips and basic electronic components.
Also the FM Bugs and other tutorials he has written.

I remember when Colin was just the TV repair guy
up the road, I wish he had started writing the TE
series of books 10 years earlier. Next to Dick Smith
he has done more for the Australian electronics and
hobby industry than anybody else I would think.
Worth checking out their site.
 

Hooter

Senior Member
Michael - Agreed - I bought the TEC-1 Z80 computer board back in the early nineties - it gave me an insight to what went on inside the processor. Still haven't mastered the damn things yet though!!
 

manuka

Senior Member
... 18 months later.

I've recently revived a wireless application that may benefit from DTMF signalling, & have just pondered merits of this PICAXE approach versus elusive & more costly dedicated DTMF chips. Any opinions & experiences ? Stan
 

teddy7

Member
2600Hz

Sorry to get away from the PICAXE/DTMF concept of this thread but I had to laugh at Premelec's reply of "bouncing the hook switch the appropriate amount of times to"..... (to do what, but make a phone call, but he didn't actually say that!) The memories started to flood in about the television documentary, "Phone Phreaks". I think it made mention of the usual characters which center around world computers today. People like Steve Wozniak, Steve Jobs, Bill Gates etc. etc. But what really stole the show when I watched it was the real Phone Phreaks, like the blind man who used to whistle some or all of the DTMF tones?!?!? Or the notorious "Captain Crunch" who used a toy whistle from a Captain Crunch cereal box to whistle DTMF tones. Possibly these were the true inventors who took the extreme simple approach?

"The Addict"

The whistle that Capt. Crunch had, produced a tone of 2600Hz--
it served one purpose...to make FREE long distance calls.
 
the good ol days

Sorry to get away from the PICAXE/DTMF concept of this thread but I had to laugh at Premelec's reply of "bouncing the hook switch the appropriate amount of times to"..... (to do what, but make a phone call, but he didn't actually say that!) The memories started to flood in about the television documentary, "Phone Phreaks". I think it made mention of the usual characters which center around world computers today. People like Steve Wozniak, Steve Jobs, Bill Gates etc. etc. But what really stole the show when I watched it was the real Phone Phreaks, like the blind man who used to whistle some or all of the DTMF tones?!?!? Or the notorious "Captain Crunch" who used a toy whistle from a Captain Crunch cereal box to whistle DTMF tones. Possibly these were the true inventors who took the extreme simple approach?

"The Addict"
Well, doesn't this bring me back to the good old days.
Actually, the Capt Crunch whistle was a 2600hz tone, which happened to be the base tond for toll circuits switching. I used to be able to whistle a 2600hz tone and an active long distance phone line would go 'dead' resulting in a kid in a candy shop for dialing where ever I wanted.

Now, the DTMF issue is quite a different thing. I don't believe a person can actually whistle a DTMF tone since, by definition, it's a "Dual" Tone, Multi Frequency signal. The combination of tones for each digit and signal key are available on the net everywhere. It used to be that little old ladies would find themselves disconnected from their calling party without warning. It turned out that they would briefly hit a high tone in their vocal patterns, resulting in an ~2600hz signal droppping the line signalling a "hang up", but leaving the parties in an active toll circuit. Of course, if the call was an 800 "toll free" number, well... you get the idea.

As for dialing with the hook, that is called Digipulse and preceeded DTMF and so called "Touch Tone Dialing" at the subscriber. I used to use a telegraph key to dial, after I would whistle a 2600hz 'capt crunch' tone.

Oh, the good ol' days. Now, they have put filters on the subscribers line since there is no legitimate reason for a subscriber to initiate these control tones from their telephone handset.

Some of the older private networks still support digipulse, essentially allowing DTMF to be generated by on/off signals coming from the subscriber.

Enjoy
Doug
 

william47316

New Member
at one stage i did use an old modem to do the dirty work on the phone line using a picaxe to send the on/off hook and dial commands using a keypad to enter numbers, i might have the code floating around but look up the hayes modem command set and get an old external modem
 
Top