7-сегментные светодиодные часы на базе Atmega328 - Своими руками
Своими руками

7-сегментные светодиодные часы на базе Atmega328

7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328 В этой статье мастер-самодельщик с ником Hobby Home Electronics предоставит нам полную инструкцию по сборке часов на базе микроконтроллера Atmega328AU и адресных светодиодов WS2812. Конечно такие часы сложно будет изготовить только подручными средствами, но в наш век не найти сервис с изготовлением печатных плат или лазерным резаком не составит труда.
Так же мастер подробно расскажет нам как работать в среде Arduino IDE.
Инструменты и материалы:-Микрочип Atmega328AU;-Микрочип DS3231;-Микросхема TTP223-BA6;-Адресные светодиоды, s WS2812:-Последовательный модуль адаптера FT232RL;-Arduino NANO;-Батарейный отсек CR2032-BS-6;-Аккумулятор LIR2032;-Разъем питания SMD;-Разъем SMD 2,54 мм;-Латунные монтажные стойки;-Кабель питания;-Источник питания;-Паяльная станция NEWACALOX 8786D;-Паяльная паста;-Макетная плата;
-Фанера;
-Лазерный резак или доступ к нему;
-Отвертка;
-Винты;
Конденсаторы, резисторы, кнопки тактильные;
Полную спецификацию можно посмотреть, скачав файл ниже
BOM_LED_Clock_Atmega328_WS2812.csv
или перейдя на страницу мастера на EasyEDA
Архив с файлами часов Atmega328 WS2812 здесь.

Шаг первый: схема макет платы
Схема светодиодных часов была разработана в онлайн-среде Easy EDA.
Она содержит такие узлы, как: командный микроконтроллер ATmega328AU, микросхема реального времени DS3231, сенсорные кнопки на базе микросхемы TTP223-BA6 и адресуемые светодиоды WS2812.
На основе принципиальной схемы была разработана двусторонняя управляющая печатная плата (PCB).
В схеме компоненты SMD будут использоваться для поверхностного монтажа только с одной стороны, на верхнем слое печатной платы.
В онлайн-среде Easy EDA есть превью будущей 3D-модели печатной платы.
После этого мы создаем файл Gerber и загружаем его на сайт производителя печатной платы, мастер использует JLCPCB.
Скачать все необходимые файлы можно ниже.
[spoiler
Схема_LED_Clock_Atmega328_WS2812.pdfDatasheet_ATmega328P.pdfDatasheet_DS3231.pdfDatasheet_WS2812B.pdfTTP223-BA6-datasheet.pdf[/spoiler]7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Шаг второй: монтаж
В комплекте с печатными платами мастер заказал трафарет из нержавеющей стали для нанесения паяльной пасты и облегчения монтажа SMD компонентов.

Процесс следующий: кладем трафарет на печатную плату и располагаем отверстия в соответствии с расположением контактных площадок SMD компонентов.

Затем наносим на трафарет паяльную пасту и аккуратно заполняем отверстия небольшим шпателем, оставляя на контактных площадках хороший равномерный слой для пайки всех компонентов поверхностного монтажа.
Применение строго отмеренного количества паяльной пасты снижает вероятность возникновения перемычек между дорожками печатной платы.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Затем на плату укладываются компоненты и припаиваются с помощью термофена.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Шаг третий: загрузка программного обеспечения Arduino IDE
Далее можно перейти к программной части светодиодных часов. Для прошивки микроконтроллера Atmega328AU будет использоваться среда программирования Arduino IDE.

Бесплатную версию установщика Arduino IDE можно скачать с официального сайта.
Зайдя на сайт, нужно загрузить текущую версию для своей операционной системы.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Затем запускаем EXE-файл IDE Arduino из папки загрузки. В открывшемся окне принимаем лицензионное соглашение, нажимаем далее и затем нажимаем установить.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Если во время установки Arduino IDE драйверы не были установлены по каким-либо причинам, их можно установить вручную из папки программы, расположенной по пути: «C: Program files (x86) Arduino drivers», и запустить «dpinst -x86.exe »или« dpinst-amd64.exe »в зависимости от разрядности операционной системы.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Для удобства работы с папкой библиотек мастер создает ярлык и сохраняет его на рабочем столе.
Далее нужно установить права администратора для всей папки с библиотеками, чтобы не нужно было каждый раз подтверждать изменения от имени администратора.

Для лучшего понимания и отображения файлов нужно установить флажок для расширений имен файлов на вкладке просмотра.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Шаг четвертый: Java
Для работы с Arduino IDE также понадобится JRE (Java Runtime Environment). Переходим на официальный сайт JAVA и загружаем установочные файлы. Затем устанавливаем программу на компьютер.
Java может не подходить для новых версий IDE Arduino, но может быть полезна и для других программ.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Шаг пятый: драйвер для конвертера USB TTL
Для того, чтобы иметь возможность работать с китайским аналогом Arduino NANO, необходимо установить драйвер для конвертера USB TTL.
Драйвер можно легко найти и скачать в Интернете или скачать архив с файлами, перейдя по ссылке ниже в описании.
В папке загрузки из архива распаковать файлы с драйвером. Открыть появившуюся папку, внутри которой запустить установочный файл, после чего нажать на кнопку установки.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Шаг шестой: подключение и настройка Arduino
При первом подключении Arduino NANO компьютер автоматически распознает и установит программное обеспечение драйвера устройства.
В диспетчере устройств нужно проверить, к какому виртуальному порту подключена плата Arduino NANO. В данном случае это виртуальный COM-порт три.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Теперь нужно настроить IDE Arduino для использования платы Arduino NANO.
В среде Arduino IDE щелкаем вкладку инструментов, затем выбираем плату, с которой будем работать, снова щелкаем вкладку инструментов и выбираем правильный виртуальный COM-порт. Кликаем вкладку инструментов еще раз и выбираем модель процессора, это может быть старая или новая модель Atmega328AU.
Перед тем, как начать работу с Arduino NANO, нужно убедится, что она работает.
В Arduino IDE кликаем вкладку файла, затем выбираем вкладку примеров, затем выберите основы и мигающий светодиод (basics and the blinking LED). В открывшемся окне нажимаем на компиляцию кода, после чего загружаем прошивку в Arduino NANO.
После загрузки прошивки на плате Arduino NANO мы можем видеть, что светодиод мигает один раз в секунду. Это говорит о том, что плата исправна и готова к дальнейшему использованию.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Шаг седьмой: подключаем плату к Arduino
Дальше необходимо подключить первый разъем (CON1) на плате управления к Arduino NANO. Подключаем следующим образом: подключите положительный контакт Arduino к положительному контакту разъема, подключите отрицательный контакт Arduino к отрицательному контакту разъема, контакт Arduino (13) подключаем к контакту (SCK), контакт Arduino (12) подключаем к контакту (MISO), контакт Arduino (11) подключаем к контакту (MOSI) и контакт Arduino (10) подключаем к контакту (RESET).
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Далее в среде Arduino IDE щелкам вкладку инструментов, чтобы проверить правильность выбора платы Arduino и виртуального COM-порта. Затем кликаем вкладку файла, кликаем примеры и выбираем поставщика услуг Интернета для Arduino. В открывшемся окне нажимаем на компиляцию кода, а затем загружаем прошивку в Arduino NANO.

Далее открываем вкладку инструментов, еще раз проверьте правильность подключения платы и виртуального порта. Выбираем Arduino в качестве программатора ISP. Снова открываем вкладку инструментов, чтобы выбрать запись загрузчика.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Шаг восьмой: прошивка Atmega
Для ввода прошивки в микроконтроллер Atmega328AU мастер использует модуль FTDI USB-UART на микросхеме FT232RL.
7-сегментные светодиодные часы на базе Atmega328Нужно подключить модуль FTDI к плате управления.
Подключаем положительный, отрицательный, RX, TX, DTR контакты модуля FTDI ко второму разъему (CON2) на плате управления, контакты которого имеют такие же названия.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Перед тем, как начать прошивать микроконтроллер Atmega328AU, необходимо скопировать файлы из папки проекта светодиодных часов и вставить их в папку библиотек Arduino IDE.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Далее в среде Arduino IDE кликаем вкладку инструментов и выбираем вкладку программатор. Меняем ISP на программатор AVRISPmk2.
Затем снова щелкаем вкладку инструментов и проверяем правильность выбора COM-порта модуля FTDI. В данном случае это виртуальный COM-порт пятый.

На вкладке файла выбираем файл с программным кодом. В открывшемся окне нажимаем на компиляцию кода, после чего загружаем прошивку в микроконтроллер Atmega328AU.
Код можно скачать ниже.
Clock_Atmega328AU_WS2812.ino
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Шаг девятый: разработка деталей корпуса
Для создания 3D-визуализации и эскизов корпуса светодиодных часов использовалась программа KOMPAS 3D. Части корпуса устройства будут, изготавливаются из фанеры толщиной 4 мм, предназначенной для лазерной резки. Скачать файлы для лазерной резки можно на этой странице.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Шаг десятый: сборка часов
Далее переходим к сборке корпуса светодиодных часов. Соединяется плата и задняя панель с помощью винтов M3 и латунных вставок длиной около 15 мм. Длина латунных вставок может быть разной, так как толщина фанеры от 3,7 до 4 мм.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328На лицевой стороне платы нужно уложить три средние панели с прорезями в виде семисегментных индикаторов. С торцевых сторон деталей установить гайки М3 в прямоугольные отверстия.

Затем положить четвертую среднюю панель и белое полупрозрачное оргстекло толщиной 1 мм. Далее устанавливаем переднюю панель и фиксируем все детали винтами М3 длиной 10 мм.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Чтобы придать корпусу светодиодных часов более эстетичный вид, устанавливаем облицовочную панель с торцевой стороны.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328На тыльной стороне корпуса часов расположены кнопки управления. Выгравированные буквы в кружках имеют следующие значения: P – яркость, C – цвет, H настройка часов, M настройка минут.
7-сегментные светодиодные часы на базе Atmega328Для подвеса часов на стену или установки на горизонтальную поверхность предусмотрены специальные крепления.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328Часы готовы, а мастеру спасибо за подробную инструкцию.
7-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega3287-сегментные светодиодные часы на базе Atmega328

SitesReady

Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного. - Альберт Эйнштейн

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.