#define USE_SERIAL_2004_LCD
#include <LCDBigNumbers.hpp>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#include <RTClib.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
LCDBigNumbers lcdBN(
&lcd, BIG_NUMBERS_FONT_2_COLUMN_2_ROWS_VARIANT_1);
DHT dht(2, DHT22);
RTC_DS1307 rtc;
#define PRINT_LCD(x, y, str) \
lcd.setCursor((x), (y)); lcd.print((str));
#define MY_STR(num) \
((num) < 10 ? "0"+String(num) : String(num))
void setup() {
lcd.init();
lcd.backlight();
lcdBN.begin();
dht.begin();
rtc.begin();
}
void loop() {
DateTime now = rtc.now();
PRINT_LCD(0, 3, "h: " +
String(dht.readHumidity()) + "% t: " +
String(dht.readTemperature()) + "C "
);
PRINT_LCD(5, 2,
MY_STR(now.day()) + "." +
MY_STR(now.month()) + "." +
String(now.year())
);
lcdBN.setBigNumberCursor(0);
lcdBN.print(
MY_STR(now.hour()) + ":" +
MY_STR(now.minute()) + ":" +
MY_STR(now.second())
);
delay(500);
// lcd.clear();
}