아두이노 나노 ESP32 - 토양 습도 센서 | Arduino Nano ESP32 - Soil Moisture Sensor
이 튜토리얼에서는 Arduino Nano ESP32를 사용하여 센서에서 토양 수분을 읽는 방법에 대한 지침을 제공합니다. 구체적으로, 우리는 다음을 배우게 됩니다:
- 정전용량형 수분 센서 대 저항형 수분 센서
- 아두이노 나노 ESP32를 사용하여 정전용량형 수분 센서의 값을 읽는 방법
- 정전용량형 수분 센서를 보정하는 방법
- 아두이노 나노 ESP32가 토양이 축축한지 건조한지를 어떻게 결정하는지
준비물
1 | × | Arduino Nano ESP32 | Amazon | |
1 | × | USB Cable Type-C | 쿠팡 | Amazon | |
1 | × | Capacitive Soil Moisture Sensor | Amazon | |
1 | × | Breadboard | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Optional) DC Power Jack | 쿠팡 | Amazon | |
1 | × | (Recommended) Screw Terminal Expansion Board for Arduino Nano | 쿠팡 | Amazon |
토양 수분 센서에 관하여
습도 센서에는 두 가지 종류가 있습니다:
- Resistive moisture sensor - 저항성 습도 센서
- Capacitive moisture sensor - 정전용량식 습도 센서
두 센서 모두 토양 수분 값을 출력합니다. 하지만, 그들의 작동 원리는 다릅니다. 다음과 같은 이유로 우리는 적외선 수분 센서 사용을 적극 추천합니다:
- 저항식 토양 수분 센서는 시간이 지남에 따라 부식됩니다. 센서 프로브 사이에 흐르는 전기 전류가 전기화학적 부식을 일으킵니다.
- 용량성 토양 수분 센서는 시간이 지나도 부식되지 않습니다. 센서의 전극이 노출되지 않으며 그 사이에 전기 전류가 흐르지 않습니다.
아래 이미지는 저항성 토양 수분 센서의 부식을 보여줍니다.
이 튜토리얼의 나누지는 부분은 캐패시티브 토양 습도 센서를 사용합니다.
정전 용량식 토양 수분 센서 핀배열
정전 용량식 토양 수분 센서에는 세 개의 핀이 있습니다:
- GND 핀: 이 핀을 GND(0V)에 연결하세요.
- VCC 핀: 이 핀을 VCC(5V 또는 3.3V)에 연결하세요.
- AOUT 핀: 아날로그 신호 출력 핀은 토양 습도 수준에 반비례하여 전압을 출력합니다. 이 핀을 ESP32의 아날로그 입력 핀에 연결하세요.
작동 원리
토양에 물이 더 많이 존재할수록 AOUT 핀의 전압은 더 낮아집니다.
선연결
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
아두이노 나노 ESP32 코드
사용 방법
- 위의 코드를 복사하여 아두이노 IDE에 붙여넣으세요.
- 아두이노 나노 ESP32 보드에 코드를 업로드하려면 아두이노 IDE에서 Upload 버튼을 클릭하세요.
- 센서를 토양에 묻은 다음, 토양에 물을 부으세요. 또는 천천히 소금물 한 컵에 담그세요.
- 시리얼 모니터에서 결과를 확인하세요. 아래와 같이 보입니다:
※ NOTE THAT:
- 순수한 물을 사용하지 말아야 합니다. 순수한 물은 전기를 전도하지 않으므로 센서 측정값에 영향을 주지 않습니다.
- 센서 측정값은 절대로 0으로 떨어지지 않습니다. 값이 3100에서 2600 사이인 것이 정상이긴 하지만 이는 센서의 설치 깊이, 토양이나 물의 구성, 전원 공급 전압과 같은 요소에 따라 달라질 수 있습니다.
- 센서의 상단에 위치한 회로 부분을 토양이나 물에 묻지 않도록 해야 합니다. 이는 센서에 잠재적인 피해를 줄 수 있기 때문입니다.
정전 용량식 토양 수분 센서 교정
습도 센서에서 측정된 값은 상대적입니다. 그것은 토양의 구성과 물에 따라 달라집니다. 실제로는, 젖었는지 마른지의 경계선이 되는 한계점을 결정하기 위해 보정을 해야 합니다.
보정하는 방법:
- 아두이노 나노 ESP32에서 위의 코드를 실행하세요.
- 토양에 수분 센서를 심으세요.
- 토양에 수분 센서를 심으세요.
- 토양을 천천히 관개하세요.
- 시리얼 모니터를 관찰하세요.
- 토양의 수분이 건조에서 젖은 상태로 변하는 것을 느낄 때의 값을 기록하세요. 이 값을 임계값이라고 합니다.
토양이 젖었는지 건조한지 확인하십시오.
보정 후에는 아래 코드에 적어둔 임계값(THRESHOLD)을 업데이트하세요. 아래 코드는 토양이 젖었는지 건조한지를 결정합니다.
시리얼 모니터의 결과.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.
함수 참조들
analogRead()을(를) 읽기