ARDUINO часики с динамической индикацией

Как то так сложилось, что для ардуинки практически не используют большие 7-ми сегментные индикаторы, все больше уже готовые модули, которые не отличаются крупными размерами.

Сей пробел по мере сил я немного осветил ;)

ARDUINO часики с динамической индикацией Arduino, Программирование, Arduino Nano V3, Длиннопост

Схема часов предельно простая - 4-х разрядный 7-ми сегментный дисплей, собранный на суперярких 1,5" дюймовых индикаторах с общим анодом FYS-15011BD-11. В каждом сегменте индикатора стоят по 2 последовательных светодиода.

Аноды идут соответственно на выводы А2-А5 (в скетче они зовутся 16-19), катоды через резисторы 220 Ом. Ток получается мизерный, а яркость в вечернее время даже чрезмерной.

Я сначала на точку поставил тоже 220 Ом, но она светится значительно ярче, потому надо поэкспериментировать с большим номиналом, в схеме уже стоит 470 Ом.

Катоды идут с D2 до D9 - шесть выводом относятся к PORTD и два к PORTB. Скорее всего можно задействовать весть PORTD на вывод, включая 0 и 1 выводы, на плате обозначаются как выводы последовательного порта, индикатор по идее мешать прошивке не будет. Но я тестировал программу с выводом в последовательный порт, поэтому не задействовал их.


В качестве часов реального времени выбрана DS1302 (впрочем я собираюсь все возможные протестировать). На схеме видно что куда подключать.

Для начальной установки точного времени нужно найти и раскомментировать в коде строчку :


// rtc.setTime(12, 00, 0); // Set the time to 12:00:00 (24hr format)


Естественно поставив нужные значения времени в формате часы : минуты : секунды, после первого запуска опять нужно убрать строку под комментарий и еще раз загрузить скетч. В противном случае время будет  при каждом включении часов начинать отсчет с выбранного времени.


Код с использованной библиотекой реального времени https://yadi.sk/d/PirwXVqzB-1nRw

ARDUINO часики с динамической индикацией Arduino, Программирование, Arduino Nano V3, Длиннопост

Вот так оно выглядит вживую.

ARDUINO часики с динамической индикацией Arduino, Программирование, Arduino Nano V3, Длиннопост

Нули выводятся потому что нашел серьезный баг - беспаечные платы могут из-за плохого контакта дать трудноуловимую ошибку, в данном случае периодически то часы шли, то вот так показывали нули. Оказалось все дело в контактах ног ардуинки в части подключения часовой микросхемы.

ARDUINO часики с динамической индикацией Arduino, Программирование, Arduino Nano V3, Длиннопост

А вот такой корпус будет у этих часиком, корпус от советских электромеханических часов Слава, ну точнее не сам корпус, а декоративные элементы.


PS: Только сейчас вспомнил что бывают переходы на летнее/зимнее время и таки придется в следующей версии ставить кнопки для выставления часов. 😉

Arduino & Pi

1.4K постов20.6K подписчика

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу