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);
}
회로 연결


실행 영상
