ESP32 C3 Super Mini 빗센서

빗센서를 사용하여 ESP32 C3 Super Mini로 강우를 감지하고 습도 수준을 측정하는 방법을 배웁니다. 이 초보자 친화적인 튜토리얼은 간단한 배선 및 코드 예제를 포함한 디지털 및 아날로그 빗 감지 방법을 다룹니다.

이 튜토리얼에서 배우게 될 내용:

ESP32 rAIn sensor

이 튜토리얼을 완료한 후 코드를 수정하여 빗이 감지될 때 알람, 모터 또는 자동화된 시스템을 활성화할 수 있습니다.

필요한 하드웨어

1×ESP32 C3 Super Mini 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×비 센서 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

빗센서 소개

빗센서는 센싱 패드의 습도 감지를 통해 강우 또는 눈의 수준을 감지하고 측정하는 전자 모듈입니다.

주요 특징:

  • 이중 출력 모드: 디지털 (빗/빗 없음) 및 아날로그 (강도 수준)
  • 내장된 전위차계를 통한 조정 가능한 감도
  • 빗 및 눈 감지 모두에 작동
  • 동작 전압: 3.3V에서 5V
  • 실시간 감지를 위한 빠른 응답 시간
  • 기상 관측소 및 자동화된 시스템에 완벽함

두 가지 주요 구성 요소:

  • 센싱 패드: 노출된 구리 추적이 있는 야외 감지 표면
  • 전자 모듈: 아날로그 및 디지털 출력을 가진 신호 프로세서
rAIn sensor 사용법 핀아웃
image source: diyables.io

센싱 패드

센싱 패드는 강우 또는 눈을 향하는 야외 배치를 위해 설계되었습니다.

작동 방식:

  • 두 그룹으로 나뉜 노출된 구리 추적으로 구성됨
  • 전원 추적 및 센스 추적은 건조할 때 분리된 상태로 유지
  • 물 또는 눈이 추적을 연결하여 회로 완성
  • 두 그룹 중 하나가 전원 또는 센스 추적으로 작동할 수 있음
  • 더 큰 표면 영역은 더 나은 감지 정확도 제공

전자 모듈

전자 모듈은 센싱 패드의 신호를 처리하고 ESP32 호환 출력으로 변환합니다.

핀 구성:

  • VCC pin: 전원 공급 연결 (3.3V에서 5V)
  • GND pin: 접지 연결 (0V)
  • DO pin: 디지털 출력 (건조할 때 HIGH, 젖을 때 LOW)
  • AO pin: 아날로그 출력 (습도 강도에 따라 변함)

LED 표시기:

  • PWR-LED: 전원 표시기 (전원이 있을 때 항상 켜짐)
  • DO-LED: 빗 감지 표시기 (빗이 감지될 때 켜짐)

감도 조정:

  • 내장된 전위차계가 디지털 임계값을 조정합니다
  • 시계 방향으로 회전하여 감도 증가
  • 시계 반대 방향으로 회전하여 감도 감소
  • DO pin에만 영향을 미치고 AO pin 판독값에는 영향 없음

작동 방식

디지털 출력 (DO Pin):

  • 전위차계는 빗 감지 임계값을 설정합니다
  • 습도가 임계값을 초과할 때: DO pin은 LOW로 가고 LED가 켜집니다
  • 습도가 임계값 이하일 때: DO pin은 HIGH로 유지되고 LED가 꺼집니다
  • 간단한 빗/빗 없음 감지 프로젝트에 이상적

아날로그 출력 (AO Pin):

  • 지속적인 습도 수준 판독값 제공
  • 패드의 물이 많을수록 = 낮은 AO 값
  • 패드의 물이 적을수록 = 높은 AO 값
  • 전위차계 설정의 영향을 받지 않음
  • 강우 강도 측정에 최적

중요한 참고: ESP32 GPIO pin을 사용하여 센서에 전원을 공급하는 것 (상수 5V/3.3V 대신)은 판독값 간의 전기화학적 부식을 줄임으로써 센서 수명을 크게 연장합니다.

배선 다이어그램

빗센서 모듈은 디지털 감지, 아날로그 측정 또는 둘 다가 필요한지 여부에 따라 유연한 배선 옵션을 제공합니다.

전원 연결 모범 사례:

  • VCC를 ESP32 GPIO pin에 연결합니다 (직접 5V/3.3V가 아님)
  • 판독값 중에만 센서에 전원 공급
  • 이는 전기화학적 부식을 최소화하고 센서 수명을 연장합니다
ESP32 C3 Super Mini rAIn sensor 연결 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

Rain Sensor Pin ESP32 C3 Super Mini Pin
VCC GPIO2
GND GND
DO GPIO6
AO A5 (GPIO5 / ADC1_CH5)

ESP32 C3 Super Mini 코드 - DO pin에서 값 읽기

이 코드는 빗센서의 디지털 출력을 사용하여 빗을 감지하는 방법을 보여줍니다.

코드가 하는 일:

  • GPIO2를 통해 센서에만 판독값이 있을 때 빗센서에 전원 공급
  • DO pin의 디지털 신호를 읽어 빗 존재 감지
  • Serial Monitor에 빗 감지 상태 표시
  • 스마트 파워 제어로 센서 부식 최소화
  • 실시간 빗/빗 없음 알림 제공
/* * 이 ESP32 C3 Super Mini 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 C3 Super Mini 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-c3/esp32-c3-super-mini-rain-sensor */ #define POWER_PIN 2 // The ESP32 C3 SuperMini pin that provides the power to the rain sensor #define DO_PIN 6 // The ESP32 C3 SuperMini pin connected to DO pin of the rain sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(115200); // initialize theArduino Nano ESP32 pin as an input pinMode(POWER_PIN, OUTPUT); // Configure the power pin pin as an OUTPUT pinMode(DO_PIN, INPUT); } void loop() { digitalWrite(POWER_PIN, HIGH); // turn the rain sensor's power ON delay(10); // wait 10 milliseconds int rain_state = digitalRead(DO_PIN); digitalWrite(POWER_PIN, LOW); // turn the rain sensor's power OFF if (rain_state == HIGH) Serial.println("The rain is NOT detected"); else Serial.println("The rain is detected"); delay(1000); // pause for 1 sec to avoid reading sensors frequently to prolong the sensor lifetime }

빠른 단계

  • ESP32 C3 Mini가 처음이신가요? 개발 환경을 설정하려면 먼저 우리의 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료합니다.
  • 코드 업로드: 위의 코드를 복사하여 Arduino IDE에서 열기
  • 보드 선택: 보드 메뉴에서 ESP32 C3 Super Mini 선택
  • ESP32 연결: USB-C 케이블을 통해 ESP32 C3 Super Mini 연결
  • 업로드: Upload 버튼을 클릭하여 ESP32에 코드 전송
  • 센서 테스트: 빗센서 패드에 물을 떨어뜨립니다
  • Serial Monitor 열기: 115200의 보드레이트를 설정하여 결과 보기
  • 감도 조정: 필요한 경우 전위차계를 회전하여 감지 미세 조정
  • 프로 팁: 응용 프로그램에 완벽한 임계값을 찾으려면 다양한 물의 양으로 감도 조정을 테스트합니다
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
[April 15, 2026 10:23:45] The rain is NOT detected [April 15, 2026 10:23:46] The rain is NOT detected [April 15, 2026 10:23:47] The rain is NOT detected [April 15, 2026 10:23:48] The rain is detected [April 15, 2026 10:23:49] The rain is detected [April 15, 2026 10:23:50] The rain is detected [April 15, 2026 10:23:51] The rain is detected [April 15, 2026 10:23:52] The rain is detected [April 15, 2026 10:23:53] The rain is NOT detected [April 15, 2026 10:23:54] The rain is NOT detected
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

DO-LED가 물의 존재 여부와 관계없이 계속 켜지거나 꺼져 있으면 전위차계를 시계 방향 또는 시계 반대 방향으로 회전하여 환경의 감도 임계값을 보정합니다.

ESP32 C3 Super Mini 코드 - AO pin에서 값 읽기

이 코드는 빗센서의 아날로그 출력을 사용하여 빗의 강도를 측정하는 방법을 보여줍니다.

코드가 하는 일:

  • GPIO2를 통해 판독값 중에만 센서에 전원 공급
  • AO pin의 아날로그 값을 읽어 습도 수준 측정
  • Serial Monitor에 수치 강우 강도 표시
  • 낮은 값은 센서 패드의 물이 많음을 의미
  • 높은 값은 건조한 상태를 의미
/* * 이 ESP32 C3 Super Mini 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 C3 Super Mini 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-c3/esp32-c3-super-mini-rain-sensor */ #define POWER_PIN 2 // The ESP32 C3 SuperMini pin that provides the power to the rain sensor #define AO_PIN A5 // The ESP32 C3 SuperMini pin connected to AO pin of the rain sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(115200); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); pinMode(POWER_PIN, OUTPUT); // Configure the power pin pin as an OUTPUT } void loop() { digitalWrite(POWER_PIN, HIGH); // turn the rain sensor's power ON delay(10); // wait 10 milliseconds int rain_value = analogRead(AO_PIN); digitalWrite(POWER_PIN, LOW); // turn the rain sensor's power OFF Serial.println(rain_value); // print out the analog value delay(1000); // pause for 1 sec to avoid reading sensors frequently to prolong the sensor lifetime }

빠른 단계

  • ESP32 C3 Mini가 처음이신가요? 개발 환경을 설정하려면 먼저 우리의 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료합니다.
  • 코드 업로드: 위의 코드를 복사하여 Arduino IDE에서 열기
  • 보드 선택: 보드 메뉴에서 ESP32 C3 Super Mini 선택
  • ESP32 연결: USB-C 케이블을 통해 ESP32 C3 Super Mini 연결
  • 업로드: Upload 버튼을 클릭하여 ESP32에 코드 전송
  • 물로 테스트: 센서 패드에 물방울을 점진적으로 추가
  • Serial Monitor 열기: 115200의 보드레이트를 설정하여 아날로그 판독값 보기
  • 변화 관찰: 습도가 증가함에 따라 값이 감소하는 것을 확인합니다
  • 프로 팁: 센서의 건조 및 습윤 값을 기록하여 사용자 정의 강우 강도 범위를 만듭니다 (가벼운 빗, 적당한 빗, 폭우)
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
[April 15, 2026 10:45:12] Analog Value: 3845 [April 15, 2026 10:45:13] Analog Value: 3821 [April 15, 2026 10:45:14] Analog Value: 2456 [April 15, 2026 10:45:15] Analog Value: 1687 [April 15, 2026 10:45:16] Analog Value: 1023 [April 15, 2026 10:45:17] Analog Value: 978 [April 15, 2026 10:45:18] Analog Value: 965 [April 15, 2026 10:45:19] Analog Value: 1134 [April 15, 2026 10:45:20] Analog Value: 2187 [April 15, 2026 10:45:21] Analog Value: 3512
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

※ 주의:

이 튜토리얼은 센서 또는 구성 요소에 연결된 ADC (아날로그-디지털 변환기)에서 값을 읽기 위해 analogRead() 함수를 사용합니다. ESP32 C3 Super Mini의 ADC는 높은 정확도를 필요로 하지 않는 프로젝트에 적합합니다. 그러나 정확한 측정을 필요로 하는 프로젝트의 경우 다음을 주의하세요:

  • ESP32 C3 Super Mini의 ADC는 완벽하게 정확하지 않으며 올바른 결과를 위해 보정이 필요할 수 있습니다. 각 ESP32 C3 Super Mini 보드는 약간 다를 수 있으므로 각 개별 보드에 대해 보정이 필요합니다.
  • 보정은 특히 초보자의 경우 어려울 수 있으며 항상 원하는 정확한 결과를 얻지 못할 수 있습니다.

높은 정밀도가 필요한 프로젝트의 경우 ESP32 C3 Super Mini와 함께 외부 ADC (예: ADS1115)를 사용하거나 더 안정적인 ADC를 가진 Arduino Uno R4 WiFi와 같은 다른 Arduino를 사용하는 것을 고려합니다. 여전히 ESP32 C3 Super Mini의 ADC를 보정하려면 ESP32 ADC Calibration Driver를 참조합니다.

응용 및 프로젝트 아이디어

ESP32 C3 Super Mini 빗센서를 실제 프로젝트에서 사용하는 실질적인 방법은 다음과 같습니다:

  • 스마트 홈 자동화: 빗이 감지될 때 창과 천창 자동 닫기
  • 정원 관수 시스템: 강우 중에 자동 분사기 비활성화하여 물 절약
  • 기상 관측소: 강우 데이터 로깅을 포함한 완전한 기상 모니터링 시스템 구축
  • 자동차 알림 시스템: 빗이 시작될 때와 자동차 창이 열려 있을 때 스마트폰을 통해 알림
  • 의류 건조 모니터: 야외 세탁물을 안으로 가져가야 할 때 경고
  • 온실 컨트롤러: 빗 감지에 따라 환기 및 관개 조정
  • 스마트 우산 알림: 빗이 감지될 때 우산을 가지도록 상기

비디오 튜토리얼

이 ESP32 C3 Super Mini 빗센서 프로젝트의 시각적 안내를 보려면 아래 비디오를 시청합니다.

도전 과제

이 도전 과제를 통해 ESP32 C3 Super Mini 빗센서 기술을 다음 단계로 가져갑니다:

  • 쉬움: 디지털 출력을 사용하여 빗이 감지될 때 켜지는 LED 추가
  • 쉬움: 아날로그 임계값을 사용하여 가벼운 빗과 폭우에 대한 다른 경고 메시지 만들기
  • 중간: 장기 기상 추적을 위해 타임스탬프와 함께 강우 데이터를 SD 카드에 기록
  • 중간: WiFi 연결을 사용하여 빗이 감지될 때 이메일 또는 푸시 알림 전송
  • 고급: 빗센서를 온도 및 습도 센서와 결합한 완전한 기상 관측소 구축
  • 고급: 강우 패턴을 추적하고 머신 러닝을 사용하여 예측하는 예측 시스템 만들기