1602 LCD로 온습도센서 표시하기

예제

#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2); 

#define DHTPIN 8    

#define DHTTYPE    DHT11     // DHT 22 (AM2302)

DHT_Unified dht(DHTPIN, DHTTYPE);

uint32_t delayMS;

byte Temp[]={           //°C 그리기
  B11000,
  B11000,
  B00111,
  B01000,
  B10000,
  B10000,
  B01000,
  B00111
};

byte Per[]={            // % 그리기
  B01000,
  B11101,
  B01011,
  B00110,
  B01100,
  B11010,
  B10111,
  B00010
};

void setup() {
  Serial.begin(9600);
  // Initialize device.
  dht.begin();
  Serial.println(F("DHTxx Unified Sensor Example"));
  // Print temperature sensor details.
  sensor_t sensor;
  dht.temperature().getSensor(&sensor);
  dht.humidity().getSensor(&sensor);
  delayMS = sensor.min_delay / 200;
  lcd.init();
  lcd.backlight();
  lcd.createChar(0, Temp);
  lcd.createChar(1, Per);
}

void loop() {
  
  sensors_event_t event;
  dht.temperature().getEvent(&event);
  
  lcd.setCursor(0,0);
  lcd.print(event.temperature); 
  lcd.setCursor(5,0);
  lcd.write(0);//특수문자 °C
  
  dht.humidity().getEvent(&event);
  lcd.setCursor(0,1);
  lcd.print(event.relative_humidity);
  lcd.setCursor(5,1);
  lcd.write(1);//특수문자 %
  delay(5000);
  
}

회로 연결

KakaoTalk_20211019_143636773.jpg

KakaoTalk_20211019_143656726.jpg

실행 영상

ezgif-1-bd792f833d7c.gif