Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Точные 7-сегментные часы на Arduino Pro Mini и DS1302 RTC

Компоненты и материалы

Arduino Pro Mini 328 5V/16MHz (SparkFun) ×1
Модуль RTC DS1302 (нужно снять разъем и кварц) ×1
Батарея CR1220 с держателем ×1
SMD конденсатор 0.1 мкФ 1206 ×1
SMD конденсатор 10 мкФ 1206 керамический ×1
Тактильные кнопки 12 мм с накладками ×4
DC-DC понижающий преобразователь 3А (mini) ×1
7-сегментный индикатор 0.28″ общий катод 4-разрядный ×36
MAX7219 DIP ×18
Зуммер ×1
Машинные разъемы (male + female, 8 полос по 40 пинов) ×1 комплект
DC-разъем питания 5.5×2.1 мм ×1

Инструменты

Приложения

О проекте

Автор увидел на Hackaday.io часы из массива 7-сегментных индикаторов (проект Frugha) и решил сделать компактную версию. Использование 0.28″ индикаторов вместо 0.56″ уменьшило размер в 4 раза. Программно добавлены: будильник, экран настройки времени/даты/будильника/мелодии/яркости/формата даты/шрифта.

Экран настройки

Управление 4 кнопками: SELECT (верхняя) — вход в меню/цикл пунктов (Time, Date, Alarm, Tune, Brightness, Date Format, Clock). ENTER (вторая) — выбор параметра для изменения (мигает). UP/DOWN (нижние) — изменение значения. При выходе в режим CLOCK настройки сохраняются в RTC и EEPROM.

Экран даты

Нажатие ENTER в режиме часов показывает дату на 5 секунд. Формат (DD-MM или MM-DD) и шрифт (квадратный/малый) настраиваются в меню.

Конструктивные решения

Для упрощения платы использованы 4-разрядные индикаторы вместо одиночных. Из-за малого размера 0.28″ драйверы MAX7219 вынесены на отдельную плату. Соединение плат — машинные разъемы (male/female). Файлы Eagle прилагаются для заказа печатных плат или самостоятельного изготовления (метод ЛУТ).

Платные колонки (6 шт.)

Каждая держит 6 индикаторов. Паять разъемы лучше от центра к краям, используя спичку для подъема гнезда. Тонкий паяльник, припой 0.5 мм. После пайки край индикаторов закрасить матово-черной краской — скрывает щели. Пронумеровать модули маркером для правильной установки в материнскую плату.

Материнская плата MAX7219 (18 чипов)

Разводка упрощена: соответствие сегментов/разрядов MAX7219 пинам индикаторов не соблюдалось, корректировка в прошивке. Рекомендация: сначала надеть гнезда на штырьки колонок, затем паять сборку — гарантирует точное совпадение. Нумерация колонок поможет при перестановке.

Плата микропроцессора (MPU)

Содержит Pro Mini, RTC, кнопки, конденсаторы, DC-DC, зуммер. Кнопки и SMD-конденсаторы с обратной стороны. FTDI-разъем Pro Mini распаян и припаян прямо к плате (DTR и VCC проводниками). Низкий профиль.

Корпус (3D-печать)

STL-файлы передней и задней частей. Слой 0.2 мм, брим, для передней — поддерживающие структуры только от стола. Колонки с материнской платой вставляются спереди (при слабом сцеплении — прокладка из малярного скотча). MPU-плата клеится термоклеем на заднюю стенку.

Программное обеспечение

Требуется библиотека MD_MAX72XX. Прилагается тестовый скетч Hardware_Test_V1 (зажигает все сегменты для проверки проводки) и основной Clock_V4. В коде: работа с RTC DS1302, TimeLib, EEPROM, кнопки с автоповтором, большие/малые/квадратные цифры на массиве 18×MAX7219 (24 колонки × 6 строк), мелодии будильника, настройка яркости, 12/24-часовой формат.

Файлы кода

Производственный процесс

  1. Arduino POV-часы: сборка дисплея на эффекте сохранения образа
  2. Слово-часы (Word Clock) на Arduino — DIY-часы с текстовой индикацией времени
  3. Часы реального времени на Arduino с расчётом времени намаза
  4. Создание пользовательских LED-часов с будильником — видно с 12 метров
  5. Arduino Flip Clock на матрице 8×8 LED — DIY проект реального времени
  6. Мастерство 8×8 LED-матрицы с Arduino Uno: Пошаговое руководство
  7. eDOT: точные Arduino-часы и метеостанция с встроенным ИК-пультом
  8. Компактный радар на Arduino Nano с HC-SR04 и дисплеем 1.8"
  9. Arduino погодные часы реального времени: OLED-дисплей для времени, даты и температуры
  10. Надёжные будильник на DS1302 RTC и Arduino UNO — сборка и код