ESP32 - 온도 습도 센서 - LCD | ESP32 - Temperature Humidity Sensor - LCD

이 튜토리얼은 ESP32를 사용하여 DHT11/DHT22 센서에서 습도와 온도 값을 읽고, 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×(Optional) DHT22 Temperature and Humidity Sensor Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Optional) DC Power Jack 쿠팡 | Amazon
1×(Recommended) ESP32 Screw Terminal Adapter 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

DHT11, DHT22 및 LCD에 대하여

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

선연결

일부 경우에, ESP32는 LCD 디스플레이에 충분한 전력을 제공하지 못할 수 있습니다. LCD가 아무 것도 표시하지 않으면 외부 전원 소스로 LCD에 전력을 공급하세요. 아래는 몇 가지 사용 사례를 위한 배선도입니다. DHT22 센서는 5V 또는 3.3V로 작동할 수 있으므로, DHT22의 VCC 핀을 3.3V 핀이나 5V 핀에 연결할 수 있습니다.

ESP32 - DHT11 모듈 LCD I2C 배선

브레드보드와 함께하는 배선도, USB 포트를 통해 ESP32에 전원 공급, ESP32 보드를 통해 LCD에 전원 공급

ESP32 DHT11 sensor LCD Wiring Diagram

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

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

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

ESP32 DHT11 module LCD Wiring Diagram

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

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

ESP32 DHT11 LCD I2C Wiring Diagram

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

ESP32 - DHT22 모듈 LCD I2C 연결 방법

브레드보드를 사용한 배선도, USB 포트를 통한 ESP32 전원 공급, ESP32 보드를 통한 LCD 전원 공급

ESP32 DHT22 sensor LCD Wiring Diagram

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

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

ESP32 DHT22 module LCD Wiring Diagram

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

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

ESP32 DHT22 LCD I2C Wiring Diagram

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

ESP32 코드 - DHT11 센서 - LCD I2C

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-temperature-humidity-sensor-lcd */ #include <DHT.h> #include <LiquidCrystal_I2C.h> #define DHT_SENSOR_PIN 23 // ESP32 핀 GPIO23가 DHT11 센서에 연결됨 #define DHT_SENSOR_TYPE DHT11 LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C 주소 0x27 (DIYables LCD에서), 16 열 and 2 행 DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { dht_sensor.begin(); // DHT 센서 초기화 lcd.init(); // LCD 초기화 lcd.backlight(); // 백라이트 켜기 } void loop() { float humi = dht_sensor.readHumidity(); // 습도 읽기 float tempC = dht_sensor.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 문제 해결을 확인하십시오.

ESP32 코드 - DHT22 센서 - LCD I2C

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-temperature-humidity-sensor-lcd */ #include <DHT.h> #include <LiquidCrystal_I2C.h> #define DHT_SENSOR_PIN 23 // ESP32 핀 GPIO23가 DHT22 센서에 연결됨 #define DHT_SENSOR_TYPE DHT22 LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C 주소 0x27 (DIYables LCD에서), 16 열 및 2 행 DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { dht_sensor.begin(); // DHT 센서를 초기화 lcd.init(); // lcd를 초기화 lcd.backlight(); // 백라이트를 켜다 } void loop() { float humi = dht_sensor.readHumidity(); // 습도 읽기 float tempC = dht_sensor.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); }

위의 두 코드는 단 한 줄만 다릅니다.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, 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!