arduino managed module for automatic ventillation of vehicle interiors

40
AN INDUSTRY ORIENTED MAJOR PROJECT REPORT On ARDUINO MANAGED MODULE FOR AUTOMATIC VENTILATION OF VEHICLE INTERIORS Submitted in partial fulfillment of the requirements for the award of the degree of BACHELOR OF TECHNOLOGY In Electronics & Communication Engineering By CH.SAI PRAVEEN KUMAR (11891A0406) CH. PRAVEEN (11891A0407) D.SAI VAMSEE MOHAN (11891A0408) Under the guidance of Mr.N.Dinesh Kumar M.Tech,(Ph.D.) DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING VIGNAN INSTITUTE OF TECHNOLOGY AND SCIENCE (Affiliated to Jawaharlal Nehru Technological University) Vignan Hills, Deshmukhi village, Pochampally Mandal, Nalgonda Dt. Telangana 508284 08685226600 08685226625 2011-15

description

major project

Transcript of arduino managed module for automatic ventillation of vehicle interiors

  • AN INDUSTRY ORIENTED MAJOR PROJECT REPORT

    On

    ARDUINO MANAGED MODULE FOR AUTOMATIC

    VENTILATION OF VEHICLE INTERIORS

    Submitted in partial fulfillment of the requirements

    for the award of the degree of

    BACHELOR OF TECHNOLOGY

    In

    Electronics & Communication Engineering

    By

    CH.SAI PRAVEEN KUMAR (11891A0406)

    CH. PRAVEEN (11891A0407)

    D.SAI VAMSEE MOHAN (11891A0408)

    Under the guidance of

    Mr.N.Dinesh Kumar

    M.Tech,(Ph.D.)

    DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING

    VIGNAN INSTITUTE OF TECHNOLOGY AND SCIENCE (Affiliated to Jawaharlal Nehru Technological University)

    Vignan Hills, Deshmukhi village, Pochampally Mandal, Nalgonda Dt.

    Telangana 508284

    08685226600 08685226625

    2011-15

  • DECLARATION

    We hereby declare that project entitled ARDUINO MANAGED MODULE FOR

    AUTOMATIC VENTILATION OF VEHICLE INTERIORS is bonafide work duly completed

    by me/us. It does not contain any part of the project or thesis submitted by any other candidate to

    this or any other institute of the university.

    All such materials that have been obtained from other sources have been duly acknowledged.

    CH.SAIPRAVEEN KUMAR

    (11891A0406 )

    CH.PRAVEEN

    (11891A0407)

    D.SAI VAMSEE MOHAN

    (11891A0408)

  • VIGNAN INSTITUTE OF TECHNOLOGY AND SCIENCE

    DEPARTMENT OF ELECTRONICS & COMMUNICATION ENGINEERING

    CERTIFICATE

    This is to certify that the thesis work titled ARDUINO MANAGED MODULE FOR

    AUTOMATIC VENTILATION OF VEHICLE INTERIORS submitted by CH.SAI

    PRAVEEN KUMAR (11891A0406), CH.PRAVEEN (11891A0407), D.SAI VAMSE

    MOHAN(11891A0408) in partial fulfillment of the requirements for the award of the degree of

    Bachelor of Technology in Electronics & Communication Engineering to the Vignan Institute

    Of Technology And Science, Deshmukhi is a record of bonafide work carried out by him/her under

    my guidance and supervision.

    The results embodied in this project report have not been submitted in any university for the award

    of any degree and the results are achieved satisfactorily.

    Guide: Mr. N.Dinesh Kumar

    M.Tech,(Ph.D.)

    (External Examinar)

  • ACKNOWLEDGEMENT

    We would like to extend our deepest gratitude to our CEO Mr. Shravan Boyapati and principal

    Dr.M.Venkata Ramana for his patronage and encouragement.

    We also take this opportunity to express our heartfelt thanks to the our guide and Head of

    Department Mr.N.Dinesh Kumar for his valuable insights and support.

    This project has been a great learning experience for our team members for we found the work

    very challenging and interesting ,and we experienced as much joy in seeing it to completion as we

    had during the design stages.

    It goes with out saying that the project would not have seen the light of the day without the constant

    guidance and technical knowhow provided by our guide/mentor Mr.N.Dinesh

    Kumar(M.Tech,(Ph.D).His willingness to motivate us contributed tremendously to our project.

    Finally we would like to thank all the teaching and non teaching staff, friends and family for

    obliging us with their help and guidance whenever sought.

  • ABSTARCT

    In order to mitigate overheated interior of a vehicle parked in the hot summer sun and

    thereby to make the entering into the vehicle more comfortable, arduino managed module for

    automatic ventilation of vehicle interior is made. The module is implemented using a

    microcontroller as a central logical unit and a series of sensors which provide sufficient data to

    ensure functional, but also efficient, reliable and safe ventilation. The ventilation process is

    performed by opening vehicle windows slightly, which enables air to circulate.Microcontroller

    controls the position of the windows autonomously and independently of the drivers presence,

    following predefined algorithm that uses sensors data obtained from the vehicles surroundings.

    Besides temperature, the most important factors to ensure quality implementation of ventilation

    are detected movements around the vehicle, the presence of precipitation and other.

  • TABLE OF CONTENTS

    Topic Page no.

    Acknowledgement ii

    Abstract.. iii

    Table of contents iv

    List of figures vi

    1. Introduction.. 1

    1.1 Overview 1

    1.2 Required components.. . 1

    2. Literature Survey. 2

    3. Block Diagram. 3

    3.1 Introduction on Arduino Uno .. 3

    3.2 ARDUINO UNO. 4

    3.3 Pin diagram of ATmega328.... 7

    3.4 Temperature sensor 8

    3.5 Raindrops sensor... 10

    3.6 IR sensor 12

    3.7 H bridge...... 14

    3.8 DC motor 15

    4. Flow chart.. 16

    5.Hardware and Soft ware implimentation.. 18

    5.1Interfacing temperature sensor to arduino.. 18

    5.2 Interfacing rain drops sensor to arduino. 18

  • 5.3Interfacing IR sensor to arduino.. 19

    5.4 Interfacing dc motor to arduino. 20

    5.5 Software implementation... 20

    6. Results 22

    7. Conclusion ... 25

    7.1 Advantages. 25

    7.2 Disadvantages... 25

    7.3 Applications.. 25

    8. Biblography. 26

    9. Appendix. 27

  • LIST OF FIGURES

    Fig 3.1 Block Diagram. 3

    Fig 3.2 Arduino Uno board. 4

    Fig 3.3 Pin diagram of Atmega328. 7

    Fig 3.4 Temperature sensor . 8

    Fig 3.5 Rain drops sensor. 10

    Fig 3.6 IR sensor 12

    Fig 3.7 Working of IR sensor. 13

    Fig 3.8 H bridge... 14

    Fig 3.9 DC motor. 15

    Fig 5.1 Interfacing Temperature sensor to arduino.. 18

    Fig 5.2 Interfacing Raindrops sensor to arduino 18

    Fig 5.3 Interfacing IR sensor to arduino. 19

    Fig 5.4 Interfacing DC motor to arduino 20

    Fig 5.5 Arduino Integrated Development Environment(IDE) 21

    Fig 6.1 Temperature reading on the serial monitor of the arduino... 22

    Fig. 6.2 Rain drop sensor displaying raining or not 23

    Fig. 6.3 All sensors and motor connected to arduino 24

  • 1.INTRODUCTION

    1.1 Overview:

    This project aims to provide automatic ventillation for vehicle interiors by considering the outputs

    of the all sensors. In this project we are using three sensors namely temperature sensor(LM35)

    which displays the temperature in degree celsius, raindrop sensor which indicates whether it is

    raining or not, IR sensor which indicates the detection of a person. The outputs of all these sensors

    are linked to the motor and the motor rotates according to the conditions(specified) which indicates

    the opening and closing of the window automatically without depending on people.

    1.2 REQUIRED COMPONENTS

    Arduino Uno

    Temperature Sensor(LM35)

    Rain drops Sensor

    IR sensor

    H Bridge(L293D)

    DC motor(12V,100 rpm)

    Jumper wires

  • 2.LITERATURE SURVEY

    To underline the work done in this project and to establish acquaintance with the subject, it is

    necessary to study the history of the problem statement being investigated by summarizing aspects

    of the work that has been done in this regard, both in the past as well as that which is being pursued

    now.

    [1] Microcontroller managed module for automatic ventilation of vehicle interior by Raic, B.

    Polytech. of Zagreb, Zagreb, Croatia Radovan,A. This thesis presents a technique for automatic

    ventillation of vehicle interiors according to output of the sensors. In order to get cooled in

    overheated interior of a vehicle parked in the hot summer sun and thereby to make the entering

    into the vehicle more comfortable, arduino managed module for automatic ventilation of vehicle

    interior is made. The module is implemented using a microcontroller as a central logical unit and

    a series of sensors which provide sufficient data to ensure functional, but also efficient, reliable

    and safe ventilation. The ventilation process is performed by opening vehicle windows slightly,

    which enables air to circulate

    [2] An Embedded Based Protection of Vehicle Interior with Sensors Automation by Nageshwar

    Reddy, Vijaya Krishna Institute of Technology & Sciences.This paper presents how to control

    position of windows using microcontroller. Microcontroller controls the position of the windows

    autonomously and independently of the drivers presence, following predefined algorithm that

    uses sensors data obtained from the vehicles surroundings.

  • 3.BLOCK DIAGRAM

    Fig. 3.1 Block diagram

    3.1 INTRODUCTION ON ARDUINO UNO

    About Arduino :

    Arduino is an open source computer hardware and software company, project and user

    community that designs and manufactures kits for building digital devices and interactive objects

    that can sense and control the physical world.

    The project is based on a family of microcontroller board designs manufactured primarily by

    Smart Projects in Italy, and also by several other vendors, using various 8-bit Atmel,

    AVR microcontrollers or 32-bit Atmel ARM processors. These systems provide sets of digital and

    analog I/O pins that can be interfaced to various extension boards and other circuits. The boards

    feature serial communications interfaces, including USB on some models, for loading programs

    from personal computers. For programming the microcontrollers, the Arduino platform provides

    an Integrated Development Environment (IDE) based on the Processing project, which includes

    support for C and C++ programming languages.

    Rain drops

    sensor

    ARDUINO

    UNO

    IR sensor

    H bridge DC motor

    Temp

    sensor

  • 3.2 ARDUINO UNO:

    The Arduino Uno is a microcontroller board based on the ATmega328. It has 14 digital

    input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz ceramic

    resonator, a USB connection, a power jack, an ICSP header, and a reset button. It contains

    everything needed to support the microcontroller; simply connect it to a computer with a USB

    cable or power it with a AC-to-DC adapter or battery to get started.

    Fig 3.2 Arduino Uno board

    Power:

    The Arduino Uno can be powered via the USB connection or with an external power supply.

    The power source is selected automatically External (non-USB) power can come either from an

    AC-to-DC adapter (wall-wart) or battery. The adapter can be connected by plugging a 2.1mm

    center-positive plug into the board's power jack. Leads from a battery can be inserted in the Gnd

    and Vin pin headers of the POWER connector.

  • The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V,

    however, the 5V pin may supply less than five volts and the board may be unstable. If using more

    than 12V, the voltage regulator may overheat and damage the board. The recommended range is

    7 to 12 volts.

    The power pins are as follows:

    Vin : The input voltage to the Arduino board when it's using an external power source (as

    opposed to 5 volts from the USB connection or other regulated power source). You can

    supply voltage through this pin, or, if supplying voltage via the power jack, access it

    through this pin.

    5V: This pin outputs a regulated 5V from the regulator on the board. The board can be

    supplied with power either from the DC power jack (7 - 12V), the USB connector (5V), or

    the Vin pin of the board (7-12V). Supplying voltage via the 5V or 3.3V pins bypasses the

    regulator, and can damage your board. We don't advise it.

    3.3V: A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50

    mA.

    GND. Ground pins.

    IOREF. This pin on the Arduino board provides the voltage reference with which the

    microcontroller operates. A properly configured shield can read the IOREF pin voltage and

    select the appropriate power source or enable voltage translators on the outputs for working

    with the 5V or 3.3V.

    Memory:

    The ATmega328 has 32 KB (with 0.5 KB used for the bootloader). It also has 2 KB of SRAM and

    1 KB of EEPROM (which can be read and written with the EEPROM library).

    Input and Output pins:

  • Each of the 14 digital pins on the Uno can be used as an input or output, using pinmode() ,digital

    write(), and digital read()functions. They operate at 5 volts. Each pin can provide or receive a

    maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms.

    In addition, some pins have specialized functions:

    Serial: 0 (RX) and 1 (TX): Used to receive (RX) and transmit (TX) TTL serial data. These pins

    are connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip.

    External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a

    rising or falling edge, or a change in value.

    PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analog Write () function.

    SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication using

    the SPI library.

    LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the

    LED is on, when the pin is LOW, it's off.

    The Uno has 6 analog inputs, labeled A0 through A5, each of which provide 10 bits of resolution

    (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible

    to change the upper end of their range using the AREF pin and the analogReference() function.

    Additionally, some pins have specialized functionality:

    TWI: A4 or SDA pin and A5 or SCL pin. Support TWI communication using the Wire Library.

    There are a couple of other pins on the board:

    AREF. Reference voltage for the analog inputs. Used with analogRefernce ()Reset. Bring this line

    LOW to reset the microcontroller. Typically used to add a reset button to shields which block the

    one on the board.

    The ATmega328 also supports I2C (TWI) and SPI communication. The Arduino software

    includes a Wire library to simplify use of the I2C bus; see the documentation for details. For SPI

    communication, use the SPI library.

  • USB Overcurrent Protection

    The Arduino Uno has a resettable polyfuse that protects your computer's USB ports from shorts

    and overcurrent. Although most computers provide their own internal protection, the fuse provides

    an extra layer of protection. If more than 500 mA is applied to the USB port, the fuse will

    automatically break the connection until the short or overload is removed.

    Physical Characteristics

    The maximum length and width of the Uno PCB are 2.7 and 2.1 inches respectively, with the

    USB connector and power jack extending beyond the former dimension. Four screw holes allow

    the board to be attached to a surface or case. Note that the distance between digital pins 7 and 8 is

    160 mil (0.16"), not an even multiple of the 100 mil spacing of the other pins.

    Microcontroller used in Arduino uno is ATmega328.

    3.3 PIN DIAGRAM OF ATMEGA328:

    Fig 3.3 Pin Diagram of ATmega328

    Features of ATmega328:

    8-Bit Microcontroller

    is a low-power CMOS 8-bit microcontroller

  • Advanced RISC Architecture

    32 x 8 General Purpose Working Registers

    32K Bytes of In-System Self-Programmable Flash progam memory

    1K Bytes EEPROM

    2K Bytes Internal SRAM

    Write/Erase Cycles: 10,000 Flash/100,000 EEPROM

    Operating Voltage 1.8 - 5.5V for ATmega328

    Clock speed -20MHz

    On-chip Analog Comparator

    Two 8-bit Timer/Counters

    One 16-bit Timer/Counter

    Temperature range : -40C

    3.4 TEMPERATURE SENSOR: LM35:

    Fig. 3.4 temperature sensor

  • The LM35-series devices are precision integrated-circuit temperature sensors, with an output

    voltage linearly proportional to the Centigrade temperature. The LM35 device has an advantage

    over linear temperature sensors calibrated in Kelvin, as the user is not required to subtract a large

    constant voltage from the output to obtain convenient Centigrade scaling. The LM35 device does

    not require any external calibration or trimming to providetypical accuracies of C at room

    temperature and C over a full 55C to 150C temperature range.

    Lower cost is assured by trimming and calibration at the wafer level. The low output

    impedance, linear output,and precise inherent calibration of the LM35 device makes interfacing

    to readout or control circuitry especiallyeasy. The device is used with single power supplies, or

    with plus and minus supplies. As the LM35 device draws only 60 A from the supply, it has very

    low self-heating of less than 0.1C in still air. The LM35 device is rated to operate over a 55C

    to 150C temperature range, while the LM35C device is rated for a 40C to 110C range (10

    with improved accuracy). The temperature-sensing element is comprised of a delta-V BE

    architecture.The temperature-sensing element is then buffered by an amplifier and provided to

    the VOUT pin.

    The LM35 device has a very wide 4-V to 5.5-V power supply voltage range, which makes it

    ideal for manyApplications. In noisy environments, TI recommends adding a 0.1 F from V+ to

    GND to bypass the powersupply voltage. Larger capacitances maybe required and are dependent

    on the power-supply noise.

    Features:

    Calibrated Directly in Celsius (Centigrade)

    Linear + 10-mV/C Scale Factor

    0.5C Ensured Accuracy (at 25C)

    Rated for Full 55C to 150C

    Suitable for Remote Applications

    Low-Cost Due to Wafer-Level Trimming scaling.

    Operates from 4 V to 30 V

    Less than 60-A Current Drain

    Low Self-Heating, 0.08C in Still Air

    Non-Linearity Only C Typical

    Low-Impedance Output, 0.1 for 1-mA Load

  • The temperature sensor used here(LM35) gives an analog output so the output of

    this LM35 is connected to analog pin of arduino uno.

    3.5 RAIN DROPS SENSOR :

    The Raindrop Detection Sensor module is an easy-to-use and low cost drop recognition sensor.

    The sensor works through a series of exposed parallel traces on board which produces electrical

    variations when drops or water volume changes. By using microcontrollers or ADC ICs (Arduino

    and PIC) its fairly easy to convert the analog output from the sensor to digital values. This can be

    directly read by an Arduino or a comparator circuit if you wish to use it as a rain detection alarm.

    It can be used to monitor a variety of weather conditions.

    Fig 3.5 Raindrops sensor

  • The rain sensor detects water that completes the circuits on its sensor boards' printed

    leads. The sensor board acts as a variable resistor that will change from 100k ohms when

    wet to 2M ohms when dry. In short, the wetter the board the more current that will be

    conducted.

    Pins:

    A0.......... Analog output

    D0......... Digital output

    GND..... Ground

    VCC...... Positive voltage (input: 5v for analog 3.3v for Digital.)

    Features:

    1. Comparator output signal is clean. And can source up to 15mA.

    2. Adjustable Sensitivity for D0.

    3. Working voltage 3.3V-5V.

    4. The output format : digital switching outputs ( 0 and 1 ) and analog voltage output AO.

    5. Fixed bolt holes for easy installation

  • 3.6 IR SENSOR (INFRARED SENS0R):

    Fig. 3.6 IR sensor

    IR Generation

    To generate a 36 KHz pulsating infrared is quite easy, more difficult is to receive and

    identify this frequency. This is why some companies produce infrared receives, that contains the

    filters, decoding circuits and the output shaper, that delivers a square wave, meaning the existence

    or not of the 36kHz incoming pulsating infrared.

    It means that those 3 dollars small units, have an output pin that goes high (+5V) when there

    is a pulsating 36kHz infrared in front of it, and zero volts when there is not this radiation.

    A square wave of approximately 27uS (microseconds) injected at the base of a transistor,

    can drive an infrared LED to transmit this pulsating light wave. Upon its presence, the

    commercial receiver will switch its output to high level (+5V).If you can turn on and off this

    frequency at the transmitter, your receiver's output will indicate when the transmitter is on or off.

  • Those IR demodulators have inverted logic at its output, when a burst of IR is sensed it drives its

    output to low level, meaning logic level = 1. IR reflectance sensors contain a matched infrared

    transmitter and infrared receiver pair. These devices work by measuring the amount of light that

    is reflected into the receiver. Because the receiver also responds to ambient light, the device works

    best when well shielded from abient light, and when the distance between the sensor and the

    reflective surface is small(less than 5mm).

    IR reflectance sensors are often used to detect white and black surfaces. White surfaces

    generally reflect well, while black surfaces reflect poorly. One of such applications is the line

    follower of a robot.

    Fig 3.7 Working of IR sensor

    The resistance of the sensor decreases when IR light falls on it. A good sensor will have near zero

    resistance in presence of light and a very large resistance in absence of light. We have used this

    property of the sensor to form a potential divider.

  • 3.7 H-bridge:(L293D)

    Fig. 3.8 H bridge

    An H bridge is an electronic circuit that enables a voltage to be applied across a load in

    either direction. These circuits are often used in robotics and other applications to allow DC motors

    to run forwards and backwards. It works on the concept of H-bridge. H-bridge is a circuit which

    allows the voltage to be flown in either direction. As you know voltage need to change its direction

    for being able to rotate the motor in clockwise or anticlockwise direction, Hence H-bridge IC are

    ideal for driving a DC motor.

    In a single l293d chip there two h-Bridge circuit inside the IC which can rotate two dc

    motor independently. Due its size it is very much used in robotic application for controlling DC

    motors. Given below is the pin diagram of a L293D motor controller.There are two Enable pins

    on l293d. Pin 1 and pin 9, for being able to drive the motor, the pin 1 and 9 need to be high.

  • For driving the motor with left H-bridge you need to enable pin 1 to high. And for right H-Bridge

    you need to make the pin 9 to high. If anyone of the either pin1 or pin9 goes low then the motor in

    the corresponding section will suspend working. Its like a switch.

    3.8 DC Motor:

    A DC motor is any of a class of electrical machines that converts direct current electrical

    power into mechanical power. The most common types rely on the forces produced by magnetic

    fields. Nearly all types of DC motors have some internal mechanism, either electromechanical or

    electronic, to periodically change the direction of current flow in part of the motor. Most types

    produce rotary motion; a linear motor directly produces force and motion in a straight line.DC

    motors were the first type widely used, since they could be powered from existing direct-current

    lighting power distribution systems. A DC motor's speed can be controlled over a wide range,

    using either a variable supply voltage or by changing the strength of current in its field windings.

    Small DC motors are used in tools, toys, and appliances.

    Fig 3.9 DC MOTOR

  • 4.FLOWCHART

    START

    Initialize

    C=0,d=0

    If(a)

    c++

    d++

    Interfacin temperature

    sensor,Raindrop sensor,IR

    sensor andDC motor to

    arduino

    X

    Y

  • Where

    a=((temp34&&range==2&&readsen==LOW)||(temp>34&&range==2&&readsen==HIG

    H)||(temp

  • 5.HARD WARE AND SOFT WARE IMPLIMENTATION:

    5.1 Interfacing temparature sensor with arduino:

    Fig. 5.1 Interfacing temparature sensor with arduino

    The temperature sensor has 3 pins. +Vs,output,ground.The +Vs and ground of the

    temperature sensor are connected to the +5v and ground pin of the arduino respectively.

    The output pin of the temperature sensor is connected to the analog pin (A0) of the

    arduino.The temperature reading can be seen on serial monitor of arduino IDE.

    5.2 Interfacin rain drop sensor to arduino:

    Fig. 5.2 Interfacin rain drop sensor to arduino

  • The rain drop sensor has a sensor module through which it detects the whether it is

    raining or not . This state of raining or not raining is communicated to arduino with help

    of an interfacing module .The interfacing module has four pins +Vcc,ground ,analog pin

    and digital pin. +Vcc and ground of this module are connected to 5v and ground pin of

    arduino . The analog pin of module is connected to analog pin (A1) of the arduino.

    5.3 Interfacing IR sensor to arduino :

    Fig 5.3 Interfacing IR sensor to arduino

    The IR sensor has three pins are +Vcc, ground and output. The +Vcc and ground of the

    IR sensor are connected to the +5v and ground pin of the arduino respectively.The output

    pin of the IR sensor is connected to the Digital pin (D6) of the arduino.

  • 5.4 Interfacing DC motor with arduino:

    Fig. 5.4 Interfacing DC motor with arduino

    The DC motor is connected to the pin 3 and pin 6 of H-bridge (L293D) which are output1

    and output 2. The pin 1 and pin 16 of H-bridge connected to the +5v of the arduino. The

    pin2 and pin7 of the H-bridge are connected to the digital pin 2 and pin 4 of the arduino.

    The pin 8 is connected to the 9v power supply.

    5.5 SOFTWARE IMPLEMENTATION

    The programming of the arduino microcontrollers is done using the software Integrated

    Development Environment (IDE)The Atmega328 chip on the Arduino Uno comes preburned with

    a bootloader that allows uploading of new code to it without use of external hardware programmer.

    It communicates using the original STK500 protocol.

    The Arduino integrated development environment (IDE) is a cross-platform application written in

    Java, and derives from the IDE for the Processing programming language and the Wiring projects.

    It is designed to introduce programming to artists and other newcomers unfamiliar with software

    development. It includes a code editor with features such as syntax highlighting, brace matching,

    and automatic indentation, and is also capable of compiling and uploading programs to the board

    with a single click. A program or code written for Arduino is called a sketch.

    The programming method used in IDE is embedded c. Every arduino program has a void setup()

    function that executes at least once and voidloop() that repeats the code.

  • Fig 5.5 Arduino Integarated Development Environment(IDE) Software

  • 6.RESULTS

    After the complete system design is completed, the hardware and software is tested for any

    connection errors. Once it is clear that the connections are all fine the project working is tested.

    OBSERVATIONS AND RESULTS

    The temperature sensor , rain drop sensor, IR sensor and motor are interfaced with the

    arduino uno. The temperature sensor displays the temperature , the rain drop sensor displays

    whether it is raining or not on the serial monitor of arduino IDE. the on board led connected to the

    pin13 of the arduino becomes high, when it detects a person.

    This figure displays temperature reading on the serial monitor of the arduino uno.

    Fig. 6.1 temperature reading on the serial monitor of the arduino

  • This figuare displays whether it is raining or not when rain drop sensor is interfaced to

    arduino uno.

    Fig. 6.2 Rain drop sensor displaying raining or not

  • This figuare shows the project when all sensors and motor are interfaced.

    Fig. 6.3 All sensors and motor connected to arduino

  • 7.CONCLUSION

    7.1 Advantages:

    Highly sensitive

    Fit and Forget system

    Low cost and reliable circuit

    Complete elimination of manpower

    7.2 Disadvantages:

    Circuit once designed cant be changed every time.

    Failure of any of the sensors makes improper closing and opening of windows and some

    times it may not work.

    Cant be used in vehicles with air conditioners.

    7.3 Applications:

    In vehicles

    Public Transportation

    military Applications

  • 8.BIBLIOGRAPHY

    REFERENCE BOOKS

    [1] Programming in C++ : E.BALAGURU SWAMY

    [2] Massimo Banzi, Getting Started with Arduino, Publisher: O'Reilly Media, 2009

    WEBSITES:

    [1] http://www.instructables.com/id/Arduino-Temperature-Sensor-Interfacing-LM35-THE-EA/

    [2] http://playground.arduino.cc/Main/LM35HigherResolution

    [3] http://www.instructables.com/id/Arduino-Modules-Rain-Sensor/

    [4] http://www.gettutorialized.com/uncategorized/rain-drop-sensor-arduino-interface-coding/

    [5] http://playground.arduino.cc/Main/PanasonicIrSensor

    [6] http://www.instructables.com/id/ -IR-Proximity- sensor/ step5/Interfacing-to-arduino/

    [7] http://www.erfssn.org/tutorials/arduino/interfacing-dc-motor/

    [8] http://www.instructables.com/id/Arduino-Modules-L298N-Dual-H-Bridge-Motor-Controll/

  • 9.APPENDIX

    float temp;

    int irsensor1 = 6;

    int led1 = 13;

    const int sensorMin = 0; // sensor minimum

    const int sensorMax = 1024; // sensor maximum

    #define ENA 5 //enable A on pin 5 (needs to be a pwm pin)

    #define IN1 2 //IN1 on pin 2 conrtols one side of bridge A

    #define IN2 4 //IN2 on pin 4 controls other side of A

    int c=0;

    int d=0;

    void setup()

    {

    Serial.begin(9600);

    pinMode(irsensor1 , INPUT);

    pinMode(led1, OUTPUT);

    pinMode(ENA, OUTPUT);

    pinMode(IN1, OUTPUT);

    pinMode(IN2, OUTPUT);

    }

    void loop()

    {int temp = analogRead(A1);

  • temp = temp * 0.48828125;

    Serial.print("TEMPRATURE = ");

    Serial.print(temp);

    Serial.print("*C");

    Serial.println();

    delay(10000);

    int sensorReading = analogRead(A0); // read the sensor on analog A0:

    // map the sensor range (four options):

    // ex: 'long int map(long int, long int, long int, long int, long int)'

    int range = map(sensorReading, sensorMin, sensorMax, 0, 3);

    // range value:

    switch (range) {

    case 0: // Sensor getting wet

    Serial.println("Heavy Rain");

    delay(10000);

    break;

    case 1: // Sensor getting wet

    Serial.println("Rain Warning");

    delay(10000);

    break;

    case 2: // Sensor dry - To shut this up delete the " Serial.println("Not Raining"); " below.

    Serial.println("Not Raining");

    delay(10000);

  • break;

    }

    int readsen = digitalRead( irsensor1 );

    if( readsen == LOW)

    {

    digitalWrite(led1, HIGH);

    }

    else if(readsen==HIGH)

    {

    digitalWrite(led1, LOW);

    }

    delay(100);

    if((temp>34&&range==2&&readsen==LOW)||(temp>34&&range==2&&readsen==HIGH)||(te

    mp

  • if(((temp34&&range==2&&readsen==LOW)||(temp>34&&range==2&&readsen==HIGH)||(te

    mp 100 into the PWM

  • //range of 0 -> 255 using the map function

    int duty = map(percent, 0, 100, 0, 255);

    switch(mode)

    {

    case 0: //disable/coast

    digitalWrite(ENA, LOW); //set enable low to disable A

    break;

    case 1: //turn clockwise

    //setting IN1 high connects motor lead 1 to +voltage

    digitalWrite(IN1, HIGH);

    //setting IN2 low connects motor lead 2 to ground

    digitalWrite(IN2, LOW);

    //use pwm to control motor speed through enable pin

    analogWrite(ENA, duty);

    break;

    case 2: //turn counter-clockwise

    //setting IN1 low connects motor lead 1 to ground

    digitalWrite(IN1, LOW);

    //setting IN2 high connects motor lead 2 to +voltage

    digitalWrite(IN2, HIGH);

    //use pwm to control motor speed through enable pin

    analogWrite(ENA, duty);

  • break;

    case 3: //brake motor

    //setting IN1 low connects motor lead 1 to ground

    digitalWrite(IN1, LOW);

    //setting IN2 high connects motor lead 2 to ground

    digitalWrite(IN2, LOW);

    //use pwm to control motor braking power

    //through enable pin

    analogWrite(ENA, duty);

    break;

    }

    }