0% found this document useful (0 votes)
13 views48 pages

Mini Project

The document presents a mini project report on an 'Automatic Rain Sensing Car Wiper Using Arduino' by students B. Shreshta and G. Niheeth, submitted for their Bachelor of Technology in Electronics and Communication Engineering. It outlines the project's aim to automate car wipers using a rain sensor and Arduino, enhancing driver safety and comfort by eliminating manual control. The report includes sections on acknowledgments, abstract, literature survey, Arduino technology, project description, hardware and software design, results, and future scope.

Uploaded by

betishreshta189
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views48 pages

Mini Project

The document presents a mini project report on an 'Automatic Rain Sensing Car Wiper Using Arduino' by students B. Shreshta and G. Niheeth, submitted for their Bachelor of Technology in Electronics and Communication Engineering. It outlines the project's aim to automate car wipers using a rain sensor and Arduino, enhancing driver safety and comfort by eliminating manual control. The report includes sections on acknowledgments, abstract, literature survey, Arduino technology, project description, hardware and software design, results, and future scope.

Uploaded by

betishreshta189
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 48

A Mini Project report submitted on

AUTOMATIC RAIN SENSING CAR WIPER USING ARDUINO


A partial fulfilment of the requirement for the Award of the
Degree of
BACHELOR OF TECHNOLOGY IN
ELECTRONICS AND COMMUNICATION ENGINEERING
SUBMITTED
By :
B.SHRESHTA (21671A0409)
G.NIHEETH (21671A0424)

Department of Electronics and Communication Engineering


J.B INSTITUTE OF ENGINEERING & TECHNOLOGY
(Accredited by NAAC & NBA, Approved by AICTE Permanently affiliated by JNTUH)
Yenkapally, Moinabad mandal, R.R. Dist-75 (TS) 2024 – 2025

J.B. INSTITUTE OF ENGINEERING &


TECHNOLOGY
UGC AUTONOMOUS
(Accredited by NAAC & NBA, Approved by AICTE & Permanently affiliated by JNTUH)
Yenkapally, Moinabad mandal, R.R. Dist-75 (TS)

1
CERTIFICATE
This is to certify that the dissertation work entitled AUTOMATIC RAIN SENSING
CAR WIPER USING ARDUINO was carried out by B.SHRESHTA,
G.NIHEETH bearing 21671A0409, 21671A0424, in partial fulfillment of the
requirements for the degree of Bachelor of Technology in Electronics and Communication
Engineering of the J.B. Institute of Engineering and Technology, Hyderabad, during the
academic year 2024-2025, is a Bonafide record of work carried out under our guidance and
supervision. The results embodied in this report have not been submitted to any other
University or Institution for the award of any degree or diploma.

B.SOWMYA Dr.
TOWHEED SULTHANA Assistant Professor
Professor
Internal guide
HOD-EC

ACKNOWLEDGEMENT

This is to acknowledgement of the intensive drive and technical competence of many


individuals who have contributed to the success of our dissertation.
We would like to sincerely thank to our internal guide, B.SOWMYA , Assistant
Professor who stimulated many thoughts for this project and Staff-Members of
Department of ECE for their goodwill gestures towards me.

2
We are very grateful to Dr. Towheed Sulthana, Professor & HOD, ECE who
has not only shown at most patience, but fertile in suggestions, vigilant in directions of error
and who have been infinitely helpful.
We wish to express deepest gratitude and thanks to Principal Dr. P.C. KRISHNAMA
CHARY for his constant support and encouragement in providing all the facilities in the
college to do the project work.

B.SHRESHTA 21671A0409

G.NIHEETH 21671A0424

3
ABSTRACT

Today’s car wipers are manual systems that work on the principle of manual switching. So
here we propose an automatic wiper system that automatically switches ON on detecting rain
and stops when rain stops. Our project brings forward this system to automate the wiper
system having no need for manual intervention. For this purpose, we use rain sensor along
with microcontroller and driver IC to drive the wiper motor. Our system uses rain sensor to
detect rain, this signal is then processed by microcontroller to take the desired action. The
rain sensor works on the principle of using water for completing its circuit, so when rainfalls
on it its circuit gets completed and sends out a signal to the microcontroller. The
microcontroller now processes this data and drives the motor IC to perform required action.
The motor driver IC now drives a servomotor to simulate as a car wiper. This project is
designed to build a car wiper that automatically detects the rainfall intensity and regulates the
frequency of wiper operation. It is built, using Arduino UNO board. A rain sensing module is
used for measuring the intensity of rainfall. And a servo motor is used for controlling the
wiper movements.

4
INDEX

CONTENTS PAGE NO.


ACKNOWLEDGEMENT 3
ABSTRACT 4
CHAPTER–1 8 - 10
1. Introduction
CHAPTER-2 11 - 13
2. Literature survey
Existing system
CHAPTER-3 14 – 24
3. Arduino Technology
3.1 Features of Arduino
3.2 Arduino Enablers
3.3 Characteristics of Arduino
3.4 Application domains
3.5 Modern applications
CHAPTER-4 25 - 28
4. Project description
4.1 Block diagram
4.2 Working
CHAPTER-5 29 - 39
5. Design of hardware
5.1 Arduino Nano
5.1.1 Power pins
5.1.2 Ground pins
5.1.3 IOREF pin
5
5.1.4 Input and Output pins
5.2 Rain sensor
5.3 IR sensor
5.4 Servo motor
5.5 9V Battery & Battery cap
CHAPTER-6 40 -
43
6. Design of software
6.1 Introduction to Arduino IDE software
6.1.1 Software steps 33
6.2 Telnet monitor
6.3 Appendix
CHAPTER-7
44
7. Result
7.1 Output
CHAPTER –Conclusion 45
FUTURE SCOPE
46
REFRENCES 47

6
LIST OF FIGURES

1. Figure 3.1 Arduino UNO 14


2. Figure 4.1 Rain-sensing wiper automation 25
3. Figure 4.2 Block Diagram of Rain sensing Wiper 26
4. Figure 4.3 Design of the structure 26
5. Figure 4.4 Data Flow Diagram 28
6. Figure 5.1 Arduino Uno 29
7. Figure 5.1 Pin Diagram Of Arduino Uno 31
8. Figure 5.2 Rain Sensing Module 36
9. Figure 5.3 IR Sensor
36
10. Figure 5.4 working of an IR Sensor 37
11. Figure 5.5 Servo Motor 9g
39
12. Figure 7.1 Rain Sensing Car wiper
45

7
CHAPTER-1

1. Introduction

Driving in rainy conditions presents a significant challenge to road safety due to reduced
visibility. Traditional manual wiper control often proves inadequate in rapidly changing
weather, increasing the risk of accidents. To address this, an automated rain sensing car wiper
system is essential. This project aims to design and implement an Arduino-based system that
automatically adjusts wiper speed based on rainfall intensity.

By integrating a rain sensor, the Arduino will process sensor data and control the wiper motor
accordingly. This automation enhances driver safety and comfort by eliminating the need for
manual intervention. The project's significance lies in its potential to improve road safety,
enhance the driving experience, showcase microcontroller technology, and offer a cost-
effective alternative to commercial systems.

The project scope includes selecting and integrating a suitable rain sensor, developing
Arduino code for sensor data processing and wiper control, designing the wiper motor
interface, and thoroughly calibrating and testing the system. The primary objectives are to
create a functional system, achieve accurate rain detection and wiper control, optimize wiper

8
operation for various rain intensities, ensure compatibility with different wiper motors, and
provide a user-friendly solution.

Before delving into the technical details, it's essential to grasp the complexities involved in
developing a reliable rain sensing system. Rain sensors must accurately differentiate between
rain and other water sources like car washes or sprinklers. Additionally, the wiper motor
interface must ensure precise speed control and prevent damage to the motor or wiper blades.
The system must also be robust enough to withstand the harsh environment of a vehicle,
including temperature fluctuations, vibrations, and exposure to moisture.

Rain sensors come in various types, including optical, capacitive, and resistive. Optical
sensors detect water droplets by measuring changes in light reflection, capacitive sensors
measure changes in capacitance caused by water droplets, and resistive sensors measure
changes in resistance due to water conductivity. Sensor characteristics like sensitivity,
response time, hysteresis, and output signal format are crucial considerations.

The optimal placement of the rain sensor on the windshield is essential for accurate rain
detection. The choice of Arduino board depends on factors such as processing power,
memory, and the number of available I/O pins. Sufficient ADC channels are required to
accurately read the analog output of the rain sensor. The wiper motor's specifications,
including voltage, current, torque, and speed range, determine the appropriate driving
circuitry. PWM or H-bridge techniques can be used to control wiper motor speed. Relays or
MOSFETs can be employed to interface the Arduino with the wiper motor, depending on
current requirements. supply is essential for the Arduino and other components, and noise
filtering should be considered. The rain sensor's analog output may require amplification and
filtering before digital conversion using the Arduino's ADC.

The wiper motor driver should be selected based on the motor's specifications, and PWM
generation is used to control speed. Current limiting circuitry protects the motor and driver. A
voltage regulator circuit provides stable power to the system, and noise filtering is important
to ensure reliable operation.
9
Accurate rain detection requires calibration to establish a relationship between rain sensor
output and rainfall intensity. Data filtering algorithms remove noise and spurious readings.
Wiper speed control involves mapping rainfall intensity to wiper speed and incorporating
hysteresis to prevent rapid speed fluctuations. Intermittent wiper mode can be implemented
based on rainfall intensity. Additional features like LCD displays and manual control buttons
can enhance user experience. 7PCB design and component assembly are crucial for hardware
integration.

The Arduino code is developed and tested before integration into the vehicle. Proper wiring
and component placement are essential during vehicle installation, followed by calibration of
the rain sensor and wiper motor control parameters.

Rigorous testing under various rain conditions, including long-term reliability and safety
assessments, is vital to ensure the system's performance and safety. Developing an automatic
rain sensing car wiper system using Arduino presents a challenging yet rewarding project. By
carefully considering hardware selection, circuit design, software development, and testing, it
is possible to create a system that significantly enhances driver safety and comfort. However,
it is crucial to prioritize safety and conduct thorough testing throughout the development
process.

10
CHAPTER – 2

2. Literature survey

The integration of advanced driver assistance systems (ADAS) into modern automobiles has
significantly enhanced road safety. A crucial component of ADAS is the automatic rain
sensing car wiper, which automates the windshield wiping process based on rainfall intensity.
This technology alleviates driver distraction and improves overall driving experience by
ensuring optimal visibility in adverse weather conditions.

A plethora of research has been dedicated to developing effective rain sensing mechanisms.
Infrared-based sensors, which measure changes in infrared light reflected by water droplets,
have been extensively explored. While offering reasonable sensitivity and accuracy, these
sensors can be susceptible to interference from factors such as dirt and fog. Capacitive
sensors, on the other hand, detect changes in capacitance caused by water droplets and exhibit
superior resistance to environmental influences. Ultrasonic sensors and vision-based systems
using cameras have also been investigated, although their practical implementation is still in
its developmental stages.

Control algorithms play a pivotal role in determining wiper speed based on rain sensor input.
Fuzzy logic controllers have gained popularity due to their ability to handle uncertainties and
nonlinear relationships inherent in the system. PID controllers, while simpler, require careful
11
tuning to achieve optimal performance. Model-based control approaches, such as model
predictive control, offer the potential for enhanced accuracy by considering dynamic factors
like vehicle speed and windshield angle. Adaptive control strategies further refine system
performance by adjusting control parameters in response to changing environmental
conditions.

Successful implementation of an automatic rain sensing car wiper necessitates careful


consideration of hardware and software components. The selection of appropriate rain
sensors, microcontrollers, and actuators is crucial for system reliability and performance. The
development of robust and efficient software algorithms for sensor data processing, control
logic, and user interface is equally important. Comprehensive testing under diverse weather
conditions is indispensable to evaluate system effectiveness and reliability.

Despite significant advancements, challenges persist in the development of robust and


reliable automatic rain sensing car wipers. Ensuring accurate and consistent rain sensing
under various environmental conditions remains a critical hurdle. Developing control
algorithms capable of adapting to diverse driving scenarios and weather

conditions is another area requiring further research. Integrating the wiper system with other
vehicle components, such as headlight control and climate control, introduces additional
complexities. Future research should focus on developing more advanced and reliable rain
sensors, improving control algorithm robustness, and exploring the integration of automatic
wiper systems with other ADAS features. Leveraging machine learning techniques to
enhance system performance is a promising avenue for future exploration. By addressing
these challenges and capitalizing on emerging technologies, the development of highly
effective and dependable automatic rain sensing car wipers can be accelerated, ultimately
contributing to safer and more comfortable driving experiences.

12
2.1 EXISTING SYSTEM

Modern automobiles have incorporated advanced driver assistance systems (ADAS) to


enhance safety and convenience.

One such system is the automatic rain sensing car wiper. This technology has revolutionized
the driving experience by eliminating the need for manual wiper operation in rainy
conditions. The core components of an automatic rain sensing wiper system typically include
a rain sensor, a control unit, and a wiper motor. The rain sensor, strategically placed on the
windshield, detects the presence and intensity of rainfall. It employs various technologies,
such as infrared, capacitive, or ultrasonic sensors, to measure the water droplets on the glass
surface. The sensor then transmits this information to the control unit.

The control unit, often a microcontroller, processes the sensor data to determine the
appropriate wiper speed. It uses algorithms to correlate the rain intensity with the wiper's
operation. Various control strategies, including fuzzy logic, PID control, and model-based
control, have been implemented in different systems. These algorithms ensure optimal wiper
performance under varying weather conditions.

Overall, automatic rain sensing car wipers represent a significant advancement in


automotive technology. By automating the windshield wiping process, these systems enhance
driver focus, reduce fatigue, and improve overall driving safety.

13
CHAPTER – 3

3. AURDINO TECHNOLOY

Arduino is an open-source electronics platform based on easy-to-use hardware and software.


Arduino boards are able to read inputs - light on a sensor, a finger on a button, or a Twitter
message - and turn it into an output - activating a motor, turning on an LED, publishing
something online. You can tell your board what to do by sending a set of instructions to the
microcontroller on the board. To do so you use the Arduino programming language (based on
Wiring), and the Arduino Software (IDE), based on Processing.

14
Figure 3.1 Arduino UNO

Over the years Arduino has been the brain of thousands of projects, from everyday objects to
complex scientific instruments. A worldwide community of makers - students, hobbyists,
artists, programmers, and professionals - has gathered around this open-source platform, their
contributions have added up to an incredible amount of accessible knowledge that can be of
great help to novices and experts alike.

Arduino was born at the Ivrea Interaction Design Institute as an easy tool for fast prototyping,
aimed at students without a background in electronics and programming. As soon as it
reached a wider community, the Arduino board started changing to adapt to new needs and
challenges, differentiating its offer from simple 8-bit boards to products for IoT applications,
wearable, 3D printing, and embedded environments.

The Arduino software is easy-to-use for beginners, yet flexible enough for advanced users. It
runs on Mac, Windows, and Linux. Teachers and students use it to build low cost scientific
instruments, to prove chemistry and physics principles, or to get started with programming
and robotics. Designers and architects build interactive prototypes, musicians and artists use
it for installations and to experiment with new musical instruments. Makers, of course, use it
to build many of the projects exhibited at the Maker Faire, for example. Arduino is a key tool

15
to learn new things. Anyone - children, hobbyists, artists, programmers - can start tinkering
just following the step by step instructions of a kit, or sharing ideas online with other
members of the Arduino community.

There are many other microcontrollers and microcontroller platforms available for physical
computing. Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard, and
many others offer similar functionality. All of these tools take the messy details of
microcontroller programming and wrap it up in an easy-to-use package. Arduino also
simplifies the process of working with microcontrollers, but it offers some advantage for
teachers, students, and interested amateurs over other systems:

 Inexpensive - Arduino boards are relatively inexpensive compared to other


microcontroller platforms. The least expensive version of the Arduino module can be
assembled by hand, and even the preassembled Arduino modules cost less than \$50

 Cross-platform - The Arduino Software (IDE) runs on Windows, Macintosh OSX,


and Linux operating systems. Most microcontroller systems are limited to Windows.

 Simple, clear programming environment - The Arduino Software (IDE)


is easy-to-use for beginners, yet flexible enough for advanced users to take advantage of
as well. For teachers, it's conveniently based on the Processing programming
environment, so students learning to program in that environment will be familiar with
how the Arduino IDE works.

 Open source and extensible software - The Arduino software is published


as open source tools, available for extension by experienced programmers. The language
can be expanded through C++ libraries, and people wanting to understand the technical
details can make the leap from Arduino to the AVR C programming language on

which it's based. Similarly, you can add AVR-C code directly into your Arduino programs if
you want to.

16
 Open source and extensible hardware - The plans of the Arduino boards
are published under a Creative Commons license, so experienced circuit designers can
make their own version of the module, extending it and improving it. Even relatively
inexperienced users can build the breadboard version of the module in order to
understand how it works and save money.

HOW DOES AURDINO WORK?

Arduino is an open-source electronics platform that serves as a bridge between the digital and
physical realms. At its core lies a microcontroller, a tiny computer on a chip, capable of
executing instructions to control various electronic components. The Arduino board, the
physical manifestation of this platform, provides a user-friendly 12 interface to interact with
this microcontroller. It typically includes a set of digital input/output pins, analog input

pins, power supply regulators, and communication interfaces like USB.

The magic happens when you combine this hardware with software. Arduino employs a
simplified version of the C++ programming language, making it accessible to beginners and
experienced programmers alike. The Arduino Integrated Development Environment (IDE)
provides a user-friendly interface for writing, compiling, and uploading code to the board. A
fundamental aspect of Arduino programming involves defining two primary functions:
setup() and loop(). The setup() function is executed once when the board starts,
allowing for initializations like setting pin modes (input or output) and configuring sensors.
The loop() function, on the other hand, runs continuously, forming the heart of the
program's logic.

To interact with the physical world, Arduino utilizes a variety of sensors and actuators.
Sensors, such as light sensors, temperature sensors, and motion detectors, gather information

17
from the environment and convert it into signals. These signals are then processed by the
Arduino board. Actuators, like LEDs, motors, and relays, receive instructions from the board
and produce physical actions. For instance, a light sensor might detect decreasing light levels,
triggering the Arduino to turn on an LED.

Arduino's versatility extends beyond simple input-output operations. It can be interfaced with
other electronic components, such as displays, wireless modules, and external sensors.
Moreover, libraries and community developed code provide building blocks for complex
projects. This openness and flexibility have made Arduino a popular choice for hobbyists,
students, artists, and professionals alike. From automated systems to interactive installations,
the applications of Arduino are vast and continually expanding, making it a cornerstone in the
realm of physical computing.

While Arduino simplifies the process of interacting with electronics, understanding the
underlying principles of microcontrollers, digital electronics, and programming is essential
for harnessing its full potential.

By combining hardware and software, Arduino empowers individuals to create innovative


and interactive projects, blurring the lines between the digital and physical worlds.

3.1.FEATURES OF AURDINO

Hardware Features

Microcontroller: The heart of every Arduino board is a microcontroller, a tiny


computer on a chip that executes instructions to control electronic components.

Input/Output Pins: Arduino provides both digital and analog input/output pins.
Digital pins can be set to high or low states, while analog pins can read varying voltage
levels.

Power Supply: Most Arduino boards operate on a 5V power supply and can be
powered through a USB connection or an external power source.

18
Communication Interfaces: Arduino supports various communication protocols
like USB, serial, I2C, and SPI, allowing for interaction with computers, other devices, and
sensors.

Expandability: Many Arduino boards have headers for connecting additional shields or
modules, extending the board's capabilities.

Software Features

Open-Source: Arduino's hardware designs and software are open-source, fostering a


vibrant community and enabling customization.

Simplified Programming: Arduino uses a simplified version of C++, making it


easier to learn and use compared to traditional microcontroller programming.

Integrated Development Environment (IDE): The Arduino IDE provides a


user-friendly interface for writing, compiling, and uploading code to the board.

Libraries: A vast collection of libraries is available for various sensors, actuators, and
communication protocols, accelerating development.

Cross-Platform Compatibility: The Arduino IDE runs on Windows, macOS, and

Linux, ensuring accessibility across different operating systems.

3.2 AURDINO ENABLERS

Arduino enablers refer to the various components, tools, and resources that complement the
Arduino platform, enhancing its capabilities and making it more versatile. These enablers can
be categorized into several key areas:

Hardware Enablers

Shields: These are specialized circuit boards that stack on top of the Arduino board,
providing additional functionalities like Wi-Fi, Bluetooth, motor control, or sensor interfaces.

Sensors: Devices that measure physical quantities and convert them into electrical
signals, such as temperature sensors, light sensors, and accelerometers.

19
Actuators: Components that produce physical actions based on electrical signals, like
motors, servos, LEDs, and relays.

Breadboards: These are prototyping platforms that allow for easy connection and
experimentation with electronic components.

Jumper wires: Flexible wires used to connect components on breadboards or Arduino


boards.

Software Enablers

Libraries: Pre-written code collections that simplify tasks like interfacing with sensors,
controlling actuators, or implementing communication protocols.

Integrated Development Environments (IDEs): Software tools for writing,


compiling, and uploading code to the Arduino board.

Simulators: Software programs that simulate the behavior of Arduino circuits and code,
allowing for virtual testing and debugging.

Online resources: Websites, forums, and communities that offer tutorials, code
examples, and support.

Community and Ecosystem Enablers

Open-source hardware and software: The Arduino platform's open-source


nature fosters a thriving community of developers and enthusiasts.

Maker spaces and Fab Labs: Physical locations equipped with tools and resources
for prototyping and creating projects.

Educational programs: Courses, workshops, and online tutorials that introduce


Arduino to learners of all ages.

Examples of Arduino Enablers in Action:

Creating a weather station: An Arduino board, a temperature sensor, a humidity


sensor, a pressure sensor, a Wi-Fi shield, and appropriate libraries can be combined to build a
weather station that collects data and transmits it to the internet.
20
Building a robot: An Arduino board, motor drivers, various sensors, and a power
supply can be used to create a robot capable of navigating environments and performing
tasks.

Developing a home automation system: Multiple Arduino boards, relays,


sensors, and communication modules can be integrated to control lights, appliances, and
security systems.

3.3 CHARACTERISTICS OF AURDINO

Hardware Characteristics

Microcontroller: The core component is a microcontroller, a tiny computer on a chip


that executes instructions.

Input/Output Pins: Provides both digital and analog pins for interacting with
electronic components. Power

Supply: Typically operates on a 5V power supply and can be powered via USB or external
power source.

Communication Interfaces: Supports various communication protocols like USB,


serial, I2C, and SPI.

Expandability: Offers headers for connecting additional shields or modules to extend


functionality.

Software Characteristics

Open-Source: Both hardware designs and software are open-source, promoting


community development.

Simplified Programming: Uses a simplified version of C++ for easy coding.

Integrated Development Environment (IDE): User-friendly software for


writing, compiling, and uploading code.

Libraries: Extensive collection of pre-written code for various components and functions.
Cross-Platform

21
Compatibility: Runs on Windows, macOS, and Linux.

General Characteristics

Ease of Use: User-friendly interface and clear documentation make it accessible to


beginners.

Versatility: Wide range of boards and shields for diverse projects.

Community Support: Strong community providing resources, tutorials, and


assistance.

Cost-Effective: Affordable boards, making it accessible to hobbyists and students.

Openness: Encourages innovation and customization through open-source nature.

3.4 APPLICATION DOMAINS

Robotics: Building robots of varying complexities, from simple line-following robots to


advanced humanoid robots.

Home Automation: Controlling lights, appliances, and security systems.

IoT (Internet of Things): Creating connected devices that can communicate with
each other and the internet.

Wearables: Developing wearable devices like fitness trackers or smartwatches.

Education: Teaching electronics and programming concepts through hands-on projects.

Art and Design: Creating interactive installations and art pieces.

Prototyping: Rapidly developing and testing electronic prototypes.

3.5.MODERN APPLICATIONS

22
Arduino, while rooted in its simplicity, continues to find innovative applications in today's
technology driven world.

Advanced Robotics

Autonomous Vehicles: Creating self-driving vehicles, particularly small-scale


models or prototypes.

Drones: Developing drones with varying degrees of autonomy, from simple quadcopters
to complex delivery drones.

Humanoid Robotics: Building more sophisticated humanoid robots capable of


complex tasks.

IoT and Smart Home Integration

Smart Appliances: Developing intelligent appliances that can interact with users and
other devices.

Environmental Monitoring: Creating systems to monitor air quality, water quality,


or soil conditions.

Smart Agriculture: Implementing precision agriculture techniques using sensors and


actuators.

Wearable Technology

Health Monitoring Devices: Building advanced health trackers with multiple


sensors.

Smart Clothing: Integrating electronics into clothing for various functionalities.

Augmented Reality Devices: Developing wearable AR devices with interactive


elements.

Education and STEM

STEM Education: Creating engaging educational kits and projects for students.

Accessibility Devices: Developing assistive technologies for people with disabilities.

Maker Movement: Supporting the maker movement by providing accessible tools for
prototyping.

23
Industrial Applications

Process Automation: Automating industrial processes for efficiency and safety.


Machine Control: Controlling complex machinery with precise timing and accuracy.
Data Acquisition: Collecting data from industrial equipment for analysis and
optimization.
Other Emerging Areas Creating interactive experiences using Arduino-based
controllers or sensors. Developing medical devices and prosthetics. Building systems for
efficient energy consumption and generation.

24
CHAPTER – 4

4. PROJECT DESCRIPTION

A rain sensor works on the principle of conductive property of water. Rain sensor is just a
small open circuit which gets closed when water falls on it and complete the circuit. The
complete circuit sends a small current to the microcontroller through IR sensor which acts as
a signal to turn on the servo motor which runs the car wiper. This results in automatic action
of car wiper against rain. The receiver of IR Sensor is replaced with the rain Sensor PCB to
interface the Rain sensor PCB with the Arduino Nano Microcontroller. This approach of
interfacing different sensor with the microcontroller can be used with many different types of
sensor as shown below in the picture.

Figure 4.1 Rain-sensing wiper automation

25
CONSTRUCTION

1. First, we will decide the Structure of the Project:


4.1 BLOCK DIAGRAM

Figure 4.2 Block Diagram of Rain sensing Wiper

2. Now the design of the structure will be implemented on Software:

Figure 4.3 Design of the structure

3. The Arduino Code is made and uploaded in the Arduino Uno Microcontroller.
#include <Servo.h>
Servo myservo;
int pos = 0;
26
void setup() {
myservo.attach(9);
}
void loop() {
int sensorValue = analogRead(A0);
if (sensorValue > 570)
{
for (pos = 0; pos <= 160; pos += 1) {
// in steps of 1 degree
myservo.write(pos);
delay(7);
}
for (pos = 160; pos >= 0; pos = 1) {
myservo.write(pos);
delay(7);
}
}
else { myservo.write(15);
}
}
4. Now the final project is made as shown in picture.

27
Figure 4.4 Data Flow Diagram
4.2 WORKING:
A rain sensor works on the principle of conductive property of water. Rain sensor is just a
small open circuit which gets closed when water falls on it and complete the circuit. The
complete circuit sends a small current to the microcontroller through IR sensor which acts as
a signal to turn on the servo motor which runs the car wiper. This results in automatic action
of car wiper against rain.
HARDWARE COMPONETS
 Arduino Uno
 Rain Sensor
 IR-Sensor
 Servo Motor
 9 V BATTERY
 BATTERY CAP

28
CHAPTER - 5

5. DESIGN OF HARDWARE
5.1 ARDUINO UNO

29
Figure 5.1 Arduino Uno

The Arduino Uno is an open-source microcontroller board based on the Microchip


ATmega328P microcontroller (MCU) and developed by Arduino.cc and initially released in
2010. The microcontroller board is equipped with sets of digital and analog input/output (I/O)
pins that may be interfaced to various expansion boards (shields) and other circuits. The
board has 14 digital I/O pins (six capable of PWM output), 6 analog I/O pins, and is
programmable with the Arduino IDE (Integrated Development Environment), via a type B
USB cable. It can be powered by a USB cable or a barrel connector that accepts voltages
between 7 and 20 volts, such as a rectangular 9-volt battery. It has the same microcontroller
as the Arduino Nano board, and the same headers as the Leonardo board. The hardware
reference design is distributed under a Creative Commons Attribution Share-Alike 2.5 license
and is available on the Arduino website. Layout and production files for some versions of the
hardware are also available. The word "uno" means "one" in Italian and was chosen to mark a
major redesign of the Arduino hardware and software. The Uno board was the successor of
the Duemilanove release and was the 9th version in a series of USB-based Arduino boards.
Version 1.0 of the Arduino IDE for the Arduino Uno board has now evolved to newer
releases.
The ATmega328 on the board comes preprogrammed with a bootloader that allows uploading
new code to it without the use of an external hardware programmer. While the Uno
communicates using the original STK500 protocol, it differs from all preceding boards in that
it does not use a FTDI USB-to-UART serial chip. Instead, it uses the Atmega16U2
(Atmega8U2 up to version R2) programmed as a USB-to-serial converter.

30
Figure 5.1 Pin Diagram Of Arduino Uno

5.1.1 Power Pins


Voltage In Pin – 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 Pin – 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. It’s not recommended.3.3V Pin – A
3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.

5.1.2Ground Pins
There are several GND pins on the Arduino, any of which can be used to ground your circuit.
31
5.1.3 IOREF Pin
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.

5.1.4 Input and Output Pins


Each of the 14 digital pins on the Uno can be used as an input or output. They operate at 5
volts. These pins can be used for both digital input (like telling if a button is pushed) and
digital output (like powering an LED). Each pin can provide or receive a maximum of 40 mA
and has an internal pull-up resistor (disconnected by default) of 20-5k Ohms. In addition,
some pins have specialized functions.

Serial Out (TX) & Serial In (RX)

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

Pins 2 and 3 can be configured to trigger an interrupt on a low value, a rising or falling edge,
or a change in value. PWM – You may have noticed the tilde (~) next to some of the digital
pins (3, 5, 6, 9, 10, and 11). These pins act as normal digital pins, but can also be used for
something called Pulse-Width Modulation (PWM). Think of these pins as being able to
simulate analog output (like fading an LED in and out). SPI – Pins 10 (SS), 11 (MOSI), 12
(MISO), 13 (SCK). SPI stands for Serial Peripheral Interface. These pins support SPI
communication using the SPI library. Analog Input Pins – Labeled A0 through A5, each of
which provide 10 bits of resolution (i.e. 1024 different values). These pins can read the signal
from an analog sensor (like a temperature sensor) and convert it into a digital value that we
can read. 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 (Stands for Analog Reference. Most of the time
you can leave this pin alone). Additionally, some pins have specialized functionality: TWI –
Pins A4 or SDA pin and A5 or SCL pin. Support TWI communication using the Wire library.

Reset Pin :
32
Bring this line LOW to reset the microcontroller. Typically used to add a reset button to
shields which block the one on the board.

LED Indicators
Power LED Indicator – Just beneath and to the right of the word “UNO” on your circuit
board, there’s a tiny LED next to the word ‘ON’. This LED should light up whenever you
plug your Arduino into a power source. If this light doesn’t turn on, there’s a good chance
something is wrong. Time to re-check your circuit! On-Board LED – 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. This useful to quickly check if the board has no problem as some boards has a
preloaded simple blinking LED program in it. TX & RX LEDs – These LEDs will give us
some nice visual indications whenever our Arduino is receiving or transmitting data (like
when we’re loading a new program onto the board).

Reset Button:

Pushing the reset button temporarily connect the reset pin to ground and restart any code that
is loaded on the Arduino. This can be very useful if your code doesn’t repeat, but you want to
test it multiple times.

5.2 Rain Sensor:

A rain sensor or rain switch is a switching device activated by rainfall. There are two main
applications for rain sensors. The first is a water conservation device connected to an
automatic irrigation system that causes the system to shut down in the event of rainfall. The
second is a device used to protect the interior of an automobile from rain and to support the
automatic mode of windscreen wipers. An additional application in professional satellite
communications antennas is to trigger a rain blower on the aperture of the antenna feed, to
remove water droplets from the mylar cover that keeps pressurized and dry air inside the
wave-guides. The sensing pad with series of exposed copper traces, together acts as a variable
resistor (just like a potentiometer) whose resistance varies according to the amount of water
on its surface. This resistance is inversely proportional to the amount of water:

• The more water on the surface means better conductivity and will result in a lower
resistance.

• The less water on the surface means poor conductivity and will result in a higher resistance.

33
The sensor produces an output voltage according to the resistance, which by measuring we
can determine whether it’s raining or not. The sensor contains a sensing pad with series of
exposed copper traces that is placed out in the open, possibly over the roof or where it can be
affected by rainfall. These traces are not connected but are bridged by water.

Figure 5.2 Rain Sensing Module

5.3 IR-Sensor:

An infrared sensor is an electronic device, that emits in order to sense some aspects of the
surroundings. An IR sensor can measure the heat of an object as well as detects the motion.
These types of sensors measure only infrared radiation, rather than emitting it that is called a
passive IR sensor. Usually, in the infrared spectrum, all the objects radiate some form of
thermal radiation. These types of radiations are invisible to our eyes, which can be detected
by an infrared sensor. The emitter is simply an IR LED (Light Emitting Diode) and the
34
detector is simply an IR photodiode that 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 the
output voltages will change in proportion to the magnitude of the IR light received.

Figure 5.3 IR Sensor

An infrared sensor circuit is one of the basic and popular sensor modules in an electronic
device. This sensor is analogous to human’s visionary senses, which can be used to detect
obstacles and it is one of the common applications in real-time.

Types of IR Sensors
Infrared sensors can be passive or active. Passive infrared sensors are basically Infrared
detectors. Passive infrared sensors do not use any infrared source and detects energy emitted
by obstacles in the field of view. They are of two types: quantum and thermal. Thermal
infrared sensors use infrared energy as the source of heat and are independent of wavelength.
Thermocouples, pyroelectric detectors and bolometers are the common types of thermal
infrared detectors.

Quantum type infrared detectors offer higher detection performance and are faster than
thermal type infrared detectors. The photosensitivity of quantum type detectors is wavelength
dependent. Quantum type detectors are further classified into two types: intrinsic and
extrinsic types. Intrinsic type quantum detectors are photoconductive cells and photovoltaic
cells.

35
Active infrared sensors consist of two elements: infrared source and infrared detector.
Infrared sources include an LED or infrared laser diode. Infrared detectors include
photodiodes or phototransistors. The energy emitted by the infrared by an object and falls on
the infrared detector.

Figure 5.4 working of an IR Sensor

IR Transmitter:
Infrared Transmitter is a light emitting diode (LED) which emits infrared radiations. Hence,
they are called IR LED’s. Even though an IR LED looks like a normal LED, the radiation
emittedby it is invisible to the human eye.

There are different types of infrared transmitters depending on their wavelengths, output
power and response time. A simple infrared transmitter can be constructed using an infrared
LED, a current limiting resistor and a power supply. When operated at a supply of 5V, the IR
transmitter consumes about 3 to 5 mA of current.

Infrared transmitters can be modulated to produce a particular frequency of infrared light.


The most commonly used modulation is OOK (ON – OFF – KEYING) modulation. IR
transmitters can be found in several applications. Some applications require infrared heat and
36
the best infrared source is infrared transmitter. When infrared emitters are used with Quartz,
solar cells can be made.

IR Receiver:

Infrared receivers are also called as infrared sensors as they detect the radiation from an IR
transmitter. IR receivers come in the form of photodiodes and phototransistors. Infrared
Photodiodes are different from normal photo diodes as they detect only infrared radiation.
Different types of IR receivers exist based on the wavelength, voltage, package, etc. When
used in an infrared transmitter – receiver combination, the wavelength of the receiver should
match with that of the transmitter.

It consists of an IR phototransistor, a diode, a MOSFET, a potentiometer and an LED. When


the phototransistor receives any infrared radiation, current flows through it and MOSFET
turns on. This in turn lights up the LED which acts as a load. The potentiometer is used to
control the sensitivity of the phototransistor.

5.4 Servo Motor:


A servomotor is a rotary actuator or linear actuator that allows for precise control of angular
or linear position, velocity and acceleration. It consists of a suitable motor coupled to a sensor
for position feedback. It also requires a relatively sophisticated controller, often a dedicated
module designed specifically for use with servomotors.

Servomotors are not a specific class of motor, although the term servomotor is often used to
refer to a motor suitable for use in a closed-loop control system. Servomotors are generally
used as a high-performance alternative to the stepper motor. Stepper motors have some
inherent ability to control position, as they have built-in output Steps.

This often allows them to be used as an open-loop position control, without any feedback
encoder, as their drive signal specifies the number of steps of movement to rotate, but for this
the controller needs to 'know' the position of the stepper motor on power up. Simple
servomotors may use resistive potentiometers as their position encoder. These are only used
at the very simplest and cheapest level, and are in close competition with stepper motors.
They suffer from wear and electrical noise in the potentiometer track. Although it would be
possible to electrically differentiate their position signal to obtain a speed signal, PID
37
controllers that can make use of such a speed signal generally warrant a more precise
Encoder.

Modern servomotors use rotary encoders, either absolute or incremental. Absolute encoders
can determine their position at power-on, but are more complicated and expensive.
Incremental encoders are simpler, cheaper and work at faster speeds. Incremental systems,
like stepper motors, often combine their inherent ability to measure intervals of rotation with
a simple zero-position sensor to set their position at start-up. .

Figure 5.5 Servo Motor 9g

5.5 9 V BATTERY AND CAP :

The nine-volt battery, or 9-volt battery, is a common size of battery that was introduced for
the early transistor radios. It has a rectangular prism shape with rounded edges and a
polarized snap connector at the top. This type is commonly used in walkie-talkies, clocks and
smoke detectors. The battery has both terminals in a snap connector on one end. The smaller
circular (male) terminal is positive, and the larger hexagonal or octagonal (female) terminal is
the negative contact. The connectors on the battery are the same as on the load device; the
smaller one connects to the larger one and vice versa

38
Figure 5.6 9V Battery and Cap

39
CHAPTER – 6
6.DESIGN OF SOFTWARE
6.1 INTRODUCTION TO ARDUINO IDE SOFTWARE:
This is free software (evaluation version) which solves many of the pain points for an
embedded system developer. This software is an Integrated Development Environment(IDE),
which integrated text editor to write program, a compiler and it will convert your source code
into HEX file. Here is simple guide to start working with Arduino IDE Vision which can be
used for:

• Writing programs in Arduino IDE

• Compiling and assembling programs

• Debugging programs

6.1.1 SOFTWARE STEPS:

Before you can start doing anything with the Arduino, you need to download and install the
Arduino IDE (integrated development environment)

After the opening IDE the settings are changed in order to connect to the Arduino.

40
Before you can start doing anything in the Arduino programmer, you must set
The board-type and port.
To set the board, go to the following:
Tools --> Boards
Select the version of board that you are using. Since I have an Arduino Nano plugged in, I
obviously
selected "Arduino Nano." To set the serial port,
go to the following:
Tools --> Port --> COM Port

Write the code and hit the upload button

41
42
6.3 Appendix:

Source code:
#include <Servo.h>

Servo myservo; // Create servo object


int pos = 0; // Variable to store servo position
int threshold = 570; // Threshold for sensor value

void setup() {
myservo.attach(9); // Attach servo to pin 9
}

void loop() {
int sensorValue = analogRead(A0); // Read sensor value from pin A0

if (sensorValue > threshold) { // If sensor value is above threshold


// Sweep the servo from 0 to 160 degrees
for (pos = 0; pos <= 160; pos += 1) {
myservo.write(pos);
delay(7); // Wait for 7ms
}

// Sweep the servo back from 160 to 0 degrees


for (pos = 160; pos >= 0; pos -= 1) {
myservo.write(pos);
delay(7); // Wait for 7ms
}
} else {
myservo.write(15); // If below threshold, set servo to 15 degrees
}
}

43
CHAPTER-7
7. Result
A car wiper that automatically detects the rainfall intensity and regulates the frequency of
wiper operation. It is built, using Arduino Uno board. By measuring the amount of rainfall,
controller will adjust the speed of servo motor.

Figure 7.1 Rain Sensing Car wiper

44
CHAPTER - 8
8. Conclusion

This project is designed to build a car wiper that automatically detects the rainfall intensity
and regulates the frequency of wiper operation. It is built, using Arduino Nano board. A rain
sensing module is used for measuring the intensity of rainfall. And a servo motor is used for
controlling the wiper movements. By measuring the amount of rainfall, controller will adjust
the speed of servo motor. Servo is controlled by generating PWM signal at its signal line.
Initially, as the project is activated, the wiper is switched back to zero-degree position by the
servo motor. The controller keeps on monitoring the signal received from the rain detector
module. When the rain detector module senses rainfall, the controller checks if it crosses a
threshold value set in the device. As soon as that happens, the controller triggers the servo
motor which than starts to work. The strength of the signal decides the speed of the
servomotor.
Advantages of the automatic rain wiper sensor is are as follows:
• It becomes very easier to operate the viper without being distracted from the driving
on very dangerous routes.
• While driving the car we have to adjust the speed and the rate of the operation of
the respective wiper. Now as we have employed a copper plate sensor on the place
of human judgement it becomes much easier for an active user to drive in any
condition. Cause the copper plate sensor will react on the basis of the percentage or
amount of water which will be incidental on the surface of sensor. and it will save us
an enormous amount of unnecessary wastage of energy and time.
• As we are using the sensor-based wiper. now this will eliminate the need of the
manual wiping liver which is situated under the steering wheel, and on the place of
that liver we can place any other necessity.

45
FUTURE SCOPE

 This system also useful in-home applications like cleaning the window glasses and it
intimates the rainfall and also notify people in the house. So that people can take care
of things like clothes, food grains and products.

 The usage of better speed control mechanisms will guide wiper more effectively and
reduce the consumption of battery power.

46
REFERENCES
i. Hideki Kajioka, et al.; FUJITSU TEN Tech J. No. 2; 1989; Page No. 69.
ii. Mukul Joshi, Kaustubh Jogalekar, Dr. D.N.Sonawane, Vinayak Sagare, M.A.Joshi; IEEE;
2013, Page No. 40.
iii. P. Abhilash Reddy, G. Sai Prudhvi, P J Surya Sankar Reddy, Dr. S. S. Subashka Ramesh;
International Journal of Advance Research, Ideas and Innovation in Technology, Volume 4,
issue 5, 2018.
iv. H. Kurihara, T. Takahashi, I. Ide, Y. Mekada, H. Murase, Y. Tamatsu, and T. Miyahara,
“Rainy Weather Recognition from invehicle Camera Images for Driver Assistance,” In IEEE
Intelligent Vehicles Symposium, 2005, pp. 205-210
v. Anuradha S. Joshi1, Sheeja S. Suresh, "review report on soc on various platforms for
vehicles", International Research Journal of Engineering and Technology (IRJET)
vi. Tapan S. Kulkarni, Harsh S. Holalad, July 2012, “Semi-Automatic Rain Wiper System,”
International Journal of E merging Technology and Advanced Engineering, ISSN 2250-2459,
Volume 2, Issue 7.
vii. N. M. Z. Hashim, July 2013. “Smart Wiper Control System,” International Journal of
Application or Innovation in Engineering & Management (IJAIEM), ISSN 2319 – 4847,
Volume 2, Issue 7.
viii. K. V. Viswanadh, January-2015, “Design & Fabrication of Rain Operated Wiper
Mechanism using Conductive Sensor Circuit,” International Journal of Engineering Research
& Technology (IJERT), ISSN: 2278-0181, Vol. 4, Issue 01.
ix. Sugimoto, M., Kakiuchi, N., Ozaki, N., and Sugawara, R. : ‘A novel technique for
raindrop detection on a car windshield using geometric-photometric model’ in Intelligent
Transportation Systems (ITSC), 2012 15th International IEEE Conference on. IEEE, 2012,
pp. 740–745.
x. Gormer, S., Kummert, A., Park, S.-B., and Egbert, P. : ‘Visionbased rain sensing with an
in-vehiclecamera’ in Intelligent Vehicles Symposium, 2009 IEEE. IEEE, 2009, pp. 279– 284.
xi. Kore, S. S. : ‘A rain sensor’ CBR No. 5955, Patent Application No. 1367, Mumbai 2012.

47
48

You might also like