[Colin] wanted a way to reliably control an Arduino via ham radio. One of the easiest methods of automated radio control makes use of Dual-Tone Multi-Frequency signalling. To those who aren’t into amatuer radio you probably recognized DTMF as the touch-tone system for telephone communications. [Colin] built a shield that has an audio input and can decode DTMF signals.
The hardware is based around an MT8870 DTMF decoder chip. This is a popular choice for DTMF hardware because it does all of the decoding work for you. Whenever a valid tone is detected it outputs the associated value in binary on four output pins. There is a fifth pin that strobes after each new tone. [Colin’s] design offers a lot of feedback for what’s going on with the input signal. The DTMF value is displayed on a 7-segment display (controlled completely in hardware), the value is output on for Binary Coded Decimal pins, and mapped to a set of ten pins which pull to ground to match the digit received.
Why only ten outputs?
(For pins?)
0-9 on your handset possibly?
So would this work with the DTMF that phones use?
A couple years ago I wrote a software only DTFM decoding on a ‘168 chip. It used about 15% CPU while running at 11.0592 MHz (it was a 3 volt system). The goetzel algorithm was coded in assembly with lots of aggressive optimizations (a test version in C could barely implement 1 of the 7 filters at nearly 100% CPU).
Maybe I ought to dig that code up and turn it into a nice Arduino library?
@Paul: I’d love to play around with software-DTMF and I’m sure many other people whould too!
Yes please, Paul!
@Paul it would be better if you turn it into more general C library so non avr people can use it too
HI Paul,
Did you ever manage to convert your DTMF code for Arduino – there’s still a serious requirement. We’ll really appreciate it!
RGDS