Часы на светодиодных матрицах с драйверами MAX7219
Автор: WiseLord, wiselord1983@gmail.com Тут на форуме есть уже как минимум три различные конструкции часов на светодиодных матрицах. Я предлагаю ещё одну, с использованием драйверов MAX7219, которые недорого можно купить на том же AliExpress, да и ещё, при желании, сразу в виде готовых модулей с матрицей. В схеме использованы МК ATmega8, часы DS1307, датчики DS18B20, в общем, за исключением MAX7219, всё знакомое и привычное. Вот несколько фотографий того, что у меня получилось:
Видео работы: Так что, если эти очередные часы кого-то заинтересовали, читаем статью дальше. Принципиальная схема часов:
Как видим, ничего сложного. Управляется вся система микроконтроллером по трём проводам, матрицы включены цепочкой. Так что никаких проблем с увеличением, при желании, длины бегущей строки нет. Исходники проекта доступны на GitHub-е. Честно говоря, делался проект достаточно давно, и код я писал тогда чуть хуже, поэтому там большой простор для оптимизации. Хотя самое вкусное - библиотека для max7219 - в принципе, доделывалась и оптимирировалась недавно, так что там всё более-менее в порядке. На текущий момент все 8кБ flash-памяти у ATmega8 практически израсходованы (те же шрифты места много требуют), так что особых новых "фич" добавить не получится. Разве что перейти на другой, более "жирный", контроллер. Пока же набор реализованных возможностей таков:
Действия кнопок:
При длинном нажатии кнопки соответственно входят в режимы настройки времени/будильника/яркости. Одновременное нажатие и удержание всех трёх кнопок приводит к развороту картинки на 180 градусов. Такая вот "фича" :). Удобно для симметричного корпуса, чтобы провода питания или внешнего термодатчика с нужной стороны заводить. По поводу печатных плат скажу следующее. Плат всего три - 1) МК с часами, 2) матрицы с драйверами, 3) кнопки. Разводка сделана под конкретный корпус и под имеющиеся у меня матрицы. У меня были двухцветные GNM-19881 BSG, то есть на 24 ножки. Зелёный цвет я не использовал, разведя на max7219 только красные светодиоды. Так что под более популярные одноцветные матрицы придётся делать платы самим - по схеме. Тут важно не попутать столбцы-строки, так что можно попробовать для начала сделать макетку с одной матрицей. Ну или по схеме делать, тем более рабочий проект для Proteus есть. Если кто-то сделает рабочую плату "всё-в-одном" под те же популярные 32мм матрицы ОК (есть такие у меня, в Китае заказанные), я и сам с удовольствием воспользуюсь результатом и разведу себе ещё одни часики - самому как-то лень новую плату делать. Ну вот, пожалуй, и всё. Удачи в повторении.
P.S. В последних прошивках, которые можно отслеживать в соответствующей ветке форума, упор сделан на вариант для четырёх матриц. Четвёртая матрица подключается в цепочку вслед за третьей. Из новых функций - авторегулировка яркости на базе фоторезистора, разные варианты шрифтов для отображения времени, локализованные варианты EEPROM (белорусский, английский, украинский, русский), возможность отключения лидирующего нуля часов при отображении времени, и прочие "вкусности" - как уже реализованные, так и запланированные. Так что при повторении схемы, лучше сразу ориентироваться на 4 матрицы и брать новые прошивки на форуме. Помимо этого, помимо 4 x MAX7219 в последних версиях также поддерживается драйвер HT1632, а схемотехника для него привязана к оной для платы JY-MCU 3208 Clock, которую можно легко найти в китайских магазинах вроде aliexpress.
Файлы: Все вопросы в Форум.
Эти статьи вам тоже могут пригодиться: |
|
|||||||||||||||
|
||||