Приветствую дорогие самоделкины! Совсем недавно познакомился с одной очень интересной штукой микроконтроллером – который меня сильно заинтересовал, и тогда показавшись чем-то волшебным и непостижимым. Но я решил начать их изучение, почитав немного литературы, насмотревшись видеороликов в YouTube других пользователей, а также повторив парочку чужих конструкций, задумал спроектировать свое несложное, но в то же время полезное устройство, которым бы можно было пользоваться каждый день, и которое бы смог повторить любой начинающий радиолюбитель. Посмотрел свои запасы, и нашел матричный светодиодный индикатор на драйвере MAX7219, и вот подумал, с этого могут получится неплохие красивые часы.
Признаюсь, идея на такое применение этого типа дисплея не моя, подобных проектов в интернете полно, но всё же. Основными требованиями были простота конструкции и доступность компонентов. Чтобы максимально упростить конструкцию решил в качестве мозгов применить платформу Arduino Nano, и готовый модули часов реального времени на точном чипе DS3231, а также для отображения температуры окружающей среды применил цифровой датчик температуры DS18B20.
В течении недели на макетной плате был собран прототип устройства, написана и отлажена прошивка, а также составлена схема устройства.
Остаточно схема начала выглядеть так:
В последствии при наладке устройства оказалось, что яркость дисплея даже в дневное время достаточно велика, не говоря уже об ночном, поэтому было решено добавить автоматическую регулировку яркости дисплея в зависимости от окружающего освещения, для чего я применил фоторезистор. Теперь днём яркость дисплея составляет около 80%, что позволяет продлить срок службы индикатора не перегревая светодиоды, и не режет глаза, а ночью около 10%, чего хватает для комфортного отображения. Также были добавлены кнопки для настройки времени и даты.
Итак, в последней версии часы умеют:
• настраивать время и дату с кнопок
• раз в минуту отображать окружающую температуру (только плюсовую).
• При нажатии на определенные кнопки отображать кроме времени еще дату, или температуру
• Автоматически регулировать яркость дисплея (четыре уровня яркости)
Дабы не собирать схему навесным монтажом, и для увеличения механической прочности конструкции решил развести печатную плату в программе Sprint layout.
До этого времени я постоянно делал платы методом ЛУТа, но в этот раз я решил попробовать сделать с помощью фоторезиста, и результатом был полностью доволен.
Подробнее о фоторезистивном изготовлении платы полно материала в сети Интернет.
Далее залудив плату в сплаве Розе, я установил все модули и компоненты кроме Arduino на свои посадочные места и запаял так как Arduino в свою очередь сначала нужно запрограммировать, а потом запаять. После пайки обязательно необходимо отмыть флюс с платы.
Процесс прошивки стандартный для данного типа плат Arduino, который я очень коротко опишу:
• Нужно открыть файл прошивки в программе Arduino IDE
• В меню Инструменты – плата выбрать плату Arduino Nano
• В меню Инструменты – порт выбрать свой COM порт к которому подключена Arduino

Далее нужно прошить контроллер нажав кнопку Загрузка.
Подробнее об прошивке плат Arduino и причины возникновения разных ошибок смотрите в интернете.
После успешной прошивки Arduino необходимо запаять на плату на свое место согласно распиновке. Запаянные компоненты на плате выглядят так:
Далее нужно правильно установить индикатор, а именно - если смотреть на плату со стороны деталей, как показано на рисунке ниже, контакт Din должен быть справа.
После соединения половинок должен получится вот такой «бутерброд»
Если все собрано и прошито правильно часы должны заработать сразу после подключения питания. В качестве источника питания необходимо применять блок питания с выходным напряжением в 5В. Ток потребления часов в режиме максимальной яркости не более 200мА, что позволяет в качестве источника питания применить USB порт компьютера. Я применил отдельный сетевой блок питания на 5В с током в 1А.
Для подключения блока питания я установил стандартный для этого разъем 5мм*2мм
Далее следует настроить время и дату, специальными кнопками:
Для этого необходимо на две секунды зажать копку «Настройка» после чего начнут мигать цифры отображающие часы, кнопками «Вверх» и «Вниз» выставить необходимое время, после чего кратковременно еще раз нажать кнопку «Настройка», и начнут мигать минуты, которые выставляются аналогично, и после окончательной настройки снова на две секунды зажать кнопку «Настройка», для перевода в режим отображения. Для установки даты необходимо в режиме показа времени кратковременно нажать кнопку «Настройка», после чего отобразится дата и еще на две секунды зажать кнопку «Настройка», после чего начнёт мигать дата, которую можно установить кнопками «Вверх» и «Вниз» по аналогии с установкой времени. В итоге получились неплохие часы, которые под силу собрать практически каждому. Часы работают стабильно, ход времени очень точен. В процессе прошивка для них ещё будет обновляться, и исправляться, так что следите…
Все необходимые для сборки часов материалы Вы можете скачать с Гугл диска.