Найти тему
Электроника, ESP32, Arduino

Вечный календарь Windows на Arduino

Что такое вечный календарь? У нас есть месяц и год - и нам необходимо нарисовать на данный месяц календарь типа такого который висит на стене. Я буду строить аналог календаря из операционной системы Windows - который можно вызвать из панели задач рядом с часами

Windows календарь
Windows календарь

на базе платформе Arduino. Календарь будет выводиться в программу "Монитор порта" среды разработки Arduino IDE.

Arduino календарь
Arduino календарь

Данный код можно использовать если подключить к Arduino (или любому другому микроконтроллеру) дисплей с высоким разрешением.

Алгоритм позволяет получить календарь за любой месяц, любого года. Для того чтобы вывести календарь в монитор порта необходимо отправить месяц, год в формате MM.YYYY (например 06.2020) - демонстрацию работы программы смотрите в видео в конце данной статьи. Там же вы найдете исходный код и можете сами проверить его работу (кроме платформы Arduino дополнительных железок не потребуется) Алгоритм работы:

Функция возвращающая день недели (пн...вс 1....7)
Функция возвращающая день недели (пн...вс 1....7)

Необходима чтобы определить день недели 1 числа месяца за который необходимо построить календарь.

Функция возвращающая количество дней в месяце любого года
Функция возвращающая количество дней в месяце любого года

Вызываем два раза, чтобы определить количество дней в прошлом и текущем месяцах.

Массив строк с названиями месяцев
Массив строк с названиями месяцев
-6
Функция которая выводит календарь в монитор порта
Функция которая выводит календарь в монитор порта

В качестве аргументов передается месяц и год. В мониторе порта отображается календарь за данный месяц.

Прием данных в формате MM.YYYY, парсинг строки и вывод календаря.
Прием данных в формате MM.YYYY, парсинг строки и вывод календаря.

Сам код можно скачать ТУТ