Sie sind auf Seite 1von 3

DIY Open Source IVRS System

Filed under: Microcontrollers, Projects — 9 Comments


August 28, 2011

3 Votes

This project is an Interactive Voice Response System based on a personal computer. The data
of an institution or firm is stored in a computer as a MySQL database, the world’s most
popular open source database.Parents or students can then access and retrieve data from this
database just by making a call to a predetermined mobile number. The user should provide
the student details like admission number, semester number, exam code etc. when requested
by the computer. The computer will then speak back the data requested, using a speech
synthesizer. The Block diagram is given below:

BLOCK DIAGRAM

The hardwire side consists of an embedded system which interfaces a GSM mobile phone or
modem to the USB port of the computer. This particular example, is designed for our college
and uses the academic data of the students as the database. PC side programming is done in
python with MySQL bindings and the embedded system is programmed in C. The text to
speech conversion is done using espeak- the open source speech synthesizer and the audio
output of the sound-card is routed to the mobile phone.
Circuit Diagram

When there is an incoming call, the call detector detect the call and attend it automatically.
Then the call detector will send a signal to enable the micro-controller. It will then signal the
PC through the virtual serial port created by the USB to serial converter. On receiving the
signal, the python program running in the PC greets the user by saying a welcome message,
and prompts the user to enter student details like admission number. When the user presses
the keys on his phone, DTMF tones are generated ,which are received by the mobile phone
and decoded using the popular DTMF decoder IC MT8870. The Decoder outputs BCD code
of the key pressed. The AVR micro-controller will then read the BCD code and send it to the
PC. The STD pin of MT8870 (Pin15) will go high only when the decoder receives a valid
DTMF tone. It is used to signal the micro-controller to read the data.

The call detector is built around a general purpose Op amp LM324 wired as a comparator
and a 555 wired as an a monostable. During an incoming call the voltage level of the
headphone output goes high and remains high for some time. Also during each key press, the
voltage goes high and remains high for a few seconds. During that time, the output of Op
amp will be low and it will trigger the monostable. The time period of the monostable is set
to approximately 25 seconds. If the user does not presses any key within this time period, the
monostable output will go low and it will trigger the micro-controller to go signal to hang up
the call.The circuit was wired on a veroboard and is shown below:

The first prototype


On the PC side, the program waits for data from the micro-controller. The python interface to
MySQL database is through MySQLdb API in python. The database is created in MySQL.
The hardware interfaces the computer through a USB to serial converter.

The main disadvantage of this system is that, it requires a computer to operate. Instead of a
fully fledged computer, smaller boards based on processors like Atom or smaller boards like
Beagleboard or Gumstix can be used.The documents (codes, schematics) can be downloaded
from here.

Das könnte Ihnen auch gefallen