#define LCD_LEN 16
#define LCD_WID 2
#include "lcdinit.h"
#include <DHT.h>
#include <LiquidCrystal_I2C.h>
#define DHTPIN 2
DHT dht(DHTPIN, DHT22);
LiquidCrystal_I2C lcd1(0x27,LCD_LEN,LCD_WID);
LiquidCrystal_I2C lcd2(0x28,LCD_LEN,LCD_WID);
void setup() {
Serial.begin(9600);
dht.begin();
lcd1 = lcd_init(lcd1);
lcd2 = lcd_init(lcd2);
}
void loop() {
delay(1000);
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Ошибка считывания");
return;
}
my_mes(lcd1, h);
my_mes(lcd2, t);
delay(2000);
my_mes(lcd2, h, "Humidity");
my_mes(lcd1, t, "Temperature");
}
LiquidCrystal_I2C lcd_init(LiquidCrystal_I2C lcd){
lcd.init();
lcd.backlight();
return lcd;
}
void my_mes(LiquidCrystal_I2C lcd, float num)
{
lcd.clear();
lcd.setCursor(0,1);
lcd.print(String(num));
}
void my_mes(LiquidCrystal_I2C lcd, float num, char*arr)
{
lcd.clear();
lcd.setCursor(0,1);
lcd.print(arr);
lcd.setCursor(12,0);
lcd.print(String(num));
}