You are on page 1of 38

introducTION

The line follower is a self operating robot that detects and follows a line that is drawn on the floor. The path consists of a black line on a white surface (or vice versa). The control system used must sense a line and maneuver the robot to stay on course, while constantly correcting the wrong moves using feedback mechanism, thus forming a simple yet effective closed loop System. The robot is designed to follow very tight curves.

Basic design

Basic Requirements
ATmega16 L293D IR sensors Eclipse galileo(software) LCD WHEELS(3) MOTORS(2)

Software Used
Ecllipse Galileo
(Programing Software)

USB TINY 2.0(Burner)

Programming And Simulating


The program code acts as the decision-maker embedded in the microcontroller i.e. it decides what will be the outputs for particular set of input combination. Programs for the AVR series of microcontrollers can be written in assembly (AVR ASM), C and BASIC. AVR Studio, WinAVR,etc. are some free development softwares for programming the AVR Microcontrollers. We will be using winAVR for programming and ECLIPSE GALILEO for simulating (Simulation means debugging the code on software,one can virtually give the input and check the output for that code). In winAVR programmers Notepad we write our C code,after compilation it generates .hexfile which is a hardware level code.

Hardware Used
1.Microcontroller (ATmega16) 2.L293D 3.LM234 4.60 Rpm motors(2) 5.Rear wheel(2) 6.One front drum wheel 8.IR Sensors 9.Wooden Base Present on AVR33 Kit

Microcontroller (ATmega16)
High-performance, Low-power AVR 8-bit Microcontroller Advanced RISC Architecture 32 x 8 General Purpose Working Registers Up to 16 MIPS Throughput at 16 MHz On-chip 2-cycle Multiplier High Endurance Non-volatile Memory segments Peripheral Features Two 8-bit Timer/Counters with Sepa Programmable Watchdog Timer with Separate On-chip Oscillator

On-chip Analog Comparator

I/O and Packages :- 32 Programmable I/O Lines

40-pin PDIP, 44-lead TQFP, and 44-pad QFN/MLF Operating Voltages :- 4.5 - 5.5V for ATmega16 Speed Grades :-0 - 16 MHz for ATmega16

Power Consumption @ 1 MHz, 3V, and 25C for ATmega16L

L293D
IC, RELAY DRIVER QUAD, DIP16, 293 Motor Type: Half-H No. of Outputs: 4 Supply Voltage Range: 4.5V to 36V Driver Case Style: DIP No. of Pins: 16 Operating Temperature Range: -40C to +150C SVHC: No SVHC (18-Jun-2012) Base Number: 293 Device Marking: L293NEE4 Device Type: Motor IC Generic Number: 293 Logic Function Number: 293 No. of Channels: 4 No. of Drivers: 4 Output Current Max: 2A Output Voltage Max: 36V Package / Case: DIP Supply Voltage : 36V- 4.5V

BRiCS AVR333 Development Board with Atmega16/32 DIP type supported microcontroller
The board measures 10 cm x 6 cm, ideal for learning about AVR . Specification: Dimension: 104 x 65 mm CPU: Atmega 16,32. Serial Ports: 1x male DB9 connector (Serial Programming) and 1x female DB9 connector (RS-232 Communication) Beeper: PWM buzzer LCD Interface 16x2 Displays: Monochrome (green and Blue) 8 ADC outputs Expansion: 44 pin I/O headers 3 Buttons (1 Reset, 2x external interrupt) Green Connectors: For operating Max. 12 volt devices ( DC motors and Relays) 2x power LEDs 2x L293D IC 1X 7805 IC 2x jumpers (For changing power supply channel one for Board and one for L293D) Power: regulated 5V to 12 V and 1 Amps.

BRiCS USBtiny is an ultra low cost ISP Programmer for AVR applications suitable for beginners.
Specification: CPU: ATtiny 2313. 32 bit and 64 bit supported. AVRdude compatible Durable off-the-shelf enclosure High speed! Max clock rate is 400KHz. Write speed:1Kb/s, read speed: 2Kb/s. (Atmega8 takes 8s to write, 4s to read/verify) Works with any AVR ISP chip with 64K of flash (or less) does not work with Atmega1281/1280/2561/2560 USB drivers available for Windows using libusb, no drivers needed for Mac OS X or Linux

OTHER IMPORTANT COMPONENTS

Caster wheel Medium 18mm

IR SENSOR

BUILDING LFR

if(s1<850&s2<850) /// change the value according the sensor value PORTD=0b10010000;// forward when both sensor are in white surface
if(s1>850&s2<850) PORTD=0b10100000;// right when one sensor in black & one sensor in white surface if(s1<850&s2>850) PORTD=0b01010000;// left when one sensor in white & one sensor in black surface if(s1>850&s2>850) PORTD=0b10010000;// forward when both sensor are in black surface

Now how it looks in real!

THANK YOU
Team mates:
MAHENDRA PRATAP SINGH Arjun Raina, Amit kumar, Vishal Srivastava

You might also like