Отсчет дней, часов, минут и секунд до нового года с модулем реального времени

Доброго времени суток!

Реши сделать простенький проектик на ардуино. Небольшой настольный таймер с отсчетом до нового года. Буду использовать LCD дисплей 2004A, ардуино уно(после настройки и доработки переделаю проект на Нано), и модуль реального времени. Подскажите, как можно и нужно реализовать отсчет. С выводом на дисплей я справлюсь самостоятельно. Буду очень рад любым предложенным вами идеями.

ХМ… а какие тут нужны идеи?
Вычисляете и запоминаете в коде дату 1 января 0 часов 0 минут в виде unix-time.
От модуля RTC получаете текущее время в том же unix-time.
Вычитаете из первого второе - получаете число секунд до Нового Года.
Надеюсь число секунд в число дней, часов и минут осилите перевести?

1 лайк

Как нибудь пафосно! Можно с блёстками… ))

Не забыть про високосные года, главное.

Кто-то подобный отсчет со 2 января запускает? :smiley:

Чёта не понял - это

или же Вы не знаете

Одно с другим как-то слабо сочетается.

Реализуется это так.

  1. для желаемой даты (нового года или там дня рождения Микки-Мауса)
  • заполняете структуру tm;
  • преобразуете заполненную структуру в тип time_t при помощи функции mktime
  • результат - переменная future типа time_t
  1. для текущего времени
  • со своих часов заполняете структуру tm;
  • преобразуете заполненную структуру в тип time_t при помощи функции mktime
  • результат - переменная now типа time_t
  1. вычитаете now из future. результат - количество секунд до желаемого момента.
  2. делите количество секунд на 60. Результат - количество минут до желаемого момента
  3. делите количество минут на 60. Результат - количество часов до желаемого момента
  4. делите количество часов на 24. Результат - количество дней до желаемого момента

Как получить результат в виде Х дней, Y часов, Z минут объяснять надо? Или уж сами?

Была мысль разместить свой проектик часов. Для наглядности. Делал малой своей как то двоичные часы. )

Автор похоже сжался в углу от такого водопада предложений :slight_smile:

Нет, ну ЕвгенийП кого хош в бараний рог скрутит своим интеллектом.)
Те кто понимает - нет вопросов, а к то нет?..)

Кого я куда кручу? В кои-то веки решил подробно и скрупулёзно всё расписать (вместо обычного стёба) - опять не слава Богу :frowning:

Злые вы все! Пойду-ка я от Вас кт-315’тым ноги отламывать. Вчерась дум отломал! И кто им такие ноги делал? Руки бы поотрывать! :frowning:

Ну вы же знаете, что со структурами у простого народа всё не слава богу. Так зачем его этим нагружать.)

Надо проще быть. Называть их… штуками!
Эту штуку присваиваем другой шутке и так далее :smiley:

Ну, как … спросили

я ответил.

Собсна, @b707 написал ровно тоже самое, тока менее подробно:

а издеваюсь, выходит, я :frowning:

Правильный термин здесь - “хреновина”.

ну не я же? :slight_smile:

hrenovina.odin = 1;
hrenovina.dva = 2;
Офигенно понятно.)
Но с tm. ей богу не понятнее.

А вот с другой стороны - Как бы ты объяснил? “Пестики-тычинки” тут не пройдут…

Просто свой массив.

date = {23, 11, 16.19. 0}

За стеной раздался выстрел и глухой удар об пол. Тс - догадался Евгений П.

2 лайка

Думаю если ТС не поймет обьяснение ЕП или мое - он просто недостаточно мотивирован :slight_smile: