C++:
#include "DHT.h"
#include "iarduino_RTC.h"
#include "Wire.h" // библиотека для устройств I2C
#include "LiquidCrystal_I2C.h" // подключаем библиотеку для дисплея
#define DHTPIN A0
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C LCD(0x27,16,2); // присваиваем имя дисплею
iarduino_RTC time(RTC_DS1302,6,8,7); // для модуля DS1302 - RST, CLK, DAT
void setup() {
delay(300);
LCD.init(); // инициализация LCD дисплея
LCD.backlight(); // включение подсветки дисплея
time.begin();
time.settime(0, 7, 15, 29, 12, 23, 5); // 0 сек, 30 мин, 18 часов, 12 день, июня, 2020, четверг
Serial.begin(9600);
dht.begin();
}
void loop() {
// если прошла 1 секунда выводим время на дисплей
if (millis() % 1000 == 0) {
LCD.setCursor(0,0);
//LCD.print(time.gettime("d M Y, D"));
LCD.setCursor(6,1);
LCD.print(time.gettime("[H:i:s]"));
delay(1);
}
// Reading temperature or humidity takes about 250 milliseconds!
float h = dht.readHumidity();
// Read temperature as Celsius
float t = dht.readTemperature();
// Read temperature as Fahrenheit
float f = dht.readTemperature(true);
// Выводим показания влажности и температуры
LCD.setCursor(0, 0); // Устанавливаем курсор в начало 1 строки
LCD.print("%"); // Выводим текст
LCD.setCursor(1, 0); // Устанавливаем курсор на 7 символ
LCD.print(h, 1); // Выводим на экран значение влажности
LCD.setCursor(0, 1); // Устанавливаем курсор в начало 2 строки
LCD.print("C"); // Выводим текст, \1 - значок градуса
LCD.setCursor(1, 1); // Устанавливаем курсор на 7 символ
LCD.print(t,1); // Выводим значение температуры
Изменено: