ESP32 마이크로파이썬 강우 센서
이 자습서에서는 ESP32와 MicroPython을 사용하여 비 또는 눈을 감지하기 위한 레인 센서 사용법을 안내합니다. 우리는 다음과 같은 내용을 학습할 것입니다:
- ESP32에 비 센서를 연결하는 방법.
- 비 센서의 디지털 신호를 사용하여 비를 감지하는 ESP32용 MicroPython 코드를 작성하는 방법.
- 비 센서의 아날로그 신호를 사용하여 강우량을 측정하는 ESP32용 MicroPython 코드를 작성하는 방법.

비나 눈을 감지하면 모터 또는 알람이 작동하도록 코드를 수정할 수 있습니다.
준비물
1 | × | ESP32 ESP-WROOM-32 개발 모듈 | 쿠팡 | 아마존 | |
1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
1 | × | 비 센서 | 아마존 | |
1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
1 | × | (추천) ESP32용 스크루 터미널 확장 보드 | 쿠팡 | 아마존 | |
1 | × | (추천) ESP32용 전원 분배기 | 쿠팡 | 아마존 |
비 센서에 대하여
비 센서는 떨어지는 비나 눈의 양을 감지하고 측정할 수 있습니다. 디지털 신호(LOW 또는 HIGH)와 아날로그 신호의 두 가지 출력 신호를 제공합니다.
우천 센서는 두 개의 부품으로 구성되어 있습니다:
- 센서 패드
- 전자 모듈

감지 패드
센싱 패드는 지붕과 같이 비나 눈에 노출될 수 있는 외부에 설치됩니다. 여러 개의 구리선으로 구성되어 있으며, 이들은 전력선과 센서선이라는 두 종류로 나뉩니다. 이 선들은 별도로 유지되며, 물이나 눈이 닿을 때만 서로 연결됩니다. 두 종류의 선은 동일하게 작동하므로, 어떤 선이든 전력선으로, 다른 선은 센서선으로 지정할 수 있습니다.
전자 모듈
빗물 센서의 전자 모듈은 센싱 패드의 신호를 ESP32가 해석할 수 있는 형태(아날로그 또는 디지털)로 변환합니다. 네 개의 핀이 있습니다.
- VCC 핀: VCC(3.3V ~ 5V 사이)에 연결됩니다.
- GND 핀: GND(0V)에 연결됩니다.
- DO 핀: 비가 오지 않을 때 HIGH, 비가 감지되면 LOW인 디지털 출력 핀입니다. 포텐셔미터를 조정하여 빗물 감지 민감도를 변경할 수 있습니다.
- AO 핀: 감지 패드에 물이 많이 쌓이면 출력 값이 감소하고, 물이 줄어들면 출력 값이 증가하는 아날로그 출력 핀입니다.
모듈에는 또한 두 개의 LED 표시기가 포함되어 있습니다:
- 모듈에 전원이 공급되면 점등되는 전원 표시등(PWR-LED).
- 비가 감지되면 점등되는 DO 핀에 연결된 강우 상태 표시등(DO-LED).
작동 방식
DO 핀의 경우:
- 모듈에는 민감도를 조절할 수 있는 포텐셔미터가 포함되어 있습니다.
- 빗물 양이 많을 때 센서의 출력 핀은 LOW 상태가 되고, DO-LED 조명이 켜집니다.
- 빗물 양이 적을 때 센서의 출력 핀은 HIGH 상태를 유지하며, DO-LED 조명은 꺼져 있습니다.
AO 핀에 관하여:
- 감지 패드가 더 많은 물을 감지할수록 AO 핀 값이 감소합니다.
- 감지 패드가 더 적은 물을 감지할수록 AO 핀 값이 증가합니다.
- 포텐셔미터는 AO 핀 값에 영향을 주지 않습니다.
선연결
센서의 VCC 핀을 ESP32의 3.3V 또는 5V 핀에 연결하세요. 하지만 직접 연결하면 전기화학적 부식으로 인해 센서의 수명이 단축될 수 있습니다. 대신 ESP32의 프로그래밍 가능한 출력 핀에 VCC 핀을 연결하여 측정할 때만 센서에 전원을 공급하세요. 이 방법은 전기화학적 부식을 줄이는 데 도움이 됩니다.
- breadboard를 사용하여 ESP32와 비 센서를 연결하는 방법
비 센서 모듈에는 두 개의 출력이 제공됩니다. 필요에 따라 하나 또는 두 개 모두 사용할 수 있습니다.

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 스크류 터미널 블록 브레이크아웃 보드를 사용하여 ESP32와 빗물 센서를 연결하는 방법

ESP32 마이크로파이썬 코드 - DO 핀에서 값 읽기
자세한 사용 방법
다음은 Thonny IDE를 사용하여 ESP32에서 MicroPython 코드를 설정하고 실행하는 방법에 대한 지침입니다:
- 컴퓨터에 Thonny IDE가 설치되어 있는지 확인하세요.
- ESP32 보드에 MicroPython 펌웨어가 로드되어 있는지 확인하세요.
- MicroPython을 사용하는 ESP32를 처음 사용한다면, 단계별 지침을 위해 ESP32 마이크로파이썬 - 시작하기 가이드를 확인하세요.
- 제공된 다이어그램에 따라 ESP32 보드를 강우 센서에 연결하세요.
- ESP32 보드를 USB 케이블로 컴퓨터에 연결하세요.
- 컴퓨터에서 Thonny IDE를 여세요.
- Thonny IDE에서 Tools Options로 이동하세요.
- Interpreter 탭에서 드롭다운 메뉴를 통해 MicroPython (ESP32)를 선택하세요.
- 올바른 포트가 선택되어 있는지 확인하세요. Thonny IDE가 보통 이를 자동으로 감지하지만, 수동으로 선택해야 할 수도 있습니다 (예: Windows에서는 COM12, Linux에서는 /dev/ttyACM0).
- 제공된 MicroPython 코드를 복사하여 Thonny 에디터에 붙여넣으세요.
- 코드를 ESP32에 저장하려면:
- Save 버튼을 클릭하거나 Ctrl+S를 누르세요.
- 저장 대화상자에서 MicroPython device를 선택하세요.
- 파일 이름을 main.py로 지정하세요.
- 녹색 Run 버튼을 클릭하거나 (또는 F5 키를 눌러) 스크립트를 실행하세요.
- 강우 센서에 물방울을 몇 개 떨어뜨리세요. 순수한 물은 사용하지 마세요.
- Thonny 하단의 Shell에 표시되는 메시지를 확인하세요.
참고: 비가 오는 중에도 LED 조명이 계속 켜져 있거나 꺼져 있다면, 가변저항기를 변경하여 센서의 민감도를 조절하십시오.
ESP32 MicroPython 코드 - AO 핀에서 값 읽기
자세한 사용 방법
- 코드를 복사하여 Thonny IDE에서 엽니다.
- 녹색 Run 버튼(또는 F5 키)을 클릭하여 스크립트를 실행합니다. 스크립트가 실행됩니다.
- 비 센서에 물을 약간 부어보세요.
- Thonny 하단의 Shell에서 메시지를 확인하세요.
※ 주의:
이 튜토리얼은 빗물 센서에 연결된 ADC(아날로그-디지털 컨버터)에서 값을 읽기 위해 adc.read() 함수를 사용하는 방법을 보여줍니다. ESP32의 ADC는 높은 정밀도가 필요하지 않은 프로젝트에 적합합니다. 그러나 프로젝트에서 정확한 측정값이 필요하다면 다음 사항을 명심하십시오:
- ESP32 ADC는 완벽하게 정확하지 않으며 정밀한 결과를 위해 교정이 필요할 수 있습니다. 각 ESP32 보드는 약간씩 다를 수 있으므로 개별 보드마다 교정이 필요합니다.
- 교정은 특히 초보자에게는 어려울 수 있으며, 원하는 정확한 결과를 항상 보장하지는 않을 수 있습니다.
높은 정밀도가 요구되는 프로젝트의 경우, ESP32와 함께 외부 ADC(예: ADS1115)를 사용하거나 좀 더 신뢰할 수 있는 ADC를 가진 Arduino를 고려해 보십시오. ESP32 ADC를 계속해서 교정하고자 한다면, ESP32 ADC Calibration Driver를 참조하십시오.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.