![]() |
![]() |
![]() |
Rain Sensor는 비나 눈이 내리면 감지하여 장치를 제어하는데 사용된다.
활용성 :
1. 자동차의 와이퍼 시스템에 연결되어 비가 감지되면 와이퍼를 자동으로 작동시킬 수 있다.
2. 스마트 하우스 시스템에서 비가 감지되면 창문을 자동으로 닫는 기능을 수행할 수 있다.
3. 자동관개 시스템에서 비가 감지되면 농작물의 물 공급을 중단하여 에너지를 절양하는 기능을 수행할 수 있다.
구조 원리 :
이 센서의 구조는 두개의 금속 트랙이 기판에 격자모양과, 골뱅이 모양으로 배열되어 있다.
원리는 빗방울이 금속 트랙에 닿으면 전기 저항값이 변하여 이를 감지하여 장치를 제어할 수 있다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
https://link.coupang.com/a/b2E4y0
비 눈 습도 환경감지 센서 모듈 - 기타측정도구 | 쿠팡
쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.
www.coupang.com
https://link.coupang.com/a/b2vTO0
아두이노 LCD1602 16x2 4핀 디스플레이 모듈/ Arduino LCD1602 Module - 액세서리 | 쿠팡
쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.
www.coupang.com
https://link.coupang.com/a/b2vSOT
ATmega328P 마이크로 컨트롤러가 있는 아두이노 우노 R3 개발 보드 - 액세서리 | 쿠팡
쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.
www.coupang.com
https://link.coupang.com/a/b2E5Xq
액티브/패시브 버저 모듈 - 기타전기설비부자재 | 쿠팡
쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.
www.coupang.com
실습 예제 :
비 감지 센서를 아두이노에 사용하여 자동 와이퍼 시스템을 만들어 보겠다.
작동 방식은 비 감지 센서에 물이 감지되면 서보모터가 90도 회전하면서 와이퍼 작동이 된다. 동시에 LED다이오드가 켜지면서 부저모듈에서 경고음이 울리도록 한다. 또한 LCD 디스플레이에 센서감지 수치와, 와이퍼 작동(OPEN)할 때와 작동하지 않을(CLOSE) 때를 현시하여 준다.
준비물 :
아두이노 우노 R3, Rain 센서 모듈, LCD1602 디스플레이 모듈, 부저모듈, LED다이오드, 서보모터 등이 사용된다.
![]() |
![]() |
![]() |
Rain 센서 모듈 | 아두이노 우노 R3 | LCD1602 디스플레이 모듈 |
![]() |
![]() |
![]() |
서보 모터 | 부저 모듈 | LED 다이오드 |
회로 연결 :

아두이노 우노 R3 | Rain 센서 | LCD1602 | 부저모듈 | 서보모터 | LED 다이오드 |
+5V | VCC | VCC | VCC | ||
GND | GND | GND | GND | GND | GND |
A0 | AO | ||||
A4 | SDA | ||||
A5 | SCL | ||||
D7 | DO | ||||
D8 | S | ||||
D9 | +핀 | ||||
D13 | +핀 |

서보모터:
- VCC (Red wire): 아두이노의 5V 핀에 연결
- GND (Brown wire): 아두이노의 GND 핀에 연결
- Signal (Orange wire): 아두이노의 디지털 핀 (예: D8)에 연결
위와 같이 회로연결이 되면 다음과 같이 코딩을 작성한다.
코드 :
#include <LiquidCrystal_I2C.h> // LCD1602 함수 선
#include <Servo.h>
// 레인 센서가 연결된 아날로그 핀
const int rainSensorPin = A0;
const int ledPin = 13; // LED가 연결된 디지털 핀
const int buzzerPin = 9; // 부저 모듈이 연결된 디지털 핀
const int servoPin = 8; // 서보모터가 연결된 디지털 핀
const int threshold = 300; // 비 감지 임계값
LiquidCrystal_I2C lcd (0x27,16,2); // LCD1602 hexa값, 2행 16열 설정
Servo myServo; // 서보모터 객체 생성
void setup() {
lcd.init(); // LCD 초기화
lcd.backlight(); // LCD 백라이트 켬
Serial.begin(9600); // 시리얼 모니터 시작
pinMode(ledPin, OUTPUT); // LED 핀을 출력 모드로 설정
myServo.attach(servoPin); // 서보모터 핀 설정
myServo.write(0); // 초기 위치 설정 (창문 열림 상태)
}
void loop() {
// 레인 센서의 아날로그 값을 읽음
int sensorValue = analogRead(rainSensorPin);
// 시리얼 모니터에 값 출력
Serial.print("Rain Sensor Value: ");
Serial.println(sensorValue);
// 센서 값이 임계값보다 작으면 (비가 내리면) LED 켜기
if (sensorValue < threshold) {
digitalWrite(ledPin, HIGH);
tone(buzzerPin, 1000); // 부저를 1kHz로 설정하여 소리 출력
myServo.write(90); // 서보모터를 90도로 회전 (창문 닫기)
lcd.setCursor(0,1); // LCD 1행 2열에 출력
lcd.print("WIPER : CLOSE");
} else {
digitalWrite(ledPin, LOW);
noTone(buzzerPin); // 부저 소리를 끔
myServo.write(0); // 서보모터를 0도로 회전 (창문 열기)
lcd.setCursor(0,1); // LCD 1행 2열에 출력
lcd.print("WIPER : OPEN");
}
lcd.setCursor(0,0); // LCD 1행 1열에 출력
lcd.print("Value : ");
lcd.print(sensorValue); // LCD에 센서값 출력
delay(1000); // 1초 대기
lcd.clear(); // LCD 클리어
}
코딩 설명 :
Rain 센서는 아날로그 핀(AO)은 아두이노 A0로 설정하였고, 서보모터는 D8, 부저모듈은 D9, LED다이오드는 D13핀으로 설정하였다.
비 감지센서 임계 값은 300으로 설정하였고, 임계 값이 300이하로 떨어지면 아두이노에 연결된 장치들이 작동 되게 하였다. (서보모터 : 90도 회전, 부저모듈 : 경고음 울림, LED다이오드 : ON, LCD1602 : WIPER "OPEN, CLOSE" 출력)
임계 값이 300이상인 경우에는 아두이노에 연결된 모든 장치들은 작동되지 않게 하였다.
코딩을 전부 작성하고 파일을 아두이노에 업로드 하면 다음과 같은 출력 결과를 볼 수 있다.
출력 결과 :
https://www.youtube.com/watch?v=lHVTQ1rqRyc
결과는 빗물이 감지되었을 때 와이퍼 작동 모터가 움직이고 빗물이 없으면 와이퍼도 멈추게 된다.
이 빗물감지 센서를 이용하여 강수감지, 자동차 응용, 관개 시스템, 가정 자동화, 산업 및 환경 모니터링 등 다양한 시스템을 개발할 수 있다.
'아두이노 센서 모듈 활용' 카테고리의 다른 글
YX5300 모듈을 사용한 아두이노 MP3 플레이어 (0) | 2024.05.29 |
---|---|
0.91Inch 128X32 OLED 디스플레이 모듈 사용법 (0) | 2024.05.28 |
SW-420 모션센서를 사용한 아두이노 진동 감지기 (0) | 2024.05.20 |
아두이노 압전진동 타진센서 측정기 (0) | 2024.05.15 |
탁도 감지센서를 사용한 "아두이노 탁도감지 측정기" (0) | 2024.05.13 |