본문 바로가기
아두이노

2x16 LCD 온도 및 습도 센서

by 모빌리티키즈 2023. 11. 17.
728x90

Arduino로 온도와 습도 값을 LCD에 표시하는 방법

이번에는 Arduino와 DHT11 센서, 그리고 LCD를 활용하여 온도와 습도 값을 표시하는 방법에 대해 알아보겠습니다.

필요한 재료
Arduino 보드
DHT11 센서
LCD (2x16)
가변저항 10K
점퍼 와이어
회로 연결
가변저항을 사용하지 않는 경우, 다음과 같이 회로를 연결합니다.

Sensor de temp y humedad lcd 2x16

 

코드 작성
Arduino IDE를 열고 다음 코드를 작성합니다.

#include <DHT.h>
#include <LiquidCrystal_I2C.h>

#define DHTPIN 2   // DHT11 센서의 데이터 핀
#define DHTTYPE DHT11   // DHT11을 사용하는 경우

DHT dht(DHTPIN, DHTTYPE);

LiquidCrystal_I2C lcd(0x27, 16, 2);   // LCD 주소와 크기 설정

void setup() {
  lcd.begin(16, 2);   // LCD 초기화
  dht.begin();   // DHT11 센서 초기화
}

void loop() {
  float humidity = dht.readHumidity();   // 습도 값 읽기
  float temperature = dht.readTemperature();   // 온도 값 읽기

  lcd.setCursor(0, 0);   // 첫 번째 줄, 첫 번째 열로 커서 이동
  lcd.print("Temp: ");   // 온도 출력
  lcd.print(temperature);
  lcd.print(" C");

  lcd.setCursor(0, 1);   // 두 번째 줄, 첫 번째 열로 커서 이동
  lcd.print("Humidity: ");   // 습도 출력
  lcd.print(humidity);
  lcd.print(" %");

  delay(2000);   // 2초 대기
}
#include <LiquidCrystal.h>

LiquidCrystal lcd(3, 4, 5, 6, 7, 8); //Colocamos los pines del LCD

 

#include <dht11.h> //Incluimos la libreria DHT11

dht11 DHT; //Creamos el objeto DHT

#define DHT11_PIN 2  //Asignamos el pin digital #2    

 

void setup()

{

  Serial.begin(9600);

  lcd.begin(16, 2); //Inicializamos la pantalla LCD

}

 

void loop()

{

  int chk;

  chk = DHT.read(DHT11_PIN);   //Leemos los datos del sensor

 

 // Mostramos la humedad

  lcd.setCursor(0, 0);

  lcd.print("Humedad: ");

  lcd.print(DHT.humidity,1);

  lcd.print(" %");

  //Mostramos la temperatura

  lcd.setCursor(0, 1);

  lcd.print("Tempera: ");

  lcd.println(DHT.temperature,1);

  lcd.print(" C");

  delay(1000); // pequeño retardo para una buena lectura

}

결과 확인 위 코드를 Arduino에 업로드하고, 온도와 습도 값을 확인해보세요. LCD에 온도와 습도가 정상적으로 표시되는 것을 확인할 수 있을 것입니다.
이렇게 Arduino와 DHT11 센서, LCD를 사용하여 온도와 습도 값을 표시하는 방법을 알아보았습니다. 가변저항을 사용하여 밝기를 조절하는 등의 기능을 추가하실 수도 있습니다.

728x90