// Определяем подключенные пины
#define LCD_LEN 16
#define LCD_WID 2
#define DHTPIN 2
// Подключаем библиотеки
#include "lcdinit.h"
#include <DHT.h>
#include <LiquidCrystal_I2C.h>
// Создаем объекты класса
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();
// Инициализируем наши LCD Экраны
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(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, char*arr)
{
lcd.clear();
lcd.setCursor(0,1);
lcd.print(arr);
lcd.setCursor(12,0);
lcd.print(String(num));
}