You are on page 1of 16

ADVANCE ELEVATOR SYSTEM

GROUP MEMBERS:

Electrical Engineering Department


Name Roll No.
Ayesha Mudassir Rizvi EE-086
Shehzil Zehra EE-087
Syeda Ariba Shahid EE-089
Syeda Aniqa Rizvi EE-091
Rahima Haroon EE-095

SUBMITTED TO:
SIR SHARIQ

1
TABLE OF CONTENTS

TOPICS PG#

INTRODUCTION 3

COMPONENTS 3

DESCRIPTION 3-6

CIRCUIT DIAGRAM 7

Construction 8

WORKING 8-9

CODE 9-15

EXPERIENCE 16

CONCLUSION 16

2
INTRODUCTION

This is an advance elevator system which is designed to continuously monitor the load and
temperature inside the elevator utilizing load cell sensor and Temperature sensor DHT11, Infrared
sensor has been used to detect a person’s presence at the door of the elevator and open it. In
addition, it also detects fire if present using Flame sensor. If fire is detected or load exceeds the
threshold, system alerts by raising an alarm. DC fan starts running when the temperature surpasses
the limit.

COMPONENTS

 Arduino UNO
 Flame Sensor
 LEDs
 Buzzers
 Resistors
 Jumper wires
 Potentiometer
 DHT11 sensor
 DC Fan
 2n2222 transistor
 16 x 2 LCDs
 Breadboards
 IR module
 Load cell
 HX711

DESCRIPTION:

ARDUINO UNO:

Arduino is a small board, fully assembled with an AVR microcontroller. It is well suited for hacking
and interacting with your environment. Arduino boards contain a multichannel, 10-bit analog to
digital converter. This means that it will map input voltages between 0 and the operating voltage(5V
or 3.3V) into integer values between 0 and 1023.

LCD:

LCD (Liquid Crystal Display) screen is an electronic display module.

FLAME SENSOR:

3
A flame detector is a sensor designed to detect and respond to the presence of a flame or fire. The
response to a detected flame is an alarm. Pin configuration of flame sensor is shown below in figure
no. 1.

Fig.No.1 Pin configuration of Flame sensor

BUZZER:

A buzzer or beeper is an audio signaling device which may be mechanical, electromechanical,


or piezoelectric (piezo for short).

DC FAN:

The direct current fans, or DC fans, are powered with a potential of fixed value such as the voltage of
a battery. Typical voltage values for DC fans are, 5V, 12V, 24V and 48V. They consume significantly
less power than AC fans. Due to low power used as well as the application of sophisticated electronic
switching, the electromagnetic interference of DC fans is minimal. Sensitive electronic devices often
use DC fans to prevent electromagnetic interference.

DHT11 TEMPERATURE AND HUMIDITY SENSOR:

The DHT11 is a commonly used Temperature and humidity sensor. The sensor comes with a
dedicated NTC to measure temperature and an 8-bit microcontroller to output the values of
temperature and humidity as serial data. The sensor is also factory calibrated and hence easy to
interface with other microcontrollers. The sensor can measure temperature from 0°C to 50°C and
humidity from 20% to 90% with an accuracy of ±1°C and ±1%. . Pin configuration is shown below in
figure no 2.

Fig. No.2 Pin configuration of DHT11

4
2N2222 TRANSISTOR:

The 2N2222 is a common NPN bipolar junction transistor(BJT) used for general purpose low-power
amplifying or switching applications. It is designed for low to medium current, low power, medium
voltage, and can operate at moderately high speeds. Pin configuration is shown below in figure no 3.

Fig. No.3 Pin configuration of 2N2222 TRANSISTOR

IR SENSOR:

An infrared sensor is an electronic device that emits IR rays in order to sense some aspects of the
surroundings. An IR sensor can measure the heat of an object as well as detect the motion. These
types of sensors measure only infrared radiation, rather than emitting it that is called as a passive IR
sensor. The emitter is simply an IR LED (Light Emitting Diode) and the detector is simply an IR
photodiode which is sensitive to IR light of the same wavelength as that emitted by the IR LED.
When IR light falls on the photodiode, the resistances and these output voltages, change in
proportion to the magnitude of the IR light received. . Pin configuration is shown below in figure no
4.

Fig.No.4 Pin configuration of IR sensor

5
HX711:

HX711 is a precision 24-bit analog-to-digital converter (ADC) designed for weigh scales and industrial
control applications. . Pin configuration is shown below in figure no 5.

Fig.No.5 Pin configuration of HX711

LOAD CELL:

A load cell is a type of force gauge. It consists of a transducer that is used to create an electrical
signal whose magnitude is directly proportional to the force being measured.

Fig.No.6 Load Cell

6
CIRCUIT DIAGRAM:

Fig.No.7 flame sensor and Dc fan

Fig.No.8 IR sensors and Load Cell

7
CONSTRUCTION:
The connections of flame sensor and temperature sensor DHT11 are shown in figure no.7. The
temperature sensor DHT11 is used for controlling the operation of DC fan, the ground wire of fan is
connected to the collector terminal of transistor 2N2222A and the vcc (red wire) is connected to the
positive terminal of the 9 volt battery, base of the transistor is connected with the 10th pin of
Arduino and emitter of the transistor is connected to the negative terminal of the 9 volt batery.
Output of flame sensor is connected to the 7th pin of Arduino. LCD pins D4 to D7 are connected to
5th,4th,3rd,and 2nd digital pins of Arduino. RS and E are connected to the 12th and 11th digital pins of
Arduino. The data pin of DHT11 is connected to the 13th pin of Arduino. The buzzer consists of two
pins, negative leg is connected to the common ground and positive leg is connected with the 9th pin
of Arduino. The ground of DHT11, ground of flame sensor, ground of Arduino,RW,-L and the VSS of
LCD are connected with the common ground. A led is connected to the 8th pin of Arduino along with
a 220 ohm resistor.Potentiometer of 10k is used to control the display of LCD. One pin is connected
with common vcc and other with common ground, center pin is connected with VEE of LCD. Vdd and
+L of LCD are connected to the commo vcc where 5volts are provided from Arduino.

In figure no. 8 the connections of IR sensors and the load cell along with Hx711 are shown.
The pins of load cell are connected with the HX711 using four wires. These four wires are Red,
Black, White and Green. Below are the connection details:
 RED Wire is connected to E+
 BLACK Wire is connected to E-
 WHITE Wire is connected to A-
 GREEN Wire is connected to A+
Data pin and sck pin of hx711 is connected to the 4th and 3rd digital pin of Arduino respectively. Data
pins of LCD D4 to D7 are connected with the 8th,9th,10th and 11th digital pins of Arduino, E and RS are
connected with 12th and 13th pin of aurdino, +L is connected with the common VCC and –L is
connected to common ground. The buzzer is also used, it has two pins, one is connected with the 6th
pin Arduino and other is grounded. LEDs are connected to the 2nd digital pin of Arduino along with
220 ohm resistors.VEE of LCD is connected to common vcc trough a resistor of 1.5k ohms. RW of LCD
is grounded. The analogue pin Ao and A5 of Arduino is connected with the output pin of IR sensor1
and IRsensor2.

WORKING:
This advanced elevator system is based upon four sensors. Two IR sensors, an incremental and a
decremental sensor, a temperature (DHT 11) sensor and a flame sensor. In addition, it also has a
load cell (HX711).
The systematic functionality of the elevator starts whenever the IR sensor detects a presence, the
LED illuminates acting as a gate and a count starts incrementing as the presence is multiplied and it
decrements as soon as the presence vacates. The count is shown via a LCD and all the functionality is
happening in real-time.
The load is also kept in check via a load cell which is calibrated to a limit of 1 pound. Now the
electrical signals generated by Load cell is in few millivolts, so they need to be further amplify by
some amplifier and hence HX711 Weighing Sensor comes into picture. HX711 Weighing Sensor
Module has HX711 chip, which is a 24 high precision A/D converter (Analog to digital converter).
HX711 has two analog input channels and we can get gain up to128 by programming these
channels. So HX711 module amplifies the low electric output of Load cells and then this amplified &
digitally converted signal is fed into the Arduino to derive the weight. As soon as the weight on the
load cell exceeds the limit, a buzzer starts sounding alarming about the situation as a warning.

8
In this project we are using an IR based flame sensor (which is an active low sensor). Flame sensor
module consists of a photodiode (IR receiver), resistor, capacitor, potentiometer, and LM393
comparator in an integrated circuit. Working voltage is between 3.3v and 5v DC, with a digital
output. Logic low on the output indicates presence of flame or fire. Logic high on output indicates
absence of flame or fire. When fire burns it emits a small amount of Infra-red light, this light will be
received by the Photodiode (IR receiver) on the sensor module. Then we use an Op-Amp to check for
change in voltage across the IR Receiver, so that if a fire is detected the output pin (DO) will give
0V(LOW) and if there is no fire the output pin will be 5V(HIGH).

The temperature sensor is calibrated via a code through Arduino in such a way that at different
temperatures the fan speed increases or decreases. If the temperature is at 26 degree or less, the
fan does not work. As the temperature rises to 27 degree Celsius the fan speed is at 20%, the
stability of the temperature matters as it increases a degree more the fan speed is at 50%, another
rise in temperature increases the fan speed to 60%. When the temperature becomes unbearable
after or at 30 degree Celsius the fan speed maximizes to 100% to try to lower the temperature.

CODE:

#include <HX711.h>
#include<LiquidCrystal.h>
#include "HX711.h"
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
HX711 scale;

#define in 14
#define out 19
#define led 2
#define DOUT 4
#define CLK 3
#define buzzer 6
int count = 0;
float calibration_factor = 60050;
float reading=0.00;

void PLUS()
{
reading=scale.get_units();

if(reading>= 1.0)
{
tone(buzzer,1000);
lcd.clear();
lcd.print("Warning! ");
lcd.setCursor(0, 1);
lcd.print("Overload");

9
delay(3000);

}
else
{
noTone(buzzer);
}

//***************************************************************
void IN()
{
count++;

if (count >= 10)


{
count = 10;
}

lcd.clear();
lcd.print("Person In Room:");
lcd.setCursor(0, 1);
lcd.print(count);

//***************************************************************
void OUT()
{
count--;

if (count <= 0)
{
count = 0;
}

lcd.clear();
lcd.print("Person In Room:");
lcd.setCursor(0, 1);
lcd.print(count);

//***************************************************************
void setup()
{
lcd.begin(16, 2);

10
lcd.print("Visitor Counter");
lcd.setCursor(0,1);
lcd.print("& Overload Alert");
delay(3000);

pinMode(in, INPUT); //for some cctry. use INPUT_PULLUP


pinMode(out, INPUT); //for some cctry. use INPUT_PULLUP
pinMode(led, OUTPUT);
pinMode(buzzer, OUTPUT);

lcd.clear();
lcd.print("Person In Room:");
lcd.setCursor(0, 1);
lcd.print(count);

//*************************************************************

Serial.begin(9600);
Serial.println("HX711 weighing program");

scale.begin(DOUT, CLK);
scale.set_scale(calibration_factor);
scale.tare(); //Reset the scale to 0

long zero_factor = scale.read_average(); //Get a baseline reading


Serial.print("Zero factor: "); //This can be used to remove the need to tare the scale. Useful in
permanent scale projects.
Serial.println(zero_factor);

//***************************************************************
void loop()
{
float reading=scale.get_units() ;
byte lastIn;
byte lastOut;
byte state1;
byte state2;
static unsigned long previousMillis = 0;

//************************
//every 500ms sample the sensors
if (millis() - previousMillis >= 500)
{
//reset timing
previousMillis = millis();

//************************

11
state1 = digitalRead(in);
state2 = digitalRead(out);

//has the state changed?


if (lastIn != state1 && state1==HIGH )
{
//update to new state
lastIn = state1;

IN();

//************************

//has the state changed?


if (lastOut != state2 && state2==HIGH)
{
//update to new state
lastOut = state2;

OUT();

//************************

if(state1==LOW || state2==LOW )
{
digitalWrite(led,HIGH);

else
{
digitalWrite(led, LOW);
}

if(reading>0.000)
{

PLUS();

}//END of if (millis() - previousMillis >= 500)

12
Serial.print("Reading: ");
Serial.print(scale.get_units(), 3);
Serial.print(" lbs"); //Change this to kg and re-adjust the calibration factor if you follow SI units like
a sane person
Serial.print(" calibration_factor: ");
Serial.print(calibration_factor);
Serial.println();

} //END of loop()

#include<dht.h> // Including library for dht


#include<LiquidCrystal.h>
LiquidCrystal lcd(12,11, 5, 4, 3, 2);

#define dhtpin 13
dht DHT;

#define pwm 10

byte degree[8] =
{
0b00011,
0b00011,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};
int buzzer =9;
int LED = 8;
int flame_sensor = 7;
int flame_detected;
void setup()
{

pinMode(buzzer, OUTPUT);
pinMode(LED, OUTPUT);
pinMode(flame_sensor, INPUT);

Serial.begin(9600);
Serial.println(F("DHT11 test!"));
lcd.begin(16, 2);
lcd.createChar(1, degree);
lcd.clear();
lcd.print(" Fan Speed ");
lcd.setCursor(0,1);

13
lcd.print(" Controlling ");
delay(2000);
analogWrite(pwm, 255);
lcd.clear();
delay(2000);

void loop()
{
flame_detected = digitalRead(flame_sensor);

if (flame_detected == 0)
{
Serial.println("Flame detected!Run!");
lcd.setCursor(0,0);
lcd.print("Flame detected...! Run!");
digitalWrite(buzzer, HIGH);
digitalWrite(LED, HIGH);
delay(200);
digitalWrite(LED, LOW);
delay(200);
}
else
{
Serial.println("No flame detected");
lcd.print("No flame detected");
digitalWrite(buzzer, LOW);
digitalWrite(LED, LOW);
}
delay(1000);

DHT.read11(dhtpin);
int temp=DHT.temperature;
lcd.setCursor(0,0);
lcd.print("Temperature:");
lcd.print(temp); // Printing temperature on LCD
lcd.write(1);
lcd.print("C");
lcd.setCursor(0,1);
Serial.println(temp);
if(temp <26 )
{
analogWrite(9,0);
lcd.print("Fan OFF ");
Serial.println("Fan OFF ");
delay(100);
}

else if(temp==27)

14
{
analogWrite(pwm, 51);
lcd.print("Fan Speed: 20% ");
Serial.println("Fan Speed: 20% ");
delay(100);
}

else if(temp==28)
{
analogWrite(pwm, 102);
lcd.print("Fan Speed: 40% ");
Serial.println("Fan Speed: 40% ");
delay(100);
}

else if(temp==28)
{
analogWrite(pwm, 153);
lcd.print("Fan Speed: 50% ");
Serial.println("Fan Speed: 50% ");
delay(100);
}

else if(temp==29)
{
analogWrite(pwm, 204);
lcd.print("Fan Speed: 60% ");
Serial.println("Fan Speed: 60% ");
delay(100);
}
else if(temp>=30)
{
analogWrite(pwm, 255);
lcd.print("Fan Speed: 100% ");
Serial.println("Fan Speed: 100% ");
delay(100);
}
delay(3000);

15
EXPERIENCE:

This was a highly innovative and informative project. We learned a lot about different types of sensors
and their working. However, we faced some trouble in the execution and calibration of load cell. It was
fixed by mounting it in the correct manner which is the base should be fixed and the upper surface be
movable.
In order to complete this project we worked backwards to break down the work that would need to be
done at each stage.

Conclusion:

In Earlier days the size of buildings was small and the elevators were rarely seen. But nowadays with
the rise in construction of skyscrapers, there is a greater need of Elevators. As the numbers of floors
increases, the elevator needs to be capable of handling the weight and lift the load to the greater
height. This system is outlined to continuously screen the load and temperature inside the elevator
utilizing sensors DHT11, IR, and Flame Sensor. The IR sensors detects the presence and screens it on
the LCD. Then the load cell checks the limit of the load. In case if it surpasses it sounds an alarm. The
DC fans operates on different temperature with different speed. Lastly if there is an event of fire
then a warning is displayed from the flame sensor.

16

You might also like