ESP32 - DHT11 - LCD | ESP32 - DHT11 - LCD

이 튜토리얼은 ESP32에 프로그래밍하는 방법을 안내하여 DHT11에서 온도와 습도를 읽고 그것들을 LCD I2C에 표시하는 방법을 알려줍니다.

준비물

1×ESP-WROOM-32 Dev Module 쿠팡 | Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×LCD I2C 16x2 쿠팡 | Amazon
1×DHT11 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
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

DHT11 및 LCD 정보

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

선연결

ESP32 DHT11 sensor LCD Wiring Diagram

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

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

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

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

ESP32를 Vin 핀을 통해 전원을 공급하고, LCD를 외부 전원 공급원으로 사용하는 경우

ESP32 DHT11 module LCD Wiring Diagram

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

USB 포트를 통해 ESP32에 전원을 공급하고 외부 전원원으로 LCD에 전원을 공급하는 경우

ESP32 DHT11 LCD I2C Wiring Diagram

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

ESP32 코드 - DHT11 센서 - LCD I2C

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-dht11-lcd */ #include <DHT.h> #include <LiquidCrystal_I2C.h> #define DHT11_PIN 23 // ESP32 핀 GPIO23이 DHT11 센서에 연결 LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C 주소 0x27 (DIYables LCD에서), 16열과 2행 DHT dht11(DHT11_PIN, DHT11); void setup() { dht11.begin(); // DHT11 센서 초기화 lcd.init(); // lcd 초기화 lcd.backlight(); // 백라이트 켜기 } void loop() { float humi = dht11.readHumidity(); // 습도 읽기 float tempC = dht11.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 환경 설정 방법을 참조하세요.
  • 위의 이미지와 같이 배선하세요.
  • 마이크로 USB 케이블을 사용하여 ESP32 보드를 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 라이브러리를 찾으세요.

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

ESP32 LiquidCrystal I2C library
  • 위의 코드를 복사하여 Arduino 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!