Этот скетч реализует часы с аналоговым и цифровым отображением времени на цветном LCD-щите. Пользователь может устанавливать время с помощью кнопок на плате.
Ссылка на GitHub
Ссылка на GitHub
Основные функции:
- Отображение времени в аналоговом (со стрелками) и цифровом формате
- Возможность настройки времени с помощью кнопок:
- S3 - вход/выход из режима настройки
- S1 - увеличение часов
- S2 - увеличение минут
- Поддержка 12-часового формата с индикацией AM/PM
Настройки в коде:
Принцип работы:
- В функции
setup()
инициализируется LCD, устанавливается начальное время и рисуются часы. - В основном цикле
loop()
каждую секунду:- Увеличивается счетчик времени
- Обновляется отображение часов
- При нажатии кнопки S3 активируется функция
setTime()
для настройки времени:- S1 увеличивает часы
- S2 увеличивает минуты
- Повторное нажатие S3 выходит из режима настройки
drawClock()
- рисует циферблат с цифрами 12, 3, 6 и 9displayAnalogTime()
- отображает стрелки часовdisplayDigitalTime()
- выводит цифровое время в нижней части экранаsetTime()
- обработка настройки времени с помощью кнопок
- Использует тригонометрические функции для расчета положения стрелок
- Поддерживает плавное движение часовой стрелки между целыми часами
- Имеет настраиваемые цвета и размеры элементов
- Реализовано удаление предыдущего положения стрелок перед отрисовкой новых
Для работы требуется библиотека ColorLCDShield. Скетч хорошо демонстрирует использование графических функций библиотеки для создания интерактивного интерфейса.
Комментариев нет:
Отправить комментарий