SlideShare a Scribd company logo
1 of 13
AVR PROJECT REPORT
AUTOMATIC ROOM LIGHT CONTROLLER WITH
BIDIRECTIONAL VISITOR COUNTER
Submitted by:
 Mafaz Ahmed 1882-F12
Abstract:
This Project “Automatic Room Light Controller with Bidirectional
Visitor Counter” is reliable that takes over the task of controlling the room lights
as well us counting number of persons/visitors in the room very accurately. When
somebody enters into the room then the counter is incremented by one and the
light in the room will be switched ON and when any one leaves the room then the
counter is decremented by one. The light will be only switched OFF until all the
persons in the room go out. The total number of persons inside the room is also
displayed on the LCD. Whenever a person enter a room, he or she have to enter a
password using a keypad interfaced with the microcontroller. Only those enter
the room who know the password.
INTRODUCTION:
The objective of this project is to make a controller based
model to count number of persons visiting particular room and accordingly light
up the room. Here we can use sensor and can know present number of persons.
In today’s world, there is a continuous need for automatic appliances. With the
increase in standard of living, there is a sense of urgency for
developing circuits that would ease the complexity of life. Also if at all one wants
to know the number of people present in room so as not to have congestion, this
circuit proves to be helpful.
Block Diagram:
A
T
M
E
G
A
1
6
ENTER SENSOR
EXIT SENSOR
KEYPAD
LCD
DOOR RELAY
FAN Control
LIGHT CONTOL
LIST OF COMPONENTS:
 Microcontroller – ATMEGA16
 Infrared Sensor
 Preset – 4.7K
 Reset button switch
 Diode – IN4148
 Transistor – TIP41
 LCD 16x2
 Keypad
 LED’s
 IC-LM324
Microcontroller ATMEGA16:
An Atmel ATmega16 microcontroller in a 40 pin DIP
package. It has 16 KB programmable flash memory, static RAM of 1 KB and
EEPROM of 512 Bytes. There are 32 I/O
(input/output) lines which are divided
into four 8-bit ports designated as
PORTA, PORTB, PORTC and PORTD. It
has various in-built peripherals
like USART, ADC, ATmega16 has
various in-built peripherals alternative
task related to in-built peripherals.
LCD
LCD (Liquid Crystal Display) screen is an electronic display module and find a wide range of applications.
A 16x2 LCD display is very basic module and is very commonly used in various devices and circuits. These
modules are preferred over seven segments and other multi segment LEDs. The reasons being: LCDs are
economical; easily programmable; have no limitation of displaying special & even custom
characters (unlike in seven segments), animations and so on.
A 16x2 LCD means it can display 16 characters per line and there are 2 such lines. In this LCD each
character is displayed in 5x7 pixel matrix. This LCD has two registers, namely, Command and Data.
The command register stores the command instructions given to the LCD. A command is an instruction
given to LCD to do a predefined task like initializing it, clearing its screen, setting the cursor position,
controlling display etc. The data register stores the data to be displayed on the LCD. The data is the ASCII
value of the character to be displayed on the LCD.
LM324:
LM324 is a 14pin IC consisting of four independent operational
amplifiers (op-amps)
compensated in a single package.
Op-amps are high gainelectronic
voltage amplifier with differential
input and, usually, a single-ended
output. The output voltage is
many times higher than the
voltage difference between input
terminals of an op-amp.
IR Sensor-:
This is the most fundamental type of sensor available in the market. The basic concept
is simple. There is an emitter which emits infrared (IR)
rays. These IR rays are detected by a detector. This
concept is used to make proximity sensor (to check if
something obstructs the path or not, etc), contrast
sensors (used to detect contrast difference between black
and white, like in line follower robots), etc.
TIP41:
The Bipolar Power Transistor is designed for general purpose power amplifier and switching
applications. The TIP41, TIP41A, TIP41B, TIP41C (NPN); and TIP42, TIP42A, TIP42B, TIP42C (PNP)
are complementary devices.
 Collector-Emitter Saturation Voltage - VCE(sat) = 1.5 V<subdc< sub="" style="font-family: Verdana, Arial, He
serif;"> (Max) @ IC = 6.0 Adc</subdc<>
 Collector-Emitter Sustaining Voltage -VCEO(sus) = 60 Vdc (min) - TIP41A, TIP42A
=80 Vdc (min) - TIP41B, TIP42B
=100 Vdc (min) - TIP41C, TIP42C
 High Current Gain Bandwidth Product
fT = 3 MHz (min) @ IC = 500 mAdc
 Compact TO-220 AB Package
 These are Pb-Free Packages
Circuit:
CODE:
#define F_CPU 8000000UL // Define the crystal frequency
#include <avr/io.h> // Standard header file for input and output functionality
#include <util/delay.h> // For delay function
#include <avr/interrupt.h>
#define LCD_PRT PORTA //LCD DATA PORT
#define LCD_DDR DDRA //LCD DATA DDR
#define LCD_PIN PINA//LCD DATA PIN
#define LCD_RS 0 //LCD RS
#define LCD_RW 1 //LCD RW
#define LCD_EN 2 //LCD EN //Enable/disable pin for
LCD
#define KEY_PRT PORTC
#define KEY_DDR DDRC
#define KEY_PIN PINC
char ROW=0, COL=0;
char keypad[4][3]= {'1','2','3',
'4','5','6',
'7','8','9',
'*','0','#' };
unsigned char cnt=0;
ISR (TIMER2_OVF_vect)
{if(cnt==0){OCR2 =255;}
if(cnt>=1){OCR2 =191;}
if(cnt>=3){OCR2=127;}
if(cnt>=5){OCR2=0;} }
void lcdcmd(unsigned char cmnd)
{ // LCD command function
LCD_PRT = (LCD_PRT & 0x0F) | (cmnd & 0xF0);
LCD_PRT &= ~ (1<<LCD_RS); //RS = 0 for command
LCD_PRT &= ~ (1<<LCD_RW) ; //RW = 0 for write
LCD_PRT |= (1<<LCD_EN); //EN = 1 for H-to-L
_delay_us (50) ; //wait to make EN wider
LCD_PRT &= ~ (1<<LCD_EN); //EN = 0 for H-to-L
_delay_us(50) ; //wait
LCD_PRT = (LCD_PRT & 0x0F) | (cmnd << 4);
LCD_PRT |= (1<<LCD_EN); //EN = 1 for H-to-L
_delay_us (1) ; //wait to make EN wider
LCD_PRT &= ~ (1<<LCD_EN); } //EN = 0 for H-to-L
void lcddata(unsigned char data) // LCD Data function
{
LCD_PRT = (LCD_PRT & 0X0F) | (data & 0XF0);
LCD_PRT |= (1<<LCD_RS); //RS = 1 for data
LCD_PRT &= ~ (1<<LCD_RW) ; //RW = 0 for write
LCD_PRT |= (1<<LCD_EN); //EN = 1 for H-to-L
_delay_us(50) ;
LCD_PRT &= ~ (1<<LCD_EN) ;
LCD_PRT = (LCD_PRT & 0x0F) | (data<<4);
LCD_PRT |= (1<<LCD_EN);
_delay_us(50);
LCD_PRT &= ~ (1<<LCD_EN);
}
void lcd_init()
{
LCD_DDR = 0xFF;
LCD_PRT &=~(1<<LCD_EN);
_delay_us(2000);
lcdcmd(0x33);
_delay_us (100);
lcdcmd(0x32);
_delay_us (100);
lcdcmd(0x28);
_delay_us (100);
lcdcmd(0x0E);
_delay_us(100);
lcdcmd(0x01);
_delay_us(2000);
lcdcmd(0x06);
_delay_us(100);
}
void lcd_gotoxy (unsigned char x, unsigned char y)
{ //Table 12-5
unsigned char firstCharAdr[]={0x80,0xC0,0x94,0xD4};
lcdcmd(firstCharAdr[ y-1]+x-1);
_delay_us(100) ;
}
void lcd_string(unsigned char *str) //function to show string on LCD
{ unsigned char i = 0;
while (str[ i] !=0)
{lcddata(str[ i] );
i++;
}
}
//look up table for keypad function
char key_pad() // key pad function
{
while(1)
{
KEY_PRT=0x7E;
//MAKE FIRST ROW IN KEYPAD TO ZERO
// MAKE ALL COL'S AS HIGH
if((KEY_PIN&0x10)==0){while((KEY_PIN&0x10)==
0);ROW=1;COL=1;break;}
if((KEY_PIN&0x20)==0){while((KEY_PIN&0x20)==
0);ROW=1;COL=2;break;}
if((KEY_PIN&0x40)==0){while((KEY_PIN&0x40)==
0);ROW=1;COL=3;break;}
KEY_PRT=0x7D;
//MAKE SECOND ROW IN KEYPAD TO ZERO
// MAKE ALL COL'S AS HIGH
if((KEY_PIN&0x10)==0){while((KEY_PIN&0x10)==
0);ROW=2;COL=1;break;}
if((KEY_PIN&0x20)==0){while((KEY_PIN&0x20)==
0);ROW=2;COL=2;break;}
if((KEY_PIN&0x40)==0){while((KEY_PIN&0x40)==
0);ROW=2;COL=3;break;}
KEY_PRT=0x7B;
//MAKE THIRD ROW IN KEYPAD TO ZERO
// MAKE ALL COL'S AS HIGH
if((KEY_PIN&0x10)==0){while((KEY_PIN&0x10)==
0);ROW=3;COL=1;break;}
if((KEY_PIN&0x20)==0){while((KEY_PIN&0x20)==
0);ROW=3;COL=2;break;}
if((KEY_PIN&0x40)==0){while((KEY_PIN&0x40)==
0);ROW=3;COL=3;break;}
KEY_PRT=0x77;
//MAKE 4TH ROW IN KEYPAD TO ZERO
// MAKE ALL COL'S AS HIGH
if((KEY_PIN&0x10)==0){while((KEY_PIN&0x10)==
0);ROW=4;COL=1;break;}
if((KEY_PIN&0x20)==0){while((KEY_PIN&0x20)==
0);ROW=4;COL=2;break;}
if((KEY_PIN&0x40)==0){while((KEY_PIN&0x40)==
0);ROW=4;COL=3;break;}
}
return keypad[ROW-1][COL-1];
}
unsigned char ps[]="ENTER PASSWARD";
unsigned char un[]="UNLOCKED";
unsigned char lo[]="LOCKED";
unsigned char wr[]="WRONG PASSWARD";
unsigned char ea[]="ENTER AGAIN";
unsigned char passward[]={'4','6','2','2'};
unsigned char user[4];
unsigned char d;
void enter(){lcd_init();
lcd_gotoxy(2,1);
lcd_string(ps);
lcdcmd(0xC6);
for(d=0;d<4;d++)
{ user[d]=key_pad(); lcddata(user[d]);}
_delay_ms(100);
if((user[0]==passward[0])&&(user[1]==passward[1])&&(user[2]==passward[2])&
&(user[3]==passward[3]))
{ lcd_init(); lcd_gotoxy(5,1); lcd_string("WELCOME");
PORTB|=(1<<2);
while(1){if(PINB &
0x02){cnt++;PORTB&=~(1<<2);if(cnt>0){PORTB|=(1<<3);}_delay_ms(200);bre
ak;}}}
else
{lcd_init();
lcd_gotoxy(3,1);
lcd_string(wr); _delay_ms(500);}
}
void exit()
{PORTB|=(1<<2);
while(1){if(PINB & 0x01){cnt--;
PORTB&=~(1<<2);lcd_init();lcd_gotoxy(5,1);lcd_string("GOOD
BY");if(cnt<=0)PORTB&=~(1<<3);
_delay_ms(1000);while(PINB & 0x01);break;}
}
}
unsigned char count=0;
int main(void) //main function
{
DDRD |= (1<<7); //PB3 as output
OCR2 = 255;
TCCR2 = 0x76;;
TIMSK |= (1<<TOIE2) ;
sei( );
DDRB=0x0C; // PB 0,1 input and PB.2 ,PB.3
KEY_DDR=0x0F;
while(1)
{ lcd_init();
lcd_gotoxy(5,1);
lcd_string("Count=");
count=cnt&0x0F;
count=count|0x30;
lcddata(count);
while(1){if(PINB & 0x01){enter();break;}if(PINB &
0x02){exit();break;}}
//while(1){if(PINB & 0x01){enter();break;}if(PINB &
0x02){exit();break;}}
_delay_ms(100);
}
return 0;}
PCB CIRCUIT DESIGN:
CONCLUSION:
Hereby we come to the end of our project “AUTOMATIC ROOM
LIGHT CONTROLLER WITH BIDIRECTIONL VISITOR COUNTER”.
 Application of this project
 For counting purposes
 For automatic room light control
 Advantages of this project
 Low cost
 Easy to use
 Implement in single door
 Future Expansion
 By using this circuit and proper power supply we can implement
various applications such as fans, tube lights, etc.
 By modifying this circuit and using two relays we can achieve a task
of opening and closing the door
Reference:
 . http://www.engineersgarage.com/electronic-components/lm324n-datasheet
 http://www.engineersgarage.com/electronic-components/atmega16-
microcontroller

More Related Content

What's hot

Automatic room-light-controller-visitor-counter
Automatic room-light-controller-visitor-counterAutomatic room-light-controller-visitor-counter
Automatic room-light-controller-visitor-counter
Mohit Awasthi
 
Automatic room light controller with bidirectional visitor counter
Automatic room light controller with bidirectional visitor counterAutomatic room light controller with bidirectional visitor counter
Automatic room light controller with bidirectional visitor counter
Niladri Dutta
 
Bi directional visitor counter rewat
Bi directional visitor counter   rewatBi directional visitor counter   rewat
Bi directional visitor counter rewat
vishwesh sharma
 

What's hot (20)

Automatic Room Light Controller Using Arduinom & PIR Sensor
Automatic Room Light Controller Using Arduinom & PIR SensorAutomatic Room Light Controller Using Arduinom & PIR Sensor
Automatic Room Light Controller Using Arduinom & PIR Sensor
 
Automatic room-light-controller-visitor-counter
Automatic room-light-controller-visitor-counterAutomatic room-light-controller-visitor-counter
Automatic room-light-controller-visitor-counter
 
Light Automation System Using Bidirectional Visitor Counter
Light Automation System Using Bidirectional Visitor CounterLight Automation System Using Bidirectional Visitor Counter
Light Automation System Using Bidirectional Visitor Counter
 
AUTOMATIC ROOM LIGHTING SYSTEM.pptx
AUTOMATIC ROOM LIGHTING SYSTEM.pptxAUTOMATIC ROOM LIGHTING SYSTEM.pptx
AUTOMATIC ROOM LIGHTING SYSTEM.pptx
 
A Report on Bidirectional Visitor Counter using IR sensors and Arduino Uno R3
A Report on Bidirectional Visitor Counter using IR sensors and Arduino Uno R3A Report on Bidirectional Visitor Counter using IR sensors and Arduino Uno R3
A Report on Bidirectional Visitor Counter using IR sensors and Arduino Uno R3
 
Bidirectional visitor counter
Bidirectional visitor counterBidirectional visitor counter
Bidirectional visitor counter
 
Automatic room light controller with bidirectional visitor counter
Automatic room light controller with bidirectional visitor counterAutomatic room light controller with bidirectional visitor counter
Automatic room light controller with bidirectional visitor counter
 
Automatic Room Lights Controller Using Arduino & PIR Sensor
Automatic Room Lights Controller Using Arduino & PIR SensorAutomatic Room Lights Controller Using Arduino & PIR Sensor
Automatic Room Lights Controller Using Arduino & PIR Sensor
 
Iot based fire alarm system
Iot based fire alarm systemIot based fire alarm system
Iot based fire alarm system
 
A bi directional visitors counter
A bi directional visitors counterA bi directional visitors counter
A bi directional visitors counter
 
smart street light ppt
smart street light pptsmart street light ppt
smart street light ppt
 
Automatic Emergency Light
Automatic Emergency LightAutomatic Emergency Light
Automatic Emergency Light
 
IRJET- IoT based Smart Energy Meter
IRJET- IoT based Smart Energy MeterIRJET- IoT based Smart Energy Meter
IRJET- IoT based Smart Energy Meter
 
Automatic room light controller with password detection system
Automatic room light controller with password detection systemAutomatic room light controller with password detection system
Automatic room light controller with password detection system
 
automatic railway gate control system using arduino
automatic railway gate control system using arduinoautomatic railway gate control system using arduino
automatic railway gate control system using arduino
 
Burglar alarm ppt
Burglar alarm pptBurglar alarm ppt
Burglar alarm ppt
 
Mobile phone detector pdf
Mobile phone detector pdfMobile phone detector pdf
Mobile phone detector pdf
 
DESIGN OF TEMPERATURE BASED FAN SPEED CONTROL and MONITORING USING ARDUINO
DESIGN OF TEMPERATURE BASED FAN SPEED CONTROL and MONITORING USING ARDUINODESIGN OF TEMPERATURE BASED FAN SPEED CONTROL and MONITORING USING ARDUINO
DESIGN OF TEMPERATURE BASED FAN SPEED CONTROL and MONITORING USING ARDUINO
 
Bi directional visitor counter rewat
Bi directional visitor counter   rewatBi directional visitor counter   rewat
Bi directional visitor counter rewat
 
Home automation using arduino
Home automation using arduinoHome automation using arduino
Home automation using arduino
 

Similar to Automatic room light controller with visible counter

Bidirectional Visitor Counter with Automatic ON-OFF Switch2
Bidirectional Visitor Counter with Automatic ON-OFF Switch2Bidirectional Visitor Counter with Automatic ON-OFF Switch2
Bidirectional Visitor Counter with Automatic ON-OFF Switch2
DIPAN GHOSH
 
summer training report (2)
summer training report (2)summer training report (2)
summer training report (2)
Kavya Gupta
 
Microcontroller
MicrocontrollerMicrocontroller
Microcontroller
Spitiq
 

Similar to Automatic room light controller with visible counter (20)

SIMPLE Frequency METER using AT89c51
SIMPLE Frequency METER using AT89c51 SIMPLE Frequency METER using AT89c51
SIMPLE Frequency METER using AT89c51
 
8051 microcontroller training (2) (sahil gupta 9068557926)
8051 microcontroller training  (2) (sahil gupta   9068557926)8051 microcontroller training  (2) (sahil gupta   9068557926)
8051 microcontroller training (2) (sahil gupta 9068557926)
 
Arduino Programming Basic
Arduino Programming BasicArduino Programming Basic
Arduino Programming Basic
 
m.tech esd lab manual for record
m.tech esd lab manual for recordm.tech esd lab manual for record
m.tech esd lab manual for record
 
report cs
report csreport cs
report cs
 
Basic standard calculator
Basic standard calculatorBasic standard calculator
Basic standard calculator
 
Keypad interfacing 8051 -NANOCDAC
Keypad interfacing 8051 -NANOCDACKeypad interfacing 8051 -NANOCDAC
Keypad interfacing 8051 -NANOCDAC
 
embedded system
embedded systemembedded system
embedded system
 
Akash uid ppt3
Akash uid ppt3Akash uid ppt3
Akash uid ppt3
 
Rig nitc [autosaved] (copy)
Rig nitc [autosaved] (copy)Rig nitc [autosaved] (copy)
Rig nitc [autosaved] (copy)
 
Bidirectional Visitor Counter with Automatic ON-OFF Switch2
Bidirectional Visitor Counter with Automatic ON-OFF Switch2Bidirectional Visitor Counter with Automatic ON-OFF Switch2
Bidirectional Visitor Counter with Automatic ON-OFF Switch2
 
Introduction to embedded system & density based traffic light system
Introduction to embedded system & density based traffic light systemIntroduction to embedded system & density based traffic light system
Introduction to embedded system & density based traffic light system
 
Embedded system
Embedded  systemEmbedded  system
Embedded system
 
Final Presentation
Final PresentationFinal Presentation
Final Presentation
 
summer training report (2)
summer training report (2)summer training report (2)
summer training report (2)
 
8051 microcontroller training (sahil gupta 9068557926)
8051 microcontroller training  (sahil gupta   9068557926)8051 microcontroller training  (sahil gupta   9068557926)
8051 microcontroller training (sahil gupta 9068557926)
 
131080111003 mci
131080111003 mci131080111003 mci
131080111003 mci
 
Password based door locksystem
Password  based door locksystemPassword  based door locksystem
Password based door locksystem
 
Microcontroller
MicrocontrollerMicrocontroller
Microcontroller
 
Presentation
PresentationPresentation
Presentation
 

More from Mafaz Ahmed

More from Mafaz Ahmed (20)

A course in fuzzy systems and control by li xin wang solution manual
A course in fuzzy systems and control by li xin wang solution manualA course in fuzzy systems and control by li xin wang solution manual
A course in fuzzy systems and control by li xin wang solution manual
 
INTERACTIVE FLOOR PROJECTION SYSTEM
INTERACTIVE FLOOR PROJECTION  SYSTEMINTERACTIVE FLOOR PROJECTION  SYSTEM
INTERACTIVE FLOOR PROJECTION SYSTEM
 
Series and parallel operation of power devices
Series and parallel operation of power devicesSeries and parallel operation of power devices
Series and parallel operation of power devices
 
Series and parallel connection of igbt
Series and parallel connection of igbtSeries and parallel connection of igbt
Series and parallel connection of igbt
 
Series and parallel connection of mosfet
Series and parallel connection of mosfetSeries and parallel connection of mosfet
Series and parallel connection of mosfet
 
Electronic Instrumentation and Measurement Solution Manual
Electronic Instrumentation and Measurement Solution ManualElectronic Instrumentation and Measurement Solution Manual
Electronic Instrumentation and Measurement Solution Manual
 
Project loon
Project loonProject loon
Project loon
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
Interoperability among various Generations of Telecom Technologies
Interoperability among various Generations of Telecom TechnologiesInteroperability among various Generations of Telecom Technologies
Interoperability among various Generations of Telecom Technologies
 
Dc motor drive
Dc motor driveDc motor drive
Dc motor drive
 
Energy Crisis, Different Energy Sources and Role of Power Electronics
Energy Crisis, Different Energy Sources and Role of Power ElectronicsEnergy Crisis, Different Energy Sources and Role of Power Electronics
Energy Crisis, Different Energy Sources and Role of Power Electronics
 
RADIO ON RADIO OVER FIBER EFFICIENT FRONTHAULING FOR SMALL CELLS AND MOVING C...
RADIO ON RADIO OVER FIBER EFFICIENT FRONTHAULING FOR SMALL CELLS AND MOVING C...RADIO ON RADIO OVER FIBER EFFICIENT FRONTHAULING FOR SMALL CELLS AND MOVING C...
RADIO ON RADIO OVER FIBER EFFICIENT FRONTHAULING FOR SMALL CELLS AND MOVING C...
 
Temperature Control Fan Using 8051 Microcontroller
Temperature Control Fan Using 8051 MicrocontrollerTemperature Control Fan Using 8051 Microcontroller
Temperature Control Fan Using 8051 Microcontroller
 
Project Management Project
Project Management ProjectProject Management Project
Project Management Project
 
Speed Control of DC Motor
Speed Control of DC MotorSpeed Control of DC Motor
Speed Control of DC Motor
 
Low drift high impedance jfet dc voltmeter
Low drift high impedance jfet dc voltmeterLow drift high impedance jfet dc voltmeter
Low drift high impedance jfet dc voltmeter
 
Real Time Clock Interfacing with FPGA
Real Time Clock Interfacing with FPGAReal Time Clock Interfacing with FPGA
Real Time Clock Interfacing with FPGA
 
Tweety modelling in pro engineering
Tweety modelling in pro engineeringTweety modelling in pro engineering
Tweety modelling in pro engineering
 
Truck modelling in pro engineering
Truck modelling in pro engineeringTruck modelling in pro engineering
Truck modelling in pro engineering
 
Bicycle modelling in pro engineering
Bicycle modelling in pro engineeringBicycle modelling in pro engineering
Bicycle modelling in pro engineering
 

Recently uploaded

Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Lovely Professional University
 

Recently uploaded (20)

Supermarket billing system project report..pdf
Supermarket billing system project report..pdfSupermarket billing system project report..pdf
Supermarket billing system project report..pdf
 
Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdfInstruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
 
Diploma Engineering Drawing Qp-2024 Ece .pdf
Diploma Engineering Drawing Qp-2024 Ece .pdfDiploma Engineering Drawing Qp-2024 Ece .pdf
Diploma Engineering Drawing Qp-2024 Ece .pdf
 
Introduction to Heat Exchangers: Principle, Types and Applications
Introduction to Heat Exchangers: Principle, Types and ApplicationsIntroduction to Heat Exchangers: Principle, Types and Applications
Introduction to Heat Exchangers: Principle, Types and Applications
 
Electrostatic field in a coaxial transmission line
Electrostatic field in a coaxial transmission lineElectrostatic field in a coaxial transmission line
Electrostatic field in a coaxial transmission line
 
Piping and instrumentation diagram p.pdf
Piping and instrumentation diagram p.pdfPiping and instrumentation diagram p.pdf
Piping and instrumentation diagram p.pdf
 
Operating System chapter 9 (Virtual Memory)
Operating System chapter 9 (Virtual Memory)Operating System chapter 9 (Virtual Memory)
Operating System chapter 9 (Virtual Memory)
 
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
Activity Planning: Objectives, Project Schedule, Network Planning Model. Time...
 
Research Methodolgy & Intellectual Property Rights Series 2
Research Methodolgy & Intellectual Property Rights Series 2Research Methodolgy & Intellectual Property Rights Series 2
Research Methodolgy & Intellectual Property Rights Series 2
 
Introduction to Arduino Programming: Features of Arduino
Introduction to Arduino Programming: Features of ArduinoIntroduction to Arduino Programming: Features of Arduino
Introduction to Arduino Programming: Features of Arduino
 
Theory for How to calculation capacitor bank
Theory for How to calculation capacitor bankTheory for How to calculation capacitor bank
Theory for How to calculation capacitor bank
 
How to Design and spec harmonic filter.pdf
How to Design and spec harmonic filter.pdfHow to Design and spec harmonic filter.pdf
How to Design and spec harmonic filter.pdf
 
Filters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility ApplicationsFilters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility Applications
 
E-Commerce Shopping using MERN Stack where different modules are present
E-Commerce Shopping using MERN Stack where different modules are presentE-Commerce Shopping using MERN Stack where different modules are present
E-Commerce Shopping using MERN Stack where different modules are present
 
Fabrication Of Automatic Star Delta Starter Using Relay And GSM Module By Utk...
Fabrication Of Automatic Star Delta Starter Using Relay And GSM Module By Utk...Fabrication Of Automatic Star Delta Starter Using Relay And GSM Module By Utk...
Fabrication Of Automatic Star Delta Starter Using Relay And GSM Module By Utk...
 
Artificial Intelligence Bayesian Reasoning
Artificial Intelligence Bayesian ReasoningArtificial Intelligence Bayesian Reasoning
Artificial Intelligence Bayesian Reasoning
 
Multivibrator and its types defination and usges.pptx
Multivibrator and its types defination and usges.pptxMultivibrator and its types defination and usges.pptx
Multivibrator and its types defination and usges.pptx
 
The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...
The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...
The battle for RAG, explore the pros and cons of using KnowledgeGraphs and Ve...
 
Insurance management system project report.pdf
Insurance management system project report.pdfInsurance management system project report.pdf
Insurance management system project report.pdf
 
Online book store management system project.pdf
Online book store management system project.pdfOnline book store management system project.pdf
Online book store management system project.pdf
 

Automatic room light controller with visible counter

  • 1. AVR PROJECT REPORT AUTOMATIC ROOM LIGHT CONTROLLER WITH BIDIRECTIONAL VISITOR COUNTER Submitted by:  Mafaz Ahmed 1882-F12
  • 2. Abstract: This Project “Automatic Room Light Controller with Bidirectional Visitor Counter” is reliable that takes over the task of controlling the room lights as well us counting number of persons/visitors in the room very accurately. When somebody enters into the room then the counter is incremented by one and the light in the room will be switched ON and when any one leaves the room then the counter is decremented by one. The light will be only switched OFF until all the persons in the room go out. The total number of persons inside the room is also displayed on the LCD. Whenever a person enter a room, he or she have to enter a password using a keypad interfaced with the microcontroller. Only those enter the room who know the password. INTRODUCTION: The objective of this project is to make a controller based model to count number of persons visiting particular room and accordingly light up the room. Here we can use sensor and can know present number of persons. In today’s world, there is a continuous need for automatic appliances. With the increase in standard of living, there is a sense of urgency for developing circuits that would ease the complexity of life. Also if at all one wants to know the number of people present in room so as not to have congestion, this circuit proves to be helpful. Block Diagram: A T M E G A 1 6 ENTER SENSOR EXIT SENSOR KEYPAD LCD DOOR RELAY FAN Control LIGHT CONTOL
  • 3. LIST OF COMPONENTS:  Microcontroller – ATMEGA16  Infrared Sensor  Preset – 4.7K  Reset button switch  Diode – IN4148  Transistor – TIP41  LCD 16x2  Keypad  LED’s  IC-LM324 Microcontroller ATMEGA16: An Atmel ATmega16 microcontroller in a 40 pin DIP package. It has 16 KB programmable flash memory, static RAM of 1 KB and EEPROM of 512 Bytes. There are 32 I/O (input/output) lines which are divided into four 8-bit ports designated as PORTA, PORTB, PORTC and PORTD. It has various in-built peripherals like USART, ADC, ATmega16 has various in-built peripherals alternative task related to in-built peripherals.
  • 4. LCD LCD (Liquid Crystal Display) screen is an electronic display module and find a wide range of applications. A 16x2 LCD display is very basic module and is very commonly used in various devices and circuits. These modules are preferred over seven segments and other multi segment LEDs. The reasons being: LCDs are economical; easily programmable; have no limitation of displaying special & even custom characters (unlike in seven segments), animations and so on. A 16x2 LCD means it can display 16 characters per line and there are 2 such lines. In this LCD each character is displayed in 5x7 pixel matrix. This LCD has two registers, namely, Command and Data. The command register stores the command instructions given to the LCD. A command is an instruction given to LCD to do a predefined task like initializing it, clearing its screen, setting the cursor position, controlling display etc. The data register stores the data to be displayed on the LCD. The data is the ASCII value of the character to be displayed on the LCD. LM324: LM324 is a 14pin IC consisting of four independent operational amplifiers (op-amps) compensated in a single package. Op-amps are high gainelectronic voltage amplifier with differential input and, usually, a single-ended output. The output voltage is many times higher than the voltage difference between input terminals of an op-amp.
  • 5. IR Sensor-: This is the most fundamental type of sensor available in the market. The basic concept is simple. There is an emitter which emits infrared (IR) rays. These IR rays are detected by a detector. This concept is used to make proximity sensor (to check if something obstructs the path or not, etc), contrast sensors (used to detect contrast difference between black and white, like in line follower robots), etc. TIP41: The Bipolar Power Transistor is designed for general purpose power amplifier and switching applications. The TIP41, TIP41A, TIP41B, TIP41C (NPN); and TIP42, TIP42A, TIP42B, TIP42C (PNP) are complementary devices.  Collector-Emitter Saturation Voltage - VCE(sat) = 1.5 V<subdc< sub="" style="font-family: Verdana, Arial, He serif;"> (Max) @ IC = 6.0 Adc</subdc<>  Collector-Emitter Sustaining Voltage -VCEO(sus) = 60 Vdc (min) - TIP41A, TIP42A =80 Vdc (min) - TIP41B, TIP42B =100 Vdc (min) - TIP41C, TIP42C  High Current Gain Bandwidth Product fT = 3 MHz (min) @ IC = 500 mAdc  Compact TO-220 AB Package  These are Pb-Free Packages
  • 6. Circuit: CODE: #define F_CPU 8000000UL // Define the crystal frequency #include <avr/io.h> // Standard header file for input and output functionality #include <util/delay.h> // For delay function #include <avr/interrupt.h>
  • 7. #define LCD_PRT PORTA //LCD DATA PORT #define LCD_DDR DDRA //LCD DATA DDR #define LCD_PIN PINA//LCD DATA PIN #define LCD_RS 0 //LCD RS #define LCD_RW 1 //LCD RW #define LCD_EN 2 //LCD EN //Enable/disable pin for LCD #define KEY_PRT PORTC #define KEY_DDR DDRC #define KEY_PIN PINC char ROW=0, COL=0; char keypad[4][3]= {'1','2','3', '4','5','6', '7','8','9', '*','0','#' }; unsigned char cnt=0; ISR (TIMER2_OVF_vect) {if(cnt==0){OCR2 =255;} if(cnt>=1){OCR2 =191;} if(cnt>=3){OCR2=127;} if(cnt>=5){OCR2=0;} } void lcdcmd(unsigned char cmnd) { // LCD command function LCD_PRT = (LCD_PRT & 0x0F) | (cmnd & 0xF0); LCD_PRT &= ~ (1<<LCD_RS); //RS = 0 for command LCD_PRT &= ~ (1<<LCD_RW) ; //RW = 0 for write LCD_PRT |= (1<<LCD_EN); //EN = 1 for H-to-L _delay_us (50) ; //wait to make EN wider LCD_PRT &= ~ (1<<LCD_EN); //EN = 0 for H-to-L _delay_us(50) ; //wait LCD_PRT = (LCD_PRT & 0x0F) | (cmnd << 4); LCD_PRT |= (1<<LCD_EN); //EN = 1 for H-to-L _delay_us (1) ; //wait to make EN wider LCD_PRT &= ~ (1<<LCD_EN); } //EN = 0 for H-to-L void lcddata(unsigned char data) // LCD Data function { LCD_PRT = (LCD_PRT & 0X0F) | (data & 0XF0); LCD_PRT |= (1<<LCD_RS); //RS = 1 for data LCD_PRT &= ~ (1<<LCD_RW) ; //RW = 0 for write LCD_PRT |= (1<<LCD_EN); //EN = 1 for H-to-L
  • 8. _delay_us(50) ; LCD_PRT &= ~ (1<<LCD_EN) ; LCD_PRT = (LCD_PRT & 0x0F) | (data<<4); LCD_PRT |= (1<<LCD_EN); _delay_us(50); LCD_PRT &= ~ (1<<LCD_EN); } void lcd_init() { LCD_DDR = 0xFF; LCD_PRT &=~(1<<LCD_EN); _delay_us(2000); lcdcmd(0x33); _delay_us (100); lcdcmd(0x32); _delay_us (100); lcdcmd(0x28); _delay_us (100); lcdcmd(0x0E); _delay_us(100); lcdcmd(0x01); _delay_us(2000); lcdcmd(0x06); _delay_us(100); } void lcd_gotoxy (unsigned char x, unsigned char y) { //Table 12-5 unsigned char firstCharAdr[]={0x80,0xC0,0x94,0xD4}; lcdcmd(firstCharAdr[ y-1]+x-1); _delay_us(100) ; } void lcd_string(unsigned char *str) //function to show string on LCD { unsigned char i = 0; while (str[ i] !=0) {lcddata(str[ i] ); i++; } } //look up table for keypad function
  • 9. char key_pad() // key pad function { while(1) { KEY_PRT=0x7E; //MAKE FIRST ROW IN KEYPAD TO ZERO // MAKE ALL COL'S AS HIGH if((KEY_PIN&0x10)==0){while((KEY_PIN&0x10)== 0);ROW=1;COL=1;break;} if((KEY_PIN&0x20)==0){while((KEY_PIN&0x20)== 0);ROW=1;COL=2;break;} if((KEY_PIN&0x40)==0){while((KEY_PIN&0x40)== 0);ROW=1;COL=3;break;} KEY_PRT=0x7D; //MAKE SECOND ROW IN KEYPAD TO ZERO // MAKE ALL COL'S AS HIGH if((KEY_PIN&0x10)==0){while((KEY_PIN&0x10)== 0);ROW=2;COL=1;break;} if((KEY_PIN&0x20)==0){while((KEY_PIN&0x20)== 0);ROW=2;COL=2;break;} if((KEY_PIN&0x40)==0){while((KEY_PIN&0x40)== 0);ROW=2;COL=3;break;} KEY_PRT=0x7B; //MAKE THIRD ROW IN KEYPAD TO ZERO // MAKE ALL COL'S AS HIGH if((KEY_PIN&0x10)==0){while((KEY_PIN&0x10)== 0);ROW=3;COL=1;break;} if((KEY_PIN&0x20)==0){while((KEY_PIN&0x20)== 0);ROW=3;COL=2;break;} if((KEY_PIN&0x40)==0){while((KEY_PIN&0x40)== 0);ROW=3;COL=3;break;} KEY_PRT=0x77; //MAKE 4TH ROW IN KEYPAD TO ZERO // MAKE ALL COL'S AS HIGH if((KEY_PIN&0x10)==0){while((KEY_PIN&0x10)== 0);ROW=4;COL=1;break;} if((KEY_PIN&0x20)==0){while((KEY_PIN&0x20)== 0);ROW=4;COL=2;break;}
  • 10. if((KEY_PIN&0x40)==0){while((KEY_PIN&0x40)== 0);ROW=4;COL=3;break;} } return keypad[ROW-1][COL-1]; } unsigned char ps[]="ENTER PASSWARD"; unsigned char un[]="UNLOCKED"; unsigned char lo[]="LOCKED"; unsigned char wr[]="WRONG PASSWARD"; unsigned char ea[]="ENTER AGAIN"; unsigned char passward[]={'4','6','2','2'}; unsigned char user[4]; unsigned char d; void enter(){lcd_init(); lcd_gotoxy(2,1); lcd_string(ps); lcdcmd(0xC6); for(d=0;d<4;d++) { user[d]=key_pad(); lcddata(user[d]);} _delay_ms(100); if((user[0]==passward[0])&&(user[1]==passward[1])&&(user[2]==passward[2])& &(user[3]==passward[3])) { lcd_init(); lcd_gotoxy(5,1); lcd_string("WELCOME"); PORTB|=(1<<2); while(1){if(PINB & 0x02){cnt++;PORTB&=~(1<<2);if(cnt>0){PORTB|=(1<<3);}_delay_ms(200);bre ak;}}} else {lcd_init(); lcd_gotoxy(3,1); lcd_string(wr); _delay_ms(500);} } void exit() {PORTB|=(1<<2); while(1){if(PINB & 0x01){cnt--; PORTB&=~(1<<2);lcd_init();lcd_gotoxy(5,1);lcd_string("GOOD BY");if(cnt<=0)PORTB&=~(1<<3); _delay_ms(1000);while(PINB & 0x01);break;}
  • 11. } } unsigned char count=0; int main(void) //main function { DDRD |= (1<<7); //PB3 as output OCR2 = 255; TCCR2 = 0x76;; TIMSK |= (1<<TOIE2) ; sei( ); DDRB=0x0C; // PB 0,1 input and PB.2 ,PB.3 KEY_DDR=0x0F; while(1) { lcd_init(); lcd_gotoxy(5,1); lcd_string("Count="); count=cnt&0x0F; count=count|0x30; lcddata(count); while(1){if(PINB & 0x01){enter();break;}if(PINB & 0x02){exit();break;}} //while(1){if(PINB & 0x01){enter();break;}if(PINB & 0x02){exit();break;}} _delay_ms(100); } return 0;}
  • 12. PCB CIRCUIT DESIGN: CONCLUSION: Hereby we come to the end of our project “AUTOMATIC ROOM LIGHT CONTROLLER WITH BIDIRECTIONL VISITOR COUNTER”.  Application of this project  For counting purposes  For automatic room light control
  • 13.  Advantages of this project  Low cost  Easy to use  Implement in single door  Future Expansion  By using this circuit and proper power supply we can implement various applications such as fans, tube lights, etc.  By modifying this circuit and using two relays we can achieve a task of opening and closing the door Reference:  . http://www.engineersgarage.com/electronic-components/lm324n-datasheet  http://www.engineersgarage.com/electronic-components/atmega16- microcontroller