Sie sind auf Seite 1von 13

BRICS

Summer Training program 2010


MOBILE CONTROLLED ROBOT


DTMF
Submitted by:
Pulkit Yadav Subrat bhardwaj Shikha baghel Deeksha sharma

INDEX


1.Introduction 2.Acknowledgement 3.Hardware description of the Project. 4.Working 5. ciruit diagram 6.Image of the project 7.program source code

Introduction


This project is based on DTMF technology i.e.dual transmission multi frequency.using DTMF here a robot is controlled hence called the mobile controlled robot.using DTMF we can be able to controlled our device from a very long range only necessary thing is that there should be mobile network. One can be able to controll his home appliances while sitting in his office.

Acknowledgement
Our project moile controlled robot based on DTMF Technology is sucessfully completed during our summer training program at BRiCS,IIT Kanpur .we sincerely thanks to institute Faculty as well as mentors for there valuable support and help.

Hardware Discription List of components used:-


1.MT8870 dtmf decoder ic 2.100k resitor 2pc. 3.300k resistor 1pc. 4.3.57945Mhz crystal oscillator 5.0.1 uf capacitor 2pc. 6.4 LED 7.connecting wires....

Working :-
while the input from the mobile using a headphone is connected b/w the 0.1uf capacitor and the ground, DTMF tones can be transferred to the decoder ic(8870) and once the ic is powered up the o/p can be seen by connecting LED's at Q!, Q2, Q3 and Q4 o/p of the decoder ic.

The output on the Q1 to Q4 pins of the decoder IC has been shown in the image. the o/p of the decoder ic then can be connected to a motor driver ic like(L298 or L293D) to drive some motors or relays as a switch to operate some devices remotely as the Mobile phone connected can be called from anywhere in the world and by pressing the keys the DTMF tones can be transmitted to the receiving end mobile and hence any device connected can be operated globally.

Image Of Project

Souce code:#include<avr/io.h > #include<lcd_lib.h> #include <stdio.h> #include <util/delay.h> #define ADC_VREF_TYPE 0x00 unsigned int read_adc(unsigned char adc_input) { ADMUX=adc_input|ADC_VREF_TYP E; // Start the AD conversion ADCSRA|=0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCW; }

void main() { int x; int y; int Z; int W; DDRB=0xff; DDRD=0xff; DDRC=0xff; char a[15]; char B[15]; ADMUX=ADC_VREF_TYPE; ADCSRA=0x85;

LCDinit(); LCDclr( ); while(1)

{ x=read_adc(0); sprintf(a,"x=%4d",x); LCDGotoXY(0,0); LCDstring(a,6); y=read_adc(2); sprintf(a,"y=%4d",y); LCDGotoXY(0,1); LCDstring(a,6); Z=read_adc(4); sprintf(B,"Z= %4d",Z); LCDGotoXY(8,0); LCDstring(B,7); W=read_adc(6); sprintf(B,"W= %4d",W); LCDGotoXY(8,1); LCDstring(B,7);

if(x<350 && y<350 && Z>1000 && W<350 ) //press 02 { PORTD=0b10100000; } if(x<350 && y>350 && Z<350 && W<350) //press 04 { PORTD=0b01100000; } if(x<350 && y>350 &&Z>350 && W<350) //press 06 { PORTD=0b10010000; } if(x>350 && y<350 &&Z<350 && W<350) //press 08 { PORTD=0b01010000; }

if(x<350 && y>350 &&Z<350 && W>350) // press 05 { PORTD=0b00000000; } } }

Das könnte Ihnen auch gefallen