ESP32 - DHT22 - LCD | ESP32 - DHT22 - LCD

이 튜토리얼은 ESP32가 DHT22에서 온도와 습도를 읽고 그것들을 LCD I2C에 표시하는 방법을 알려줍니다.

준비물

1×ESP-WROOM-32 Dev Module 쿠팡 | Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×LCD I2C 16x2 쿠팡 | Amazon
1×DHT22 Temperature and Humidity Sensor 쿠팡 | Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Optional) DC Power Jack 쿠팡 | Amazon
1×(Recommended) Screw Terminal Expansion Board for ESP32 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

DHT22와 LCD에 관하여

우리는 DHT22 센서와 LCD에 대한 구체적인 튜토리얼을 가지고 있습니다. 각 튜토리얼에는 하드웨어 핀배열, 작동 원리, ESP32와의 배선 연결, ESP32 코드 등에 대한 자세한 정보와 단계별 지침이 포함되어 있습니다. 다음 링크에서 더 자세히 알아보세요:

선연결

ESP32 DHT22 sensor LCD Wiring Diagram

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

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

참고로 DHT22 센서는 5V 또는 3.3V로 작동할 수 있으므로, DHT22의 VCC 핀을 3.3V 핀이나 5V 핀에 연결할 수 있습니다.

위 다이어그램에서, LCD는 ESP32 보드에서 전원을 공급받습니다. 일부 경우에는, LCD 디스플레이에 충분한 전력을 제공하지 못할 수 있습니다. LCD가 아무것도 표시하지 않으면, 다음과 같이 외부 전원 소스로 LCD에 전력을 공급하세요:

Vin 핀을 통해 ESP32에 전원을 공급하고 외부 전원 소스로 LCD를 구동하는 경우

ESP32 DHT22 module LCD Wiring Diagram

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

USB 포트를 통해 ESP32에 전원을 공급하고, 외부 전원 소스를 사용하여 LCD에 전원을 공급하는 경우

ESP32 DHT22 LCD I2C Wiring Diagram

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

ESP32 코드 - DHT22 센서 - LCD I2C

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-dht22-lcd */ #include <DHT.h> #include <LiquidCrystal_I2C.h> #define DHT22_PIN 23 // ESP32 핀 GPIO23가 DHT22 센서에 연결됩니다 LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C 주소 0x27 (DIYables LCD에서), 16 열과 2 행 DHT dht22(DHT22_PIN, DHT22); void setup() { dht22.begin(); // DHT22 센서를 초기화합니다 lcd.init(); // lcd를 초기화합니다 lcd.backlight(); // 백라이트를 켭니다 } void loop() { float humi = dht22.readHumidity(); // 습도 읽기 float tempC = dht22.readTemperature(); // 온도 읽기 lcd.clear(); // 읽기가 성공적인지 여부를 확인 if (isnan(tempC) || isnan(humi)) { lcd.setCursor(0, 0); lcd.print("Failed"); } else { lcd.setCursor(0, 0); // 디스플레이 위치 lcd.print("Temp: "); lcd.print(tempC); // 온도 표시 lcd.print("°C"); lcd.setCursor(0, 1); // 디스플레이 위치 lcd.print("Humi: "); lcd.print(humi); // 습도 표시 lcd.print("%"); } // 읽기 사이에 2초 동안 기다립니다 delay(2000); }

※ NOTE THAT:

LCD I2C 주소는 제조사마다 다를 수 있습니다. 코드에서는 DIYables 제조사가 지정한 0x27 주소를 사용했습니다.

사용 방법

  • ESP32를 처음 사용하는 경우 Arduino IDE에서 ESP32 환경 설정 방법을 참조하세요.
  • 위 이미지와 같이 배선하세요.
  • ESP32 보드를 마이크로 USB 케이블을 사용하여 PC에 연결하세요.
  • PC에서 Arduino IDE를 엽니다.
  • 올바른 ESP32 보드(예: ESP32 Dev Module)와 COM 포트를 선택하세요.
  • Arduino IDE의 왼쪽 바에 있는 Libraries 아이콘을 클릭하세요.
  • 검색 상자에 “DHT”를 입력한 다음, Adafruit의 DHT 센서 라이브러리를 찾으세요.
  • Install 버튼을 클릭하여 라이브러리를 설치하세요.
ESP32 DHT sensor library
  • 라이브러리에 필요한 종속성을 설치하라는 창이 나타납니다.
  • Install All 버튼을 클릭하여 라이브러리에 필요한 모든 종속성을 설치하세요.
ESP32 Adafruit Unified sensor library

검색 상자에 “LiquidCrystal I2C”를 입력한 다음, Frank de Brabander가 제작한 LiquidCrystal_I2C 라이브러리를 찾으세요.

Install 버튼을 클릭해서 LiquidCrystal_I2C 라이브러리를 설치하세요.

ESP32 LiquidCrystal I2C library
  • 위의 코드를 복사하여 아두이노 IDE에 붙여넣으세요.
  • 아두이노 IDE에서 Upload 버튼을 클릭하여 코드를 ESP32 보드에 컴파일하고 업로드하세요
  • 센서를 더 차갑게 또는 더 뜨겁게 만드세요. 예를 들어, 센서를 뜨거운 커피 잔 근처에 두는 것처럼
  • LCD에서 결과를 확인하세요

LCD가 아무 것도 표시하지 않으면 LCD I2C 문제 해결을 참조하십시오.

동영상

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

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!