아두이노 나노 ESP32 DHT11 릴레이

이 튜토리얼에서 우리는 DHT11 센서에서 읽은 온도에 기반하여 릴레이를 제어하기 위해 Arduino Nano ESP32를 사용하는 방법을 배울 것입니다.

준비물

1×아두이노 나노 ESP32 쿠팡 | 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×DHT11 온도 및 습도 센서 모듈 아마존
1×(또는) DHT11 Sensor 아마존
1×릴레이 아마존
1×12V 전원 어댑터 아마존
1×(옵션) DC 커넥터 전원 연결 잭 플러그 소켓 쿠팡 | 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(옵션) 12V Fan 아마존
1×(추천) 아두이노 나노용 스크루 터미널 확장 보드 쿠팡 | 아마존
1×(추천) 아두이노 나노용 브레이크아웃 확장 보드 쿠팡 | 아마존
1×(추천) 아두이노 나노 ESP32용 전원 분배기 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

릴레이 및 DHT11 센서에 대하여

DHT11 온도 센서와 릴레이(핀 배치, 작동 방법, 프로그래밍 방법 등)에 대해 잘 모른다면, 다음 튜토리얼에서 배워보세요:

선연결

아두이노 나노 ESP32 dht11 sensor 릴레이 연결 배선도

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

프로젝트를 오래 실행하거나 케이스 안에 넣을 경우, 전선을 나사로 고정하는 것이 좋습니다. Arduino Nano ESP32를 아두이노 나노용 스크루 터미널 확장 보드에 꽂고 전선을 나사 단자에 연결할 수 있습니다. 아래 다이어그램은 나사 단자 보드를 사용한 같은 배선을 보여 줍니다.

아두이노 나노 ESP32 dht11 sensor 릴레이 연결 배선도 (screw terminal)

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

시스템 작동 방식

  • Arduino Nano ESP32는 DHT11 센서에서 온도를 읽습니다
  • 온도가 상한선을 초과하면, Arduino Nano ESP32는 릴레이를 켭니다
  • 온도가 하한선 아래로 떨어지면, Arduino Nano ESP32는 릴레이를 끕니다

위의 과정은 루프에서 무한히 반복됩니다.

온도가 특정 값보다 높거나 낮을 때 릴레이를 켜고 끄려면 상한 임계값과 하한 임계값을 같은 값으로 설정하기만 하면 됩니다.

아두이노 나노 ESP32 코드

/* * 이 아두이노 나노 esp32 코드는 newbiely.kr 에서 개발되었습니다 * 이 아두이노 나노 esp32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-dht11-relay */ #include <DHT.h> #define DHT11_PIN D2 // DHT11에 연결된 아두이노 나노 ESP32 핀 #define RELAY_PIN D13 // 릴레이에 연결된 아두이노 나노 ESP32 핀 #define TEMP_UPPER_THRESHOLD 30 // 상위 온도 임계값 #define TEMP_LOWER_THRESHOLD 15 // 하위 온도 임계값 DHT dht11(DHT11_PIN, DHT1); void setup() { Serial.begin(9600); // 시리얼 초기화 dht11.begin(); // DHT 센서 초기화 } void loop() { float temperature = dht11.readTemperature();; // 섭씨 온도 읽기 if (isnan(temperature)) { Serial.println("Failed to read from DHT11 sensor!"); } else { if (temperature > TEMP_UPPER_THRESHOLD) { Serial.println("Turn the relay on"); digitalWrite(RELAY_PIN, HIGH); // 켜기 } else if (temperature < TEMP_LOWER_THRESHOLD) { Serial.println("Turn the relay off"); digitalWrite(RELAY_PIN, LOW); // 끄기 } } // 읽기 사이에 1초 기다리기 delay(1000); }

위의 코드에서, Arduino Nano ESP32는 온도가 25°C를 초과하면 릴레이를 켜고 온도가 20°C 이하로 내려갈 때까지 릴레이를 켜둡니다.

사용 방법

  • Arduino Nano ESP32에 익숙하지 않다면, 아두이노 나노 ESP32 - 소프트웨어 설치에 관한 튜토리얼을 참조하세요.
  • 제공된 다이어그램에 따라 구성 요소를 연결하세요.
  • USB 케이블을 사용하여 Arduino Nano ESP32 보드를 컴퓨터에 연결하세요.
  • 컴퓨터에서 Arduino IDE를 실행하세요.
  • Arduino Nano ESP32 보드와 해당하는 COM 포트를 선택하세요.
  • Arduino IDE의 왼쪽 바에 있는 Libraries 아이콘을 클릭하세요.
  • “DHT”을 검색한 다음, Adafruit에서 제공하는 DHT 센서 라이브러리를 찾아보세요.
  • 라이브러리를 설치하려면 Install 버튼을 클릭하세요.
아두이노 나노 ESP32 dht sensor 라이브러리
  • 다른 라이브러리 종속성 설치가 요구될 것입니다.
  • Install All 버튼을 클릭하여 모든 라이브러리 종속성을 설치하세요.
아두이노 나노 ESP32 adafruit unified sensor 라이브러리
  • 보유한 센서에 해당하는 위의 코드를 복사하고 아두이노 IDE로 열기
  • 코드를 ESP32에 업로드하기 위해 아두이노 IDE에서 Upload 버튼 클릭
  • 센서 주변 환경을 더 뜨겁게 하거나 차갑게 만들기
  • 릴레이의 상태 확인하기

동영상

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