Skip to content

CodeeCod/TFT-1.8-SHIELD-1.2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

LCD с аналоговыми и цифровыми часами

Этот скетч реализует часы с аналоговым и цифровым отображением времени на цветном LCD-щите. Пользователь может устанавливать время с помощью кнопок на плате.

Основные функции:

  1. Отображение времени в аналоговом (со стрелками) и цифровом формате
  2. Возможность настройки времени с помощью кнопок:
    • S3 - вход/выход из режима настройки
    • S1 - увеличение часов
    • S2 - увеличение минут
  3. Поддержка 12-часового формата с индикацией AM/PM

Настройки в коде:

// Начальное время (12-часовой формат)
#define HOURS 10       // Часы (1-12)
#define MINUTES 21     // Минуты (0-59)
#define SECONDS 00     // Секунды (0-59)
#define AMPM 0         // 0 - AM, 1 - PM

// Внешний вид часов
#define CLOCK_RADIUS 50  // Радиус циферблата
#define CLOCK_CENTER 55  // Центр циферблата (X-координата)
#define H_LENGTH  30     // Длина часовой стрелки
#define M_LENGTH  40     // Длина минутной стрелки
#define S_LENGTH  48     // Длина секундной стрелки

// Цвета
#define BACKGROUND  BLACK  // Цвет фона
#define C_COLOR  WHITE     // Цвет циферблата и цифровых часов
#define H_COLOR  RED       // Цвет часовой стрелки
#define M_COLOR  GREEN     // Цвет минутной стрелки
#define S_COLOR  YELLOW    // Цвет секундной стрелки

Принцип работы:

  1. В функции setup() инициализируется LCD, устанавливается начальное время и рисуются часы.
  2. В основном цикле loop() каждую секунду:
    • Увеличивается счетчик времени
    • Обновляется отображение часов
  3. При нажатии кнопки S3 активируется функция setTime() для настройки времени:
    • S1 увеличивает часы
    • S2 увеличивает минуты
    • Повторное нажатие S3 выходит из режима настройки

Функции:

  • drawClock() - рисует циферблат с цифрами 12, 3, 6 и 9
  • displayAnalogTime() - отображает стрелки часов
  • displayDigitalTime() - выводит цифровое время в нижней части экрана
  • setTime() - обработка настройки времени с помощью кнопок

Особенности:

  1. Использует тригонометрические функции для расчета положения стрелок
  2. Поддерживает плавное движение часовой стрелки между целыми часами
  3. Имеет настраиваемые цвета и размеры элементов
  4. Реализовано удаление предыдущего положения стрелок перед отрисовкой новых

Для работы требуется библиотека ColorLCDShield. Скетч хорошо демонстрирует использование графических функций библиотеки для создания интерактивного интерфейса.

About

Arduino UNO и дисплей TFT 1.8 SHIELD 1.2 от фирмы ELEC Freaks

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages