라즈베리 파이 토양 수분 센서
이 튜토리얼은 라즈베리 파이와 함께 수분 센서를 사용하는 방법을 안내합니다. 구체적으로는 다음을 살펴보겠습니다:
- 저항식 및 용량식 수분 센서의 차이점
- Raspberry Pi를 사용하여 수분 센서의 값을 읽도록 프로그래밍하는 방법
- Raspberry Pi를 사용하여 수분 센서를 보정하는 방법
- Raspberry Pi가 흙이 젖었는지 건조했는지를 결정하는 방법
Hardware Preparation
1 | × | Raspberry Pi 4 Model B | Amazon | |
1 | × | Capacitive Soil Moisture Sensor | Amazon | |
1 | × | ADS1115 ADC Module | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (추천) Screw Terminal Block Shield for Raspberry Pi | 쿠팡 | Amazon | |
1 | × | (추천) USB-C Power Cable with On/Off Switch for Raspberry Pi 4B | Amazon | |
1 | × | (추천) Plastic Case and Cooling Fan for Raspberry Pi 4B | Amazon | |
1 | × | (추천) HDMI Touch Screen Monitor for Raspberry Pi | Amazon |
토양 수분 센서에 대해
습기 센서는 두 가지 유형이 있습니다: 저항식 습기 센서와 정전식 습기 센서.
두 센서는 모두 토양 수분 정보를 제공합니다. 그러나 그들의 작동 방식은 유사하지 않습니다. 다음과 같은 이유로 우리는 정전식 습도 센서의 사용을 강력히 권장합니다:
- 저항식 토양 수분 센서는 시간이 지남에 따라 부식되기 쉽습니다. 이는 전류가 프로브 사이를 통과하여 전기화학적 부식을 초래하기 때문입니다.
- 커패시티브 토양 수분 센서는 시간에 따라 부식되지만 저항식 토양 수분 센서보다 훨씬 느리게 부식됩니다. 이는 전극이 노출되지 않고 부식에 비교적 강하기 때문입니다.
이것은 부식으로 인해 손상된 저항형 토양 습도 센서의 사진입니다.
이 튜토리얼의 나머지 부분에서는 정전식 토양 수분 센서를 사용할 것입니다.
커패시티브 토양 수분 센서 핀아웃
커패시티브 토양 수분 센서는 세 개의 핀이 있습니다:
- GND 핀: 이는 GND (0V)에 연결해야 합니다.
- VCC 핀: 이는 VCC (5V 또는 3.3V)에 연결해야 합니다.
- AOUT 핀: 이는 토양 수분 수준에 비례하는 전압을 생성하는 아날로그 신호 출력 핀입니다. 이는 라즈베리 파이의 아날로그 입력 핀에 연결해야 합니다.
작동 방식
토양의 수분량은 AOUT 핀의 전압에 영향을 미치며, 수분 함량이 많을수록 전압은 낮아집니다.
Wiring Diagram
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
배선 구성을 간단하고 체계적으로 만들기 위해, Raspberry Pi용 스크루 터미널 블록 실드 사용을 권장합니다. 이 실드는 아래와 같이 더욱 안정적이고 관리하기 쉬운 연결을 제공합니다:
Raspberry Pi 코드가 토양 수분 센서에서 값을 읽습니다.
Detailed Instructions
- 라즈비안 또는 다른 Raspberry Pi 호환 운영 체제가 Pi에 설치되어 있는지 확인하십시오.
- Raspberry Pi가 PC와 같은 로컬 네트워크에 연결되어 있는지 확인하십시오.
- 라이브러리를 설치해야 하는 경우 Raspberry Pi가 인터넷에 연결되어 있는지 확인하십시오.
- Raspberry Pi를 처음 사용한다면, Raspberry Pi 설정 방법을 참조하십시오.
- Linux 및 macOS의 내장 SSH 클라이언트 또는 Windows의 PuTTY를 사용하여 SSH를 통해 PC를 Raspberry Pi에 연결하십시오. PC를 SSH로 Raspberry Pi에 연결하는 방법을 참조하십시오.
- RPi.GPIO 라이브러리가 설치되어 있는지 확인하십시오. 설치되지 않은 경우 다음 명령어를 사용하여 설치하십시오:
- 라즈베리 파이 터미널에서 다음 명령어를 실행하여 Adafruit_ADS1x15 라이브러리를 설치하세요:
- 파이썬 스크립트 파일 soil_moisture.py을(를) 만들고 다음 코드를 추가하세요.
- 파일을 저장하고 터미널에서 다음 명령어를 실행하여 Python 스크립트를 실행하세요:
- 센서를 흙에 묻은 다음 흙에 물을 붓습니다. 또는 소금물 컵에 천천히 잠기도록 합니다.
- 터미널에서 결과를 확인합니다.
※ NOTE THAT:
- 순수한 물은 전기를 전도하지 않으므로 테스트에 사용하지 마십시오. 이는 센서 판독값에 영향을 주지 않기 때문입니다.
- 센서 판독값이 일반적으로 0으로 떨어지지 않는 것은 정상입니다. 센서 판독값은 일반적으로 40000에서 50000 사이에 머무르지만, 센서가 배치된 깊이, 흙이나 물의 종류, 전원 공급의 전압과 같은 요인에 따라 달라질 수 있습니다.
- 센서의 회로 부분을 (센서 상단에 위치) 흙이나 물에 묻지 마십시오. 이는 센서에 손상을 줄 수 있습니다.
스크립트는 터미널에서 Ctrl + C를 누를 때까지 무한 루프로 계속 실행됩니다.
캐패시티브 토양 수분 센서의 보정
습기 센서에서 얻은 값은 절대적인 것이 아닙니다. 이는 토양의 구성과 수분 함량에 따라 다릅니다. 따라서 젖은 상태와 건조한 상태 사이의 경계를 결정하기 위해 교정이 필요합니다.
커패시티브 토양 수분 센서의 보정 지침:
- Raspberry Pi에서 코드를 실행하세요
- 수분 센서를 흙에 꽂으세요
- 흙에 물을 점차적으로 추가하세요
- 터미널에서 값을 모니터하세요
- 흙이 건조에서 습기로 변할 때의 값을 기록하세요, 예를 들어: 45000. 이를 THRESHOLD라고 합니다.
토양이 습한지 건조한지 결정하세요.
- Python 스크립트 파일 soil_moisture_dry_wet.py을(를) 만들고 다음 코드를 추가하세요:
- 보정에서 기록된 THRESHOLD 값을 코드에 업데이트하십시오.
- 파일을 저장하고 터미널에서 다음 명령어를 실행하여 Python 스크립트를 실행하십시오:
터미널에 표시된 출력.
Video Tutorial
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.