Категории

экран есп32 модуль времени тест

04.10.2025 12:04 | коды из категории: IOT умный дом

про экран есп32 модуль времени тест

на всякий случай сохранил, работает

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <RtcDS3231.h>

// Инициализация LCD
LiquidCrystal_I2C lcd(0x27, 20, 4); // Убедись, что адрес правильный (может быть 0x3F)

// Объект часов
RtcDS3231<TwoWire> Rtc(Wire);

void setup() {
  Serial.begin(115200);

  Wire.begin();

  // Инициализация LCD
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("LCD инициализирован");

  // Инициализация RTC
  Rtc.Begin();

  if (!Rtc.IsDateTimeValid()) {
    Serial.println("RTC остановлен или данные некорректны. Запуск...");
    // Установить текущее время компиляции
    Rtc.SetDateTime(RtcDateTime(__DATE__, __TIME__));
  }

  delay(2000);
  lcd.clear();
}

void loop() {
  RtcDateTime now = Rtc.GetDateTime();

  // 🔧 Используем явное преобразование температуры
  float temp = Rtc.GetTemperature().AsFloatDegC();

  lcd.setCursor(0, 0);
  lcd.print("Date:");
  lcd.setCursor(6, 0);
  lcd.printf("%02u/%02u/%04u", now.Day(), now.Month(), now.Year());

  lcd.setCursor(0, 1);
  lcd.print("Time:");
  lcd.setCursor(6, 1);
  lcd.printf("%02u:%02u:%02u", now.Hour(), now.Minute(), now.Second());

  lcd.setCursor(0, 2);
  lcd.printf("Temp: %.2f C", temp);

  delay(1000); // обновление раз в секунду
}

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку

Важно: Блог-эксперимент

Блог только запустил, все статьи генерирую через нейросеть т.к. лень, возможны ошибки. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.

Посетителей сегодня: 0


кто я | книга | контакты без контактов

© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA