ESP32 토양 습도 센서 펌프

이 튜토리얼에서는 ESP32를 사용하여 용량성 토양 수분 센서에서 읽은 값에 따라 펌프를 제어하는 방법을 배우게 됩니다.

준비물

1×38-pin ESP32 ESP-WROOM-32 Dev Module - Narrow 쿠팡 | 아마존
1×(또는) 38-pin ESP32 ESP-WROOM-32 Dev Module - Wide 쿠팡 | 아마존
1×(또는) 30-pin ESP32 ESP-WROOM-32 Dev Module - Wide 아마존
1×(또는) ESP32 Uno-form board 아마존
1×(또는) ESP32 S3 Uno-form board 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×용량성 토양 수분 센서 쿠팡 | 아마존
1×릴레이 아마존
1×12V 펌프 쿠팡 | 아마존
1×Vinyl Tube 아마존
1×12V 전원 어댑터 아마존
1×(옵션) DC 커넥터 전원 연결 잭 플러그 소켓 쿠팡 | 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) ESP32용 스크루 터미널 확장 보드 쿠팡 | 아마존
1×(추천) Breakout Expansion Board for ESP32 쿠팡 | 아마존
1×(추천) ESP32용 전원 분배기 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

토양 수분 센서 및 펌프에 관하여

펌프와 토양 수분 센서(핀배열, 작동 방식, 프로그래밍 방법 등)에 대해 잘 모른다면, 다음 튜토리얼에서 배워보세요:

작동 원리

ESP32는 주기적으로 정전 용량식 토양 수분 센서에서 값을 읽습니다. 토양의 수분 값에 따라 다음과 같은 조치를 취할 것입니다:

  • 만약 토양 수분 값이 임계값보다 낮으면, ESP32는 자동으로 릴레이를 활성화해 펌프를 켭니다.
  • 그렇지 않으면, ESP32는 자동으로 릴레이를 비활성화해 펌프를 끕니다.

선연결

ESP32 토양 수분 센서 pump 연결 배선도

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

ESP32 및 다른 구성 요소에 전원을 공급하는 방법에 대해 잘 알지 못하는 경우, 다음 튜토리얼에서 안내를 찾을 수 있습니다: ESP32 전원 공급 방법.

ESP32 코드

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-soil-moisture-sensor-pump */ #define RELAY_PIN 17 // ESP32 핀 GPIO17이 릴레이에 연결됩니다 #define MOISTURE_PIN 36 // ESP32 핀 GPIO36 (ADC0)이 수분 센서의 AOUT 핀에 연결됩니다 #define THRESHOLD 2800 // => 여기서 당신의 임계값을 변경하세요 void setup() { Serial.begin(9600); pinMode(RELAY_PIN, OUTPUT); } void loop() { int value = analogRead(MOISTURE_PIN); // 토양 수분 센서에서 아날로그 값을 읽습니다 if (value > THRESHOLD) { Serial.print("The soil moisture is DRY => activate pump"); digitalWrite(RELAY_PIN, HIGH); } else { Serial.print("The soil moisture is WET=> deactivate the pump"); digitalWrite(RELAY_PIN, LOW); } Serial.print(" ("); Serial.print(value); Serial.println(")"); delay(1000); }

사용 방법

  • ESP32를 처음 사용하는 경우, ESP32 - 소프트웨어 설치을 참조하세요.
  • 젖은 상태와 건조한 상태의 기준값을 결정하기 위해 보정 작업을 수행하세요. ESP32 - 토양 수분 센서를 참조하세요.
  • 보정된 값을 코드의 THRESHOLD에 업데이트하세요.
  • Arduino IDE에서 시리얼 모니터를 엽니다.
  • 코드를 ESP32로 업로드하세요.
  • 시리얼 모니터에서 결과를 확인하세요.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
The soil moisture is DRY => activate the pump The soil moisture is DRY => activate the pump The soil moisture is DRY => activate the pump The soil moisture is DRY => activate the pump The soil moisture is WET=> deactivate the pump The soil moisture is WET=> deactivate the pump The soil moisture is WET=> deactivate the pump The soil moisture is WET=> deactivate the pump
Ln 11, Col 1
ESP32 Dev Module on COM15
2

코드 설명

소스 코드의 주석 라인에서 줄별 설명을 읽어보세요!

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.