Загрузка данных


#include <LiquidCrystal_I2C.h>  //  Подключаем библиотеку для работы с LCD дисплеем по шине I2C
LiquidCrystal_I2C lcd(0x27, 16, 2);  //  Объявляем  объект библиотеки, указывая параметры дисплея (адрес I2C = 0x27, количество столбцов = 16, количество строк = 2)
int  days, hours, minutes, seconds;  //  Объявляем  переменные для хранения дней, часов, минут и секунд.
int speed = 1;

void setup() {
  lcd.init();   //  Инициируем работу с LCD дисплеем
  lcd.backlight();   //  Включаем подсветку LCD дисплея
}

void loop() {
  seconds = (millis() / 1000 * speed) % 60; //  Получаем секунды: остаток от деления всех секунд на 60 (60 сек в минуте).
  minutes = (millis() / 1000 / 60 * speed) % 60; //  Получаем минуты: остаток от деления всех минут на 60 (60 минут в часе).
  hours = (millis() / 1000 / 60 / 60 * speed) % 24; //  Получаем часы: остаток от деления всех часов на 24 (24 часа в дне).
  days = millis() / 1000 / 60 / 60 / 24 * speed; //  Получаем дни

  //  Выводим время прошедшее после старта:
  lcd.setCursor(0, 0);  //  Устанавливаем курсор в позицию (0 столбец, 0 строка).
  lcd.print("Days: ");  //  Выводим текст.
  if (days < 10) lcd.print('0'); //  Выводим 0 перед количеством дней.
  lcd.print(days);  //  Выводим количество дней.

  lcd.setCursor(0, 1);  //  Устанавливаем курсор в позицию (0 столбец, 1 строка)
  if (hours < 10) lcd.print('0'); //  Выводим 0 перед количеством часов.
  lcd.print(hours);  //  Выводим количество часов.
  lcd.print(':');  //  Выводим символ.

  if (minutes < 10) lcd.print('0'); //  Выводим 0 перед количеством минут.
  lcd.print(minutes);  //  Выводим количество минут.
  lcd.print(':');  //  Выводим символ.

  if (seconds < 10) lcd.print('0'); //  Выводим 0 перед количеством секунд.
  lcd.print(seconds);  //  Выводим количество секунд.
}