Точный обратный отсчет до Нового года на Arduino и LED-матрице
Компоненты и материалы
- Adafruit 16x32 RGB LED-матрица — 1 шт.
- Модуль реального времени DS3231 (RTC) — 1 шт. (требуется батарея CR2032 3В)
- Блок питания 5В / 2А+ с разъемом Jack — 1 шт.
- Arduino UNO — 1 шт.
- Перемычки (набор) — 1 комплект
Необходимое ПО
- Arduino IDE
О проекте
Это впечатляющее устройство создано для обратного отсчета до Нового 2019 года, но оно отлично подойдет для любого события — дней рождения, праздников, поездок или важных дат.
Основные функции
- Автоматическое переключение режимов отображения: показывает дни и часы, когда до события осталось много времени, и переходит к секундам в финальный отрезок.
- Плавная смена RGB-цвета текста во время отсчета.
- При наступлении события выводится персональное сообщение с анимированным RGB-фоном.
- Автономное питание часов реального времени (RTC) от батарейки сохраняет точное время при отключении питания.
Настройка модуля RTC (DS3231)
Для точной работы часов необходимо предварительно синхронизировать модуль DS3231.
Подключение для настройки
- Arduino GND → RTC GND
- Arduino 5V → RTC VCC
- Arduino A5 → RTC SCL
- Arduino A4 → RTC SDA
Прошивка настройки
- Установите в Arduino IDE библиотеки RTClib и RGBmatrixPanel через менеджер библиотек.
- Загрузите скетч «Accurate RTC Clock setter» (доступен в репозитории проекта).
- В функции
setup()методrtc.adjust()устанавливает время компиляции скетча. Добавьте корректировку черезTimeSpan()(в секундах) для компенсации времени загрузки. - Откройте монитор порта и сравните время с эталонным (например, time.gov).
- Подберите значение в
TimeSpan(), чтобы часы совпадали идеально.
Сборка дисплея
LED-матрица потребляет значительный ток, поэтому питание подключается отдельно.
Питание матрицы
- Отрежьте и очистите концы кабеля питания матрицы (обычно с контактами-«круглышками»).
- Подключите их к разъему Jack (DC-разъем), соблюдая полярность. Изолируйте оголенные провода изолентой или термоусадкой.
- Проверьте: при подключении блока питания матрица не должна искрить.
Подключение управления (Arduino → Матрица)
Следуйте официальной инструкции Adafruit: 32x16/32x32 RGB LED Matrix Guide.
Важно: во всех схемах, где указаны пины D (данные), для данной матрицы их нужно заменить на дополнительные пины GND (земля). Готовая проводка должна соответствовать схеме ниже.
Проводка RTC оставляем без изменений (A4/A5).
Программирование
- Скопируйте основной скетч («Arduino Code») из репозитория в Arduino IDE.
- В начале скетча (в комментариях) укажите:
- Дата и время целевого события.
- Текст сообщения для момента наступления.
- Параметр
RGBPulseSpeedрегулирует скорость смены цвета текста (рекомендуется < 10). - Установите дополнительные библиотеки:
- Adafruit GFX Library
- DS3231 (или RTClib)
- Time (скачайте ZIP с GitHub и добавьте через «Sketch → Include Library → Add .ZIP Library»)
- Загрузите скетч в Arduino.
Корпус и оформление
Готового корпуса нет, но удобно использовать:
- Оригинальную упаковку LED-матрицы для размещения Arduino, RTC и проводов.
- Магнитные винты из комплекта матрицы для крепления панели сверху.
- Слой кальки или пергаментной бумаги на матрице — это смягчает резкий свет и скрывает неиспользуемые пиксели. Чем больше слоев, тем теплее и мягче изображение.
Использование
- Питание Arduino — от 5V USB-блока (отдельная розетка). Матрица питается от своего блока. Это самый безопасный вариант.
- Отсчет переключается автоматически. По достижении события показывается сообщение и анимация.
- Если отсчет неточен — повторно запустите скетч настройки RTC и скорректируйте
TimeSpan(). Точность времени критична.
Планы по развитию
- Добавить анимации: фейерверк, свечи на торте и др.
- Расширить настройку сообщений.
- Оптимизировать и очистить код (проект делался за пару дней до Нового года).
Ссылка на репозиторий с кодом: github.com/miles-nash/countdown-clock
Производственный процесс
- Преодоление препятствий в разработке нового продукта: проверенный блупринт
- Событие по нетворкингу цепочки поставок Offshore Wind в NJ — 29 ноября 2024
- Игра «UFO Attack» на Arduino UNO и матрице MAX7219 — Собираем аркаду с джойстиком Atari
- Билл Лауэр уходит на пенсию из DVIRC, сигнализируя о новой эре в бизнес-развитии
- 3D RGB Arduclock — Bluetooth-часы на адресных LED с RTC
- Мониторинг состояния реки: Arduino-система контроля качества воды
- Строим Iron Man на Arduino: компоненты, сенсоры и пошаговый гайд
- Интерактивная игра с джойстиком и LED-обратной связью на Arduino
- Исследуйте передовую технологию нитевитой намотки и рыночные тренды на конференции World of Filament Winding
- Новый год, новая эффективность: ключевые решения для вашей компрессорной системы