project on robo attender

32
ROBO ATTENDER MINI PROJECT REPORT Submitted in partial fulfillment of the requirement for the award of degree of Bachelor of Technology in ELECTRONICS AND COMMUNICATION ENGINEERING of MAHATMA GANDHI UNIVERSITY By PAUL JAMES(201029) SREEKANTH PRABHAKAR C.M. (201056) Department of Electronics and Communication Engineering Rajagiri School of Engineering and Technology Rajagiri Valley, Cochin - 682 039 2011-2012

Upload: paul-james

Post on 23-Mar-2016

229 views

Category:

Documents


1 download

DESCRIPTION

project done on providing navigation path for robot using wireless data transfer

TRANSCRIPT

Page 1: project on robo attender

ROBO ATTENDER

MINI PROJECT REPORT

Submitted in partial fulfillment of the

requirement for the award of degree of

Bachelor of Technology

in

ELECTRONICS AND COMMUNICATION ENGINEERING

of

MAHATMA GANDHI UNIVERSITY

By

PAUL JAMES(201029)

SREEKANTH PRABHAKAR C.M. (201056)

Department of Electronics and Communication Engineering

Rajagiri School of Engineering and Technology

Rajagiri Valley, Cochin - 682 039

2011-2012

Page 2: project on robo attender

Rajagiri Valley, Cochin - 682 039

DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING

CE R TIF ICA TECE R TIF ICA TECE R TIF ICA TECE R TIF ICA TE

Certified that the m ini project w ork titled “R O B O A TTE N D E R ” is a bonafide report of

the m ini project done by P aul Jam es(201029) and Sreekanth P rabhakar C .M .(201056) of

sixth sem ester E lectronics and Com m unication E ngineering in partial fulfillm ent of the

requirem ent for the aw ard of degree of B achelor of Technology in E lectronics and

Com m unication of the M ahatm a G andhi U niversity, K ottayam , during the academ ic

year 2011-2012.

Mr. Jos Prakash Mr. Jaison Jacob Project Guide Head of the Department Internal Examiner External Examiner Place : Kakkanad Date :

Page 3: project on robo attender

ACKNOWLEDGEMENT

First and foremost we praise the almighty God for the grace he showered on us during

our studies as well as our day to day activities.

We would like to take this chance to thank our principal Dr. J. Isaac for providing us

with such an environment, where students can explore their creative ideas.

We are extremely grateful to our project guide Mr.Jos Prakash, Dept. of Electronics,

RSET for his proper guidance and support and also for providing us with valuable

suggestions during the course of our work for the successful completion of our project.

We shall be failing in our duty if we do not thank Mr. Jaison Jacob, HOD, Dept. of

Electronics & Communication for his enduring support.

We would like to express our sincere gratitude to our Ms. Deepti Das Krishna and

Mr. Rony Antony P. for their valuable help and support.

We are grateful to our lab in charge who were always ready to help us when we were in

any need of assistance.

Last but not the least we would like to uphold the help and support by our friends and

family without whom this endeavor would not have been a success.

Page 4: project on robo attender

ABSTRACT

Robotics has emerged as today’s technology. In every field, we can find some

applications of a robot.

We prefer it mainly when

• A job is to be done in harsh environments such as deep coal mines.

• As a replacement for manual labour ie, as a soldier, in the automobile industry.

Here in our project, we present a simple scheme to navigate the robot. This method can

be applied to any mobile robot which has to be navigated between a finite numbers of

destinations.

We demonstrate this method using a robot which serves as an attender in a hospital

ward. We assign a binary code as the address of each destination. The robot will be

programed to compare the destination address with that of nearby beds and find the

shortest path. Atmega16 has been used as the microcontroller for the robot. IR and ASK

transmitter & receiver are used as communication methods for data transfer.

Page 5: project on robo attender

CONTENTS

1. BASIC BLOCK DIAGRAM .........................................................................04

2. BASIC ALGORITHM ....................................................................................05

3. INTRODUCTION ..........................................................................................01

4. HARDWARE DESIGN ................................................................................06

4.1 HARDWARE DESCRITION ..................................................................06

4.2 SCHEMATIC DESIGN………………………………………………….14

4.3 PCB LAYOUTS ......................................................................................17

5. SOFTWARE DESIGN .....................................................................................18

6. RESULT AND CONCLUSION .......................................................................26

6.1 CONCLUSION………………………………………………………....26

6.2 FUTURE SCOPE……………………………………………………….26

7. REFERENCES………………………………………………………………....27

Page 6: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

1

1. INTRODUCTION

1.1 ROBOT AND ROBOTICS

“A ROBOT is a reprogrammable, multifunctional manipulator designed to move material,

parts, tools, or specialized devices through variable programmed motions for the performance

of a variety of tasks.” (Robot Institute of America).

Mobility, Programmability, Sensors, Mechanical capability and Flexibility are some of the

essential features of a robot.

Robotics is the branch of technology that deals with the design, construction, operation,

structural disposition, manufacture and application of robots and computer systems for their

control, sensory feedback, and information processing. The concept and creation of machines

that could operate autonomously dates back to classical times, but research into the

functionality and potential uses of robots did not grow substantially until the 20th century.

Today, robotics is a rapidly growing field, as we continue to research, design, and build new

robots that serve various practical purposes, whether domestically, commercially, or

militarily.

Robots are especially useful when

1. The risk factor is high

Eg: Space exploration, chemical spill cleanup, disarming bombs

2. The work is Monotonous

Eg: Welding car frames , pick and place, manufacturing parts

3. Tasks require High precision and High speed

Eg: Electronics testing, Surgery, precision machining.

1.2 THE AVR MICROCONTROLLER

The AVR is a modified Harvard architecture, 8-bit RISC, single chip microcontroller which

was developed by Atmel in 1996. The AVR was one of the first microcontroller families to

use on-chip flash memory for program storage, as opposed to one-time programmable ROM,

EPROM, or EEPROM used by other microcontrollers at the time.

Here we use Atmega16 microcontroller which belongs to one of the basic families of AVR

called the megaAVR series.

MegaAVR family is characterized by

Page 7: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

2

• 4–256 kB program memory

• 28–100-pin package

• Extended instruction set (Multiply instructions and instructions for handling larger

program memories)

• Extensive peripheral set

The Atmega16 is a High-performance, Low-power 8-bit AVR Microcontroller with

Advanced RISC Architecture. It supports 131 Powerful Instructions. It has 32 general

purpose Working Registers( 8-bit). The speed is up to 16 MIPS throughput at 16 MHz.

The memory system consists of 16K Bytes of in-system Self-programmable Flash program

memory, 512 Bytes EEPROM and 1K Byte internal SRAM. It offers 10,000 write/erase

cycles for the flash memory and 100,000 write/erase cycles for the EEPROM. A data

retention period of 20 years is claimed at 85°C.

1.3 RF MODULE

The RF module, as the name suggests, operates at Radio Frequency. The corresponding

frequency range varies between 30 kHz & 300 GHz. Here Amplitude Shift Keying (ASK) is

used , in which the digital data is represented as variations in the amplitude of carrier wave.

Transmission through RF is better than IR (infrared) because of many reasons. Firstly, signals

through RF can travel through larger. Also, while IR mostly operates in line-of-sight mode,

RF signals can travel even when there is an obstruction between transmitter & receiver. Next,

RF transmission is more strong and reliable than IR transmission. RF communication uses a

specific frequency unlike IR signals which are affected by other IR emitting sources.

This RF module comprises of an RF Transmitter and an RF Receiver. The

transmitter/receiver (Tx/Rx) pair operates at a frequency of 434 MHz. An RF transmitter

receives serial data and transmits it wirelessly through RF through its antenna connected at

pin4. The transmission occurs at the rate of 1Kbps - 10Kbps.The transmitted data is received

by an RF receiver operating at the same frequency as that of the transmitter.

The RF module is often used along with a pair of encoder/decoder. The encoder is used for

encoding parallel data for transmission feed while reception is decoded by a decoder. HT12E-

HT12D, HT640-HT648, etc. are some commonly used encoder/decoder pair ICs.

Page 8: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

3

1.4 IR MODULE

The robot uses an infrared based system to detect obstacles. The basic principle behind our

obstacle detection system is reflection. An IR sensor is used to detect the IR waves reflected

from an obstacle. The output from the sensor is then used in implementing obstacle

avoidance.

Infrared was chosen as both sound and light are very prone to ambient interference. Another

good reason to use infrared is that the relevant part of the electromagnetic spectrum is

relatively quiet in an indoors environment, where we don't have to worry

about heat radiated from the sun. Also the IR implementation is relatively simpler, less power

hungry and much cheaper compared to ultrasonic based systems.

Unfortunately for us there are many more sources of Infra-Red light. The sun is the brightest

source of all, but there are many others, like: light bulbs, candles, central heating system, and

even our body radiate Infra-Red light. In fact everything that radiates heat also radiates Infra-

Red light.

Therefore we have to take some precautions to guarantee that our obstacle detection system is

not falsely triggered. The answer lies in amplitude modulating the IR waves.

With modulation we make the IR light source blink in a particular frequency. The IR receiver

will be tuned to that frequency, so it can ignore everything else. We chose to

modulate the IR waves at 38 KHz and detect it using the TSOP1738 IR sensor.

2. BASIC BLOCK DIAGRAM

Page 9: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

4

2.1 CLASSIFICATION OF SECTIONS

The project mainly consists of two sections

2.1.1 Transmitter Section

This section consists of 8 ask transmitters, one located at each of the bedsides. Each

transmitter will transmit a unique four bit code ,which serves as the identity code of the

patient, if a push button switch is pressed.

2.1.2 The Robot

The robot is the actual Robo Attender. The brain of the robot is the microcontroller. There is

an ask receiver which receives the four bit code sent by the transmitters at the bedsides. The

received code is given to the microcontroller, which processes the code, identifies the sender

(patient) and guide the robot to the destination. The IR transmitter and receiver helps in

obstacle detection. The robot moves with the help of two wheels, connected to dc motors,

which are controlled by the microcontroller. The microcontroller used is Atmega16 . It

belongs to the AVR series which is a modified Harvard architecture, 8-bit RISC, single chip

microcontroller which was developed by Atmel.

3.BASIC ALGORITHM

Page 10: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

5

The transmitters are fixed at the bedsides. The bed positions are fixed. Here we consider 8

beds, arranged in 2 rows. The distance between consecutive beds in a row is the same. The

arrangement is shown below.

b

a a

b

a a

b

a a

b

Each bed is equipped with a transmitter and is given a unique identity code. When the patient

needs the service of the robot he will press the push button switch. Then the transmitter will

send the corresponding id code. This will be received and processed by the robot. The

received code is stored in the microcontroller as the target code, “t”. The robot will have an

initial position. The corresponding code is stored as the variable “i”.

The identity codes are given in a specific order so that the codes of similar members of the

two rows differ by 4 (eg: 111 and 011). Also the first row contains transmitters with id codes

from 4 to 7.The other row contains transmitters with id code from 0 to 3. This arrangement

helps to identify whether the robot’s current position and the destination are on the same side

or not. If they belong to the same row, the microcontroller will execute a block of instruction,

which moves the robot from one bed to the next bed on the same row, ‘n’ times where ‘n’ is

the difference between ‘i’ and ‘t’.

111

000

100

101

110

001

010

011

Page 11: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

6

If the ‘i’ and ‘t’ values correspond to beds on different rows, the microcontroller will make

the robot to cover a distance ‘b’ towards left or right. Then the value of ‘i’ is changed(+/- 4).

Then it follows as before (‘i’ and ‘t’ on sameside).

4. HARDWARE DESIGN

4.1 HARDWARE DESCRIPTION

4.1.1 THE ROBOT

The robot is controlled by an AVR microcontroller- atmega 16. The microcontroller is

connected to an ask receiver system, an IR transmitter-receiver pair and two dc motors (

through driver IC ).

4.1.1.1 ATMEGA 16

The atmega16,40 pin DIP, is used.

Pin Descriptions

VCC : Digital supply voltage.

GND : Ground.

Port A (PA7..PA0) :

Port A serves as the analog inputs to the A/D Converter. Port A also serves as an 8-bit bi-

directional I/O port, if the A/D Converter is not used.

Page 12: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

7

Port B (PB7..PB0) :

Port B is an 8-bit bi-directional I/O port with internal pull-up resistors.Port B also serves the

functions of various special features of the ATmega16.

Port C (PC7..PC0) :

Port C is an 8-bit bi-directional I/O port with internal pull-up

Port D (PD7..PD0):

Port D is an 8-bit bi-directional I/O port with internal pull-up resistors. Port D also serves the

functions of various special features of the ATmega16

RESET :

A low level on this pin for longer than the minimum pulse length will generate a

reset, even if the clock is not running.

XTAL1 : Input to the inverting Oscillator amplifier and input to the internal clock operating

circuit.

XTAL2 : Output from the inverting Oscillator amplifier.

AVCC :

AVCC is the supply voltage pin for Port A and the A/D Converter. It should be externally

connected to VCC, even if the ADC is not used. If the ADC is used, it should be connected to

VCC through a low-pass filter.

AREF : AREF is the analog reference pin for the A/D Converter.

4.1.1.2 : MOTOR DRIVING SECTION

4.1.1.2.1 The H-Bridge

The original concept of the H-Bridge was being able to control the direction a motor

was going. Forward or backward. This was achieved by managing current flow through

circuit elements called transistors. The formation looks like an H and that's where it gets the

name H-Bridge. Here is what it looks like:

Page 13: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

8

A B C D FUNCTION

1 0 0 1 Forward

0 1 1 0 Reverse

1 1 0 0 Brake

0 0 1 1 Brake

The picture above illustrates the 4 base cases that we can get out of the simple version

of an H-Bridge. The two cases that interest us are when A & D are both 1 and when B & C

are both 1.

When A & D are 1 current from the battery will flow from point A through the motor

to D's ground. However for the case when B & C are both 1, current will flow in the opposite

direction from B through the motor to C's ground.

4.1.1.2.2 L298 (Motor Driver)

Page 14: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

9

The L298 is an integrated monolithic circuit in a 15-lead Multiwatt and PowerSO20

packages. It is a high voltage, high current dual full-bridge driver designed to accept standard

TTL logic levels and drive inductive loads such as relays, solenoids, DC and stepping motors.

Two enable inputs are provided to enable or disable the device independently of the input

signals. The emitters of the lower transistors of each bridge are connected together and the

corresponding external terminal can be used for the connection of an external sensing

resistor. An additional supply input is provided so that the logic works at a lower voltage.

4.1.1.3: IR SECTION

Generating the 38 KHz IR wave

The 38 KHz wave can be obtained by configuring a 555 timer as an Astable

Oscillator.

Tlow = 0.693R2C1

Thigh = 0.693(R1+R2)C1

F = 1/( Thigh- Tlow)

For reliable operation, the resistors should be between approximately 10KΩ and

14MΩ, and the timing capacitor should be from around 100pF to 1000µF.

So we are using R1=R2=18kohm and c=0.001µF.

Detecting the 38 KHz IR waves

The detection is done using the TSOP1738 IR sensors. These sensors are widely

available and is commonly found at the receiving end of an IR remote control system;

e.g., in TVs, CD players etc. The TSOP1738 has a photo detector, preamplifier and

demodulator in one package. Thus no separate demodulator is required. This sensor

requires the incoming data to be modulated at 38 KHz and would ignore any other IR

signals. Its Epoxy coating acts as an IR filter. Thus it is highly immune to ambient IR

light, so one can easily use these sensors outdoors or under heavily lit conditions.

Page 15: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

10

4.1.2 RF TRANSMITTING AND RECEIVING SECTION

4.1.2.1 Transmitter And Receiver Module

This project uses the widely and cheaply available RF ASK (Amplitude Shift Keying)

based TX/RX modules operating at 434MHz, hence falling into the Ultra High

Frequency (UHF) Band. They can be directly interfaced to a microcontroller or can be used

in remote control applications with the help of encoder/decoder ICs. The encoder IC takes in

parallel data at the TX side, packages it into serial format and then transmits it with the help

of a RF transmitter module. At the RX end, the decoder IC receives the signal via the RF

receiver module, decodes the serial data and reproduces the original data in the parallel

format.

Pin Diagram

Receiver Transmitter

4.1.2.2 ENCODER AND DECODER IC-S

4.1.2.2.1 HT12E Encoder

Page 16: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

11

HT12E is an encoder integrated circuit of 212 series of encoders. They are paired with 212

series of decoders for use in remote control system applications. It is mainly used in

interfacing RF and infrared circuits. The chosen pair of encoder/decoder should have same

number of addresses and data format.

Simply put, HT12E converts the parallel inputs into serial output. It encodes the 12 bit

parallel data into serial for transmission through an RF transmitter. These 12 bits are divided

into 8 address bits and 4 data bits.

HT12E has a transmission enable pin which is active low. When a trigger signal is received

on TE pin, the programmed addresses/data are transmitted together with the header bits via

an RF or an infrared transmission medium. HT12E begins a 4-word transmission cycle upon

receipt of a transmission enable. This cycle is repeated as long as TE is kept low. As soon as

TE returns to high, the encoder output completes its final cycle and then stops.

Pin Diagram

Pin Description

Pin Number Function Name

1 8 BIT ADDRESS PINS FOR INPUT A0

2 A1

3 A2

4 A3

5 A4

6 A5

7 A6

Page 17: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

12

8 A7

9 GROUND (0V) GROUND

10 4 BIT DATA/ADDRESS PINS FOR INPUT D0

11 D1

12 D2

13 D3

14 TRANSMISSION ENABLE (ACTIVE LOW) TE

15 OSCILLATOR OUTPUT OSC 2

16 OSCILLATOR INPUT OSC 1

17 VALID TRANSMISSION, ACTIVE HIGH VT

18 SUPPLY VOLTAGE; 5V (2.4 – 12V) Vcc

4.1.2.2.2 HT12D Decoder

HT12D IC comes from HolTek Company. HT12D is a decoder integrated circuit that belongs

to 2^12 series of decoders. This series of decoders are mainly used for remote control system

applications, like burglar alarm, car door controller, security system etc. It is mainly provided

to interface RF and infrared circuits. They are paired with 2^12 series of encoders. The

chosen pair of encoder/decoder should have same number of addresses and data format.

In simple terms, HT12D converts the serial input into parallel outputs. It decodes the serial

addresses and data received by, say, an RF receiver, into parallel data and sends them to

output data pins. The serial input data is compared with the local addresses three times

continuously. The input data code is decoded when no error or unmatched codes are found. A

valid transmission in indicated by a high signal at VT pin.

HT12D is capable of decoding 12 bits, of which 8 are address bits and 4 are data bits. The

data on 4 bit latch type output pins remain unchanged until new is received.

Pin Diagram

Page 18: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

13

Pin Description

Pin Number Function Name

1 8 BIT ADDRESS PINS FOR INPUT A0

2 A1

3 A2

4 A3

5 A4

6 A5

7 A6

8 A7

9 GROUND (0V) GROUND

10 4 BIT DATA/ADDRESS PINS FOR OUTPUT D0

11 D1

12 D2

13 D3

14 SERIAL DATA INPUT INPUT

15 OSCILLATOR OUTPUT OSC 2

16 OSCILLATOR INPUT OSC 1

17 VALID TRANSMISSION, ACTIVE HIGH VT

18 SUPPLY VOLTAGE; 5V (2.4 – 12V) Vcc

4.2 SCHEMATIC DESIGN

Page 19: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

14

4.2.1. MICROCONTROLLER

4.2.2.MOTOR CONTROL

4.2.3. POWER SUPPLY

Page 20: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

15

4.2.4. TRANSMITTER AND RECEIVER

Page 21: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

16

4.2.5. IR TRANSMITTER

4.2.6 IR RECEIVER

Page 22: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

17

4.3 PCB LAYOUTS

RF RECEIVER

RF TRANSMITTER

IR TRANSMITTER

Page 23: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

18

5.SOFTWARE DESIGN

The software used to code atmega16 is winAVR.

5.1 About WinAVR

WinAVR is a suite of executable, open source software development tools for the Atmel

AVR series of RISC microprocessors hosted on the Windows platform. It includes the GNU

GCC compiler for C and C++. This is indeed an ease to the user to do the program. The

compiler will also generate the hex file that can be loaded to the microcontroller.

WinAVR contains all the tools for developing on the AVR. This includes avr-gcc (compiler),

avrdude (programmer), avr-gdb (debugger), and more. WinAVR is widely accepted all over

the world from hobbyists to schools,and to commercial projects.

5.2 AVR CODING

#include<avr/io.h>

#include <util/delay.h>

int main(void)

int b1,b2,b3,b0,x,t,i,c,n;

DDRB&=~(1<<0);

DDRB&=~(1<<1); //PORTB AS INPUT

DDRB&=~(1<<2);

DDRB&=~(1<<3);

/* declare PORT C as output*/

DDRC|=((1<<PC0)|(1<<PC1));

DDRC|=((1<<PC2)|(1<<PC3));

DDRC|=((1<<PA0));

i=0; // initial position is set as zero.

while(1)

Page 24: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

19

// store the received bits to the variables.

if(PINB&(1<<3))

b3=1;

else

b3=0;

if(PINB&(1<<2))

b2=1;

else

b2=0;

if(PINB&(1<<1))

b1=1;

else

b1=0;

if(PINB&(1<<0))

b0=1;

else

b0=0;

Page 25: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

20

//convert the received binary code to decimal

x=(b3*4)+(b2*2)+(b1*1);

assign the received code as the target code.

t=x;

ss:

if((t<=3) && (i<=3)) // both initial and target positions are in 1st row

if(i= = t)

finish( ); // indicates that the destination is reached.

else

if(i<t)

n=t-i;

right( );

for(c=0;c<n;c++)

forward1( );

left( );

i=t;

finish( );

if(i>t)

n=i-t;

left( );

Page 26: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

21

for(c=0;c<n;c++)

forward1( );

right( );

i=t;

finish( );

else if((t>3) && (i>3)) // initial and target positions are on the 2nd row.

if(i==t)

finish( );

else

if(i<t)

// number of times of loop execution

n=t-i;

right( );

for(c=0;c<n;c++)

forward1( );

left( );

i=t;

Page 27: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

22

finish( );

if(i>t)

n=i-t;

right( );

for(c=0;c<n;c++)

forward1( );

left( );

i=t;

finish( );

if((i-t)<-3)

rotate( );

forward2( );

i=i+4;

goto ss;

else if((i-t)>3)

rotate( );

forward2( );

i=i-4;

goto ss;

Page 28: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

23

return 0;

void finish( )

PORTA|=(1<<0);

_delay_ms(2000);

void forward1( ) // to cover the distance between adjacent elements in a row.

PORTC|=(1<<0);

PORTC&=(~(1<<1));

PORTC|=(1<<2);

PORTC&=(~(1<<3));

_delay_ms(2000);

void forward2( ) // to cover the distance of separation between the 2 rows.

PORTC|=(1<<0);

PORTC&=(~(1<<1));

PORTC|=(1<<2);

PORTC&=(~(1<<3));

_delay_ms(4000);

void rotate( ) // to take 180 degree rotation

Page 29: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

24

_delay_ms(500);

PORTC|=(1<<PC0); //PC0 = HIGH

PORTC&=(~(1<<PC1)); //PC1 = LOW

PORTC|=(1<<PC3); //PC3 = LOW

PORTC&=(~(1<<PC2)); //PC2 = LOW

_delay_ms(500);

PORTC&=(~(1<<PC0)); //PC0 = LOW

PORTC&=(~(1<<PC3)); //PC3 = LOW

_delay_ms(500);

void right( ) // to take 90 degree turn towards right

_delay_ms(500);

PORTC|=(1<<2); //PC2 = high

PORTC&=(~(1<<3)); // PC3 = low

_delay_ms(500);

PORTC&=(~(1<<PC2)); //PC2 = low

_delay_ms(1000);

void left( ) // to take 90 degree turn towards left

_delay_ms(500);

Page 30: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

25

PORTC|=(1<<3); //PC3 = HIGH

PORTC&=(~(1<<2));

_delay_ms(500);

PORTC&=(~(1<<PC3)); //PC3 = LOW

_delay_ms(1000);

6. RESULT AND CONCLUSION

Page 31: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

26

6.1 CONCLUSION

The project was completed in a step by step manner. In the first stage basic algorithm and a

preliminary idea about the circuit and the components were developed. Atmega 16

microcontroller was chosen as the microcontroller and AVR coding was studied. Then the

preliminary programs were developed to test motors, ir module etc. After that we worked on

the ask modules and modified the circuit by including the encoder-decoder ICs. In the

subsequent stages the RF module was interfaced with the microcontroller and it was tested.

Simultaneously the robot was built. AVR coding and the combined circuit were completed.

The transmitters were set at the desired positions and the robot was tested. The robot reached

the required destination through the shortest path and thus the project Robo Attender was

successfully completed.

6.2 FUTURE SCOPE

The present algorithm can be applied to any situations where the robot is to be navigated

between a fixed number of immobile targets.

Eg : As file carrier in an office, supplier in a restaurant etc.

A number of future enhancements are possible. Solar panel could be used to provide power

when the robot is operated outdoors. An auto-switching feature could be implemented to

choose power sources depending on the environment. Levels of artificial intelligence and

genetic behaviours such as wall following, maze solving, ant behaviours, path finding, fire

fighting, etc. could be implemented. Various tools such as arms, grippers, pumps, etc. can be

used as end effectors to provide added functionalities.

The obstacle detection system can be modified as an obstacle avoidance system by using

image processing.

Page 32: project on robo attender

Mini Project Report Robo Attender

Rajagiri School of Engineering and Technology

27

7. REFERENCE

• Atmega 16

o www.microchip.com/

o www.avrfreaks.net/

• L298

o www.st.com/internet/analog/product/63147.jsp

• ASK modules

o www.maxembedded.wordpress.com/tag/ht12d/

o www.in.answers.yahoo.com/question/index?qid=20110711033450

o www.roboticsindia.com/showthread.php/2320-Help-with-usinng-434MHz-

RF-Module-with-HT12E-D-without-MCU

• TSOP 1738

o www.electroschematics.com/4338/tsop-1738-photo-module-design-notes