Fun With DTMF

Since this blog acts as a kind of documentation for the kinds of projects I've involved myself with, I thought, hey why don't I put up something that I worked on on the year of 2014. Something of a little throwback just in case someone stumbles across this blog. So, back then, this project was the first, in search of a better word, "big" project that I had done. In this particular project, I used a Atmega16 micro controller. To be more specific, I used a development board which I got from here. Now, with this I wanted a robot that could be controlled from a distance, like an RC car. But, in this case, I wanted the range of it  be the entire world. So, how did I do that?

To understand that, let's start by asking what DTMF is. So, DTMF stands for Dual Tone Multi Frequency. Essentially, when you dial a number on your phone's keypad, each number produces a distinct touch tone. This touch tone, is essentially a combination of two sound waves; one of a higher and one of a lower frequency. For example, the number "1" is identified using touch tones of frequency 1209Hz and 697Hz. Now, as you may have guessed, there exists an IC(Integrated Circuit) which can "decode" this and produce unique binary outputs which are then subsequently fed to the pins of the Atmega. The Atmega contains a list of commands, written into it's flash memory. Now, basically, based on the touch tone input, the robot performs different actions.

At this point, you could connect a receiver to the DTMF module using an audio jack. When this receiver was called, and numbers were pressed from the phone which called this receiver, the DTMF tones would be played and transmitted through the audio jack to the DTMF decoder. Technically, by definition, this would mean that the user may call the receiver from anywhere in the world and would still be able to control it.

 Back when I did this project, I thought it would be a romantic idea to write a "pseudo"-paper kind of thing on the project. Which is what I did. So below, you can see the details of the project that I did along with the components used and the general circuit block diagram.

This report shows how exactly I set up the robot along with the code that I used.
(Disclamer: The way this is written may be mind numbingly bad to a seasoned author.)

Comments

Popular posts from this blog

Adding Noise To An Image With OpenCV

Getting started with OpenCV

Picking Apart Colours