Data of Wiper Project
Data of Wiper Project
Sensor /Arduino
Hi guys! Today we are going to make own rain sensor for our cars.
We will use arduino for this project. We will make only prototype for
now.
Let's start..:)
Add TipAsk QuestionCommentDownload
Teacher Notes
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Add Teacher Note
Step 1: What Will We Need?
1- Arduino
3- Servo Motor
Add TipAsk QuestionCommentDownload
Step 2: What Is the Water/Rain Sensor?
You can buy easily this sensor. You can find all websites. This is very
cheap.
-It has a lot of metal shapes. If you drop water onto sensor, sensor will
send analog messages to arduino.
Pins are;
Gnd
5v
S.
Add TipAsk QuestionCommentDownload
Step 3: Connections;
Signal to A0,
5v to 5v,
Gnd to Gnd,
+Servo to Arduino;
Signal to D9,
5v to 5v,
Gnd to Gnd,
Add TipAsk QuestionCommentDownload
Step 4: Codes;
If you have an idea Please Share Us..:) Idea; What ever you thinking
about..:)
You can see my other projects from this link; Other Useful Projects
DATA-3
Skip to content
Automatic wiper for Automobile using Arduino and Rainsensor
According to WHO, more than 1.25 million people die every year because of road crashes
and mostly in rainy seasons. People end up dying because of small mistakes. Here we have
forwarded an attempt to reduce that number. The project is especially suited for car. The
project is centered around Arduino UNO board.
So as to measure the rainfall intensity, a separate rainfall module is used in the project.
Depending on the data collected from the module, a servo motor is assigned to control the
movements of the wiper. The user is also provided with the rainfall information through a
LCD module included in the project. The servo motor is responsible for producing PWM
signal at its output line and its speed is controlled by the controller.
Servo Motor x1
The rain intensity module which we are using for this particular project is MH-RD rain
detector. This module comprises 4 pins: Vcc, A0, D0 and Gnd. And, two of the pins; Vcc and
Gnd of this module are interfaced with the supply pins of the arduino module. Out of two
remaining pins from the module, A0 supplies analog output where as D0 supplies digital
output. But, here in our case, we need to monitor the intensity variation of the rainfall and
thus we ignore the digital output pin D0 and connect the analog output from module; A0 to
one of the analog input pins of the arduino uno board.
For wiper movements control, a servo motor is installed. The servo motor produces suitable
PWM output signal which is responsible to adjust its shaft to a desirable position. The
output signal from servo motor is supplied as input to digital pin 9 which is one of the PWM
pins of Arduino UNO. A 16*2 JHD162A LCD does the task of displaying the intensity of
rainfall on its screen. This LCD is based on the HD44780 driver from Hitachi. There are two
working modes available in the LCD; 4-bit mode and 8-bit mode. For this project, we will use
4-bit mode. The interface between Arduino Uno board and LCD is made much easier by the
use of built-in arduino library file <LiquidCrystal.h>. The Arduino pins 13, GND and 10 are
matched with control pins of the LCD; RS, RW and En respectively. Similarly, Arduino pins
7,6,5 and 4 are linked with data pin D4-D7 of the LCD.
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 servo
motor. The rainfall intensity is continuously displayed on the LCD screen.
The rainfall sensor sends the analog signal to the Arduino pin. It uses
‘analogRead(pin_number)’ function to extract that signal. Lets take an example, a
function(analogRead(sensorPin);) generates an integer output in between the range of 0 to
1023 from the voltage of 0 to 5V voltage range at the A0 pin. Hence, the current intensity of
the rainfall is identified by comparing the A0 voltage with a fixed number.The threshold is
set for the project and when the reading from the rainfall detector exceeds that value, the
controller activates the motor whose speed is controlled according to the sensor reading.
“wipe(speed)” is a user defined function used to control the motor speed.
“lcd.print(low/medium/high)” function is used to display the intensity information on the
LCD screen.
DATA-2
Motor
Assemble the circuit as shown in diagram! Important connections are explained below.
MH-RD rain detector is the sensor module that we are using here. The module have 4
pins: Vcc, A0, D0 and Gnd. Vcc and Gnd are connected to the supply pins of the
Arduino. A0 and D0 are the analog and digital output pins of the module respectively.
Since we need continuous change in rainfall, we will make use of the A0 pin instead of
D0. The analog out from senor is then connected to one analog input pin of Arduino.
As mentioned earlier a servo motor is used here for wiper movements. Servo motor is a
special kind of high torque dc motor whose shaft can be adjusted to desirable position by
generating an appropriate PWM signal at its signal line. Here we connect the signal line
of servo to one of the PWM pin of Arduino(i.e. digital pin 9). Next comes is the LCD
module, which is for displaying the rainfall intensity. Interfacing of Arduino to 16×2
LCD is quite simple. JHD162A is the LCD module used here. JHD162A is a 16×2 LCD
module based on the HD44780 driver from Hitachi. The JHD162A has 16 pins and can
be operated in 4-bit mode (using only 4 data lines) or 8-bit mode (using all 8 data lines).
Here we are using the LCD module in 4-bit mode. To facilitate communication between
Arduino and LCD module, we make use of a built in library in Arduino
<LiquidCrystal.h> – which is written for LCD modules making use of the Hitachi
HD44780 chipset (or a compatible chipset). Control pin RS, RW and En are directly
connected to arduino pin 13, GND and 10. And data pin D4-D7 is connected to 7,6,5 and
4 of Arduino.
When the device is switched ON, the servo motor will turn the wiper to zero degree
position. After that the controller will continuously checks the signal from rain sensing
module. If the signal from the module goes beyond a minimum value, the servo motor
begins to operate . The speed of operation of servo will be varied according to the
strength of the signal. And the intensity of rainfall will be displayed on the LCD
according to the signal strength .
The Program/Code
Download Program
At the beginning ,program will continuously check the reading from the rain sensor. A
library called “Servo.h” is used here for servo operations. By calling the inbuilt function
“myservo.write(angle)” we can turn the servo shaft to desired angle. One more library
called “LiguidCrystal.h” is used , to facilitate communication between Arduino and LCD
module. At the interfacing section the LiquidCrystal library is first initialized and then
pins are defined using the command “LiquidCrystal lcd(RS, E, D4, D5, D6, D7)”.
The position of the servo will be at 0 degree at the beginning. The Arduino reads the
sensor output through the analog input pins using the built in “analogRead(pin_number)”
function. For example “analogRead(sensorPin);” converts the voltage (in the range 0 to
5V) at the A0 pin into an integer in the range 0 to 1023. In this way the voltage at A0 is
compared to a fixed number for identifying the current rainfall intensity . If the value
obtained from the sensor goes beyond a specific limit, the controller will trigger the servo
to operate. And the speed of operation will be varied according to the sensor output. A
user defined function called “wipe(speed)” is used for controlling the servo speed.
Meanwhile the intensity of rainfall will be displayed on the LCD module using the
function “lcd.print(“low/medium/high”).