Conventionally, wireless-controlled robots use RF circuits,which have the drawbacks of limited working range, limited frequency range and limited control. Use of a mobile phone for robotic control can overcome these limitations. It provides the advantages of robust control, working range as large as the coverage area of the service provider,no interference with other controllers and up to twelve controls.Although the appearance and capabilities of robots vary vastly, all robots share the features of a mechanical, movable structure under some form of control. The control of robot involves three distinct phases: reception, processing and action. Generally, the preceptors are sensors mounted on the robot, processing is done by the on-board microcontroller or processor, and the task (action) is performed using motors or with some other actuators.
In this project, the robot is controlled by a mobile phone that makes a call to the mobile phone attached to the robot. In the course of a call, if any button is pressed,a tone corresponding to the button pressed is heard at the other end of the call. This tone is called ‘dual-tone multiple-frequency’ (DTMF) tone. The robot perceives this DTMF tone with the help of the phone stacked in the robot. The received tone is processed by the ATmega16 microcontroller with the help of DTMF decoder MT8870. The decoder decodes the DTMF tone into its equivalent binary digit and this binary number is sent to the microcontroller.The microcontroller is preprogrammed to take a decision for any given input and outputs its decision to motor drivers in order to drive the motors for forward or backward motion or a turn. The mobile that makes a call to the mobile phone stacked in the robot acts as a remote. So this simple robotic project does not require the construction of receiver and transmitter units. DTMF signaling is used fr telephone signaling over the line in the voice-frequency band to the call switching centre. The version of DTMF used for telephone tone dialing is known as ‘Touch-Tone.’DTMF assigns a specific frequency (consisting of two separatetones) to each key so that it can easily be identified by the electronic circuit. The signal generated by the DTMF encoder is a direct algebraic summation, in real time, of the amplitudes of two sine (cosine)waves of different frequencies, i.e., pressing ‘5’ will send a tone made by adding 1336 Hz and 770 Hz to the other end of the line. The tones and assignments in a DTMF system are shown in Table I.
SCEMATIC OF CELLPHONE OPERATED LANDROVER
PCB LAYOUT FOR CELLPHONE OPERATED LANDROVER
The software is written in ‘C’ language and compiled using CodeVision AVR ‘C’ compiler. The source program is ed into hex code by the compiler. Burn this hex code into ATmega16 AVR microcontroller.The source program is well commented and easy to understand. First include the register name defined specifically for ATmega16 and also declare the variable. Set port A as the input and port D as the output. The program
will run forever by using ‘while’ loop. Under ‘while’ loop, read port A and test the received input using ‘switch’ statement. The corresponding data will output at port D after testing of the received data.
In order to control the robot, you need to make a call to the cell phone attached to the robot (through head phone) from any phone, which sends DTMF tunes on pressing the numeric buttons. The cell phone in the robot is kept in ‘auto answer’ mode. (If the mobile does not have the auto answering facility, receive the call by ‘OK’ key on the rover-connected mobile and then made it in hands-free mode.) So after a ring, the cellphone accepts the call. Now you may press any button on your mobile to perform actions as listed in Table III. The DTMF tones thus produced are received by the cellphone in the robot. These tones are fed to the circuit by the headset of the
cellphone. The MT8870 decodes the received tone and sends the equivalent binary number to the microcontroller. According to the program in the microcontroller, the robot starts moving.When you press key ‘2’ (binary equivalent 00000010) on your mobile phone, the microcontroller outputs ‘10001001’ binary equivalent. Port pins PD0, PD3 and PD7 are high. The high output at PD7 of the microcontroller drives the motor driver (L293D). Port pins PD0 and PD3 drive motors M1 and M2 in forward direction (as per Table III). Similarly, motors M1 and M2 move for left turn, right turn, backward motion and stop condition as per Table III.
PROGRAM FOR CELLPHONE OPERATED LANDROVER
IC1 - MT8870 DTMF decoder
IC2 - ATmega16 AVR microcontroller
IC3 - L293D motor driver
IC4 - 74LS04 NOT gate
D1 - 1N4007 rectifier diode
R1, R2 - 100-kilo-ohm
R3 - 330-kilo-ohm
R4-R8 - 10-kilo-ohm
C1 - 0.47μF ceramic disk
C2, C3, C5, C6 - 22pF ceramic disk
C4 - 0.1μF ceramic disk
XTAL1 - 3.57MHz crystal
XTAL2 - 12MHz crystal
S1 - Push-to-on switch
M1, M2 - 6V, 50-rpm geared DC motor
Batt. - 6V, 4.5Ah battery
Labels: Cellphone Operated Robot