Автомат световых эффектов

Автомат световых эффектов
Однажды у меня появилась идея сделать простой автомат световых эффектов. Мне хотелось получить по возможности разнообразные эффекты, а это можно было реализовать на светодиодной матрице. В качестве микроконтроллера был выбран самый распространенный PIC16F628A. После подсчета количества линий ввода-вывода, оказалось, что к микроконтроллеру можно подключить матрицу размером 7х7, то есть получается 49 светодиодов.

Выводить изображение на матрицу можно только при помощи динамической индикации. Матрица подразделяется на строки и столбцы, светодиоды HL1-HL7, HL8-HL14 и т.д. образуют столбцы матрицы, а светодиоды HL1, HL8, HL15, HL22, HL29, HL36, HL43 соответственно образуют одну из строк матрицы. Изображение выводится последовательно по столбцам. Алгоритм вывода следующий: начинаем от крайнего столбца HL43-HL49, сначала устанавливаем необходимые логические уровни на линиях 0-6 порта B микроконтроллера, к которым подключены строки матрицы, затем подключаем столбец к положительному полюсу источника питания при помощи транзистора VT7, при этом на анодах светодиодов HL43-HL49 появляется напряжение питания. Таким образом, в данном столбце загораются те светодиоды, на катодах которых присутствует логический ноль. Через определенный промежуток времени этот столбец отключается, на линиях 0-6 порта B микроконтроллера устанавливается следующая комбинация логических уровней, после чего к источнику питания подключается следующий столбец светодиодов HL36-HL42.
Схема автомата световых эффектов
Один полный кадр изображения получается из последовательных вспышек семи столбцов матрицы. Кадр повторяется много раз, при этом зритель увидит цельное изображения. Здесь надо учесть еще один важный момент, чтобы изображение не мерцало необходимо, чтобы частота вспышек каждого светодиода составляла примерно 100Гц и более. Исходя из этого, можно посчитать время свечения каждого столбца матрицы. Частоту примем равной f=100Гц, отсюда период T=10мс, так как у нас 7 столбцов, получаем время свечения столбца t=10/7=1,43мс. В программе микроконтроллера я установил примерно такую же продолжительность свечения. Анимированное изображение в свою очередь состоит из нескольких разных кадров.

В программу микроконтроллера я заложил пятнадцать автоматически чередующихся световых эффектов, такие как пульсирующая звезда, бьющееся сердце, вращающиеся стрелки и др. Программа для микроконтроллера написана на языке ассемблера в среде MPLAB.

Линия 3 порта A (вывод 3 микроконтроллера) имеет открытый сток на выходе, поэтому подключена к положительному полюсу источника питания через резистор R1, который ограничивает ток через внутренний буфер микроконтроллера, и ток базы транзистора VT1. Резисторы R2–R7 ограничивают ток базы транзисторов VT2–VT7. Резисторы R8–R14 предназначены для ограничения тока через светодиоды, а также ограничивают ток через внутренние буферы микроконтроллера.

Устройство собрано на плате из односторонне фольгированного стеклотекстолита толщиной 1…2 мм. При пайке светодиодов, сначала к плате припаивают светодиоды первой строки HL1, HL8, HL15, HL22, HL29, HL36, HL43, далее устанавливают перемычку, и к ней дополнительно подпаивают катоды светодиодов, затем такую же операцию проделывают для последующих строк.

В устройстве применены резисторы МЛТ, транзисторы КТ315 можно заменить на КТ3102. Светодиоды АЛ307БМ можно заменить практически на любые зарубежные с диаметром корпуса 5мм, и в зависимости от их рабочего тока, возможно, придется подобрать значения сопротивлений резисторов R8 – R14, при этом ток через порты микроконтроллера не должен превышать 25мА. Микроконтроллер PIC16F628A заменим на PIC16F628.
В качестве источника питания подойдет нестабилизированный сетевой блок питания с выходным напряжением 7–12В, и током не менее 100мА, также устройство можно питать от гальванических батарей, аккумуляторов, например от батареи “Крона”.

Статья опубликована в журнале “Радио” №6 2011г. под названием “Автомат световых эффектов на микроконтроллере”, также было заключено соглашение с ООО “Чип набор” о выпуске набора для радиолюбителей.
ООО Чип набор
Рисунок платы в формате JPG
Печатная плата в формате Sprint Layout
Прошивка МК и исходник

У этой записи 9 комментариев

  1. Молоцом! Видео есть?
    Большой гонорар срубил?

  2. У меня че то не работает в чем может быть это проблема? МикОконтроллер прошил 🙁 оно не работает

    1. Здравствуйте, проверьте напряжение питания на микроконтроллере, правильность сборки, транзисторы ставили как на схеме кт315?

      Если схема собрана правильно и есть питание, то либо неправильно прошит микроконтроллер, либо он неисправен. Каким программатором прошивали?

  3. Спасибо заработало:)

  4. Зачем тут транзисторы?

    1. То что можно собрать без транзисторов я видел, но это неправильно, транзисторы нужны для обеспечения рабочего тока через светодиоды столбцов и защиты линии микроконтроллера от перегрузки.

      Представим что в первом столбце загорелись все светодиоды HL1-HL7 (8 шт), ток через светодиоды ограничивается резисторами R8-R14, для каждого светодиода ток ограничивается на уровне 20 мА. Если исключить транзистор столбца VT1 и запитать столбец напрямую через линию микроконтроллера RB7, то ток через линию составит 20*8=160 мА, а линия микроконтроллера рассчитана максимум на 25 мА, будет перегрузка и порт МК скорее всего выйдет из строя.

      А если поставить на линию RB7 ограничивающий резистор (ограничение тока до 25 мА), тогда на каждый светодиод столбца придется по 25/8= 3 мА рабочего тока (это когда включаются все 8 светодиодов столбца), что приведет к потере яркости. То есть получим меняющуюся яркость изображения, в зависимости от того, сколько светодиодов загорелись в столбце.

  5. Руслан, приветствую! Скажи, реально написать к этой схеме код, чтобы создать единственный эффект (не знаю точно как называется), когда диоды быстро и хаотично вспыхивают? встречал разные названия… что то типа конфети или звездопад. Готов скромно поддержать материально. Примерно как на этом видео, эффект конфети на максимальной скорости. У нас один цвет естественно: https://youtu.be/K0tdE4_kmos?t=49
    только ограничить одновременное свечение, скажем не белее 8 светодиодов в один момент времени.

  6. А резистор R1 подключен правильно?

    1. Приветствую, все верно, линия RA4 микроконтроллера имеет выход с открытым стоком

Имя (обязательно)Email (обязательно)Веб-сайт

Добавить комментарий