Особенность проекта то, что светодиодный модуль расположен непосредственно сверху микроконтроллера, без печатной платы. Эта схема будет работать от аккумулятора CR2032 в течение нескольких дней. Средние 16 выводов ATtiny4313 являются портами ввода/вывода, и к ним можно подключить светодиодный модуль в DIP корпусе. В этом проекте используется 12-контактный модуль LTP-747C. Семейство матриц LTP-757 также поддерживается. При использовании других светодиодных модулей может потребоваться внесение корректировки в исходный код.
Рабочий HEX файл занимает 2000 байт, остальные свободные 2000 байт для дополнительных изображений и анимации. Один статический 5x7 графических шаблон занимает 5 байт PROGMEM.
Микроконтроллер работает на частоте 4 МГц от внутреннего генератора. Динамическая индикация обрабатывается в аппаратном прерывании, производя очень устойчивое изображение. Частота обновления = 390hz, разделим на 5 линий, получим частоту кадров 78hz.
Схема устройства
Общая стоимость проекта: менее $ 4 каждый (без элементов питания и программатора)
Сборка
Разъем ISP для программирования не предусмотрен. Микроконтроллер сначала прошивается программатором, потом у микросхемы отрезаются наполовину все контакты кроме Vcc и GND.
Светодиодный модуль нужно припаять к 12 средним контактам контроллера. Далее припаиваются провода питания, кнопка и фиксируются термоусадочной трубкой.
Управление
Подсоедините устройство к аккумулятору. Нажмите на кнопку, чтобы выбрать световой шаблон или анимацию. Для выключения устройства отключите аккумулятор.
В этой версии прошивки представлены такие шаблоны: дерево, череп, сердце, алмаз, чашка, звезда, цветок, бомба, лиса, захватчик
и анимация: шахматная доска(тестовый образец), туннель, биение сердца, дождь, огонь.
Возможное обновление проекта
Добавить спящий режим(автоматическое выключение), добавить больше шаблонов, добавить код для поддержки других светодиодных модулей.
Автор: Tim Toner
Архив для статьи "Драйвер светодиодной матрицы 5x7 на ATtiny4313" | |
Описание: Исходный код(Си), файл прошивки микроконтроллера | |
Размер файла: 14.14 KB Количество загрузок: 1 047 | Скачать |
Комментарии
пытаюсь разобраться с кодом. Сам использую CodeVisionAVR. Если нетрудно скиньте на мыло что такое _BV() в какой среде используется эта запись?
Подскажите , пожалуйста , как правильно выставить fuse.
Написано : Микроконтроллер работает на частоте 4 МГц от внутреннего генератора.
fuse-калькулято р показал : DB-старший байт,62-младший
Запрограммировал ATtiny4313 , включил , на индикаторе
мерцают все светодиоды с большой частотой.
Помогите с fuse.
Спасибо
High: 0xDF