아두이노

아두이노 DHT11 온습도 센서값을 LCD에 출력하기 — 실시간 환경 정보 표시

게임교수 2025. 4. 18. 07:24
반응형

🌡️ 아두이노 DHT11 온습도 센서값을 LCD에 출력하기 — 실시간 환경 정보 표시

이번 실습에서는 DHT11 디지털 온습도 센서로부터 데이터를 읽고, 이 값을 LCD 디스플레이에 실시간으로 출력

센서와 디스플레이를 연동하는 구조는 다양한 환경 모니터링 프로젝트의 기초입니다. 아두이노 보드가 센서 데이터를 받아 LCD에 출력하면, PC 없이도 간단한 **정보 표시 시스템**을 구현할 수 있습니다.

🧰 준비물

  • 아두이노 UNO
  • DHT11 온습도 센서
  • 16x2 LCD (HD44780 호환)
  • 10kΩ 가변저항
  • 브레드보드, 점퍼선

🔌 회로 구성 요약

  • DHT11 DATA → D8
  • LCD RS → D7, E → D6, D4~D7 → D5~D2
  • LCD V0 (3번핀) → 가변저항 중앙 핀
  • LCD VSS, RW, K → GND / VDD, A → 5V

💻 코드 작성: DHT11 데이터 → LCD 출력

#include <DHT.h>
#include <LiquidCrystal.h>

#define DHTPIN 8
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

void setup() {
  lcd.begin(16, 2);
  dht.begin();
  lcd.print("Initializing...");
  delay(2000);
}

void loop() {
  float t = dht.readTemperature();
  float h = dht.readHumidity();

  lcd.clear();
  if (isnan(t) || isnan(h)) {
    lcd.setCursor(0, 0);
    lcd.print("Sensor Error!");
  } else {
    lcd.setCursor(0, 0);
    lcd.print("Temp: ");
    lcd.print(t);
    lcd.print("C");

    lcd.setCursor(0, 1);
    lcd.print("Humi: ");
    lcd.print(h);
    lcd.print("%");
  }

  delay(2000);
}

DHT.h 라이브러리는 Arduino IDE 라이브러리 매니저에서 설치할 수 있습니다.
센서값이 정상적으로 읽히면 온도와 습도가 각각 LCD 1행과 2행에 표시됩니다.

✅ 확인 포인트

  • DHT11 센서값이 제대로 출력되는가?
  • 센서 불량 또는 연결 오류 시 'Sensor Error'가 표시되는가?
  • LCD 명암은 가변저항으로 조절

📚 마무리

이번 실습에서는 아두이노가 DHT11 센서로부터 읽은 데이터를 LCD 디스플레이를 통해 **실시간으로 시각화**하는 방법을 익혔습니다.

다음 편에서는 버튼을 이용해 LCD에서 메뉴를 전환여러 데이터를 순차적으로 표시하는 인터페이스를 구현해볼 거예요! 점점 진짜 프로젝트처럼 완성도가 높아지겠죠? 😎

반응형