
Проект на PIC-микроконтроллере PIC16F648A. Количество каналов 36. Для индикации используется подключение по матрице 6х6. Расположение светодиодов в одну линию. Все эффекты написаны для возможности увеличения количества светодиодов. Рекомендуется увеличивать кратно 36. При использовании в схема транзисторных ключей типа IRF7104 и IRF7101 (или аналогичных) количество светодиодов было 540 шт. Больше просто не было необходимости.
Схема бегущих огней.
Питание осуществляется от источника постоянного тока 5 вольт. Мощность выбирается от количества светодиодов, для питания 36 светодиодов достаточно тока в 300 мА. Для подключения светодиодных линеек предназначены соединители con3/4. Резисторы R14-R25 это плата за использования только одного плеча в управлении светодиодами, при высокой скорости которая используются для индикации, существенно сказывается емкость перехода светодиодов, поэтому эти емкости необходимо чем то разряжать когда транзисторный ключ закрыт.
Резисторы в затворах полевых транзисторов (установленные последовательно) можно выкинуть, только нужно оставить резисторы R12-R13. Они необходимы для выполнения функций внутрисхемного программирования (если это необходимо). Для задания тактовой частоты используется керамический резонатор на 20 мГ. Хотя можно использовать кварцевый резонатор или любой с частотой поближе к 20 мГ.
Диод шоттки предназначен для защиты PIC-контроллера от случайной подачи напряжения обратной полярности. Больше никаких нюансов в схеме нет.
Схема одной матрицы из 36 светодиодов и подключение к контроллеру бегущих огне ch-bo-36.
Для создания периметра их бегущих огней необходимо изготовить необходимое количество таких матриц и все они подключаются параллельно. Сопротивление резистов выбирается в зависимости от установленных типов светодиодов. Необходимо учитывать, что светодиоды работают в импульсном режиме с периодом 1:6. Вы можете выбирать ток согласно паспорта для светодиода для импульсного режима с коэффициентом 0,7.
Программа построена таким образом, что яркость светодиода можно менять в диапазоне 127 шагов, это достаточно для создания элементарных световых эффектом. Все эффекты написаны в динамическом режиме когда один эффект сменяет другой на максимальной скорости.
Вид на собраную плату контроллера бегущих огней
резисторы на нижней стороне это R14-R25.
Перечень элементов необходимых для сборки.
Наименование | Типоразмер | Тип (замена) | Количество | Примечание |
Микроконтроллер | SOIC18 | PIC16F648A | 1 | |
Конденсатор электролитический | 1000,0х6,3в | 1 | ||
Конденсатор электролитический | 22,0х6,3в | 1 | ||
Конденсатор керамический | 0,1х50в | 3 | ||
Керамический резонатор | 20.0 мГц | 1 | можно заменить на кварцевый + два конденсатора на 15 пф |
|
Резистор | 0805 | 1,0к | 12 | |
Резистор | 0805 | 100,0к | 12 | |
Транзисторы | SOIC8 | IRF7341 | 3 | |
Транзисторы | SOIC8 | IRF7342 | 3 | |
Диод шоттки | SMA | 10MQ040N | 1 |
Программа написана на ассемблере. В основную программу входят 55 эффектов, в том числе 2-ва – звездное небо, выбор эффектов через RAND, режим бегущей тени.
Основные моменты:
Световые эффекты задаются последовательно и их количество и последовательность может быть изменена по своему желанию. Это можно сделать в этом месте:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
org 0xD60 ;====================== выбор подпрограммы для огней vypro movfw chet_pro movwf temp_c bcf STATUS,C ; умножить значение регстра на 2 rlf temp_c,f ;====================== movlw HIGH adr_str1 ; PCLATH настройка регистра страницы для movwf PCLATH ; правильного выполнения команды "addwf PCL,F" ;====================== movfw temp_c ; загрузка адреса выбора программы adr_str1 addwf PCL,F ; pro1 call bo_left ; 0 return pro2 call bo_rait ; 1 return pro3 call bo_r_l ; 2 бегущий влево-вправо return pro4 call bo_nvc ; 3 бегущие навстречу return pro5 call bo_vys ; 4 return pro6 call bo_vys2 ; 5 return pro7 call bo_sal ; 6 return pro8 call bo_dvo ; 7 return pro9 call bo_nak ; 8 return pro10 call bo_nak2 ; 9 return pro11 call bo_nak3 ; 10 return pro12 call bo_nak4 ; 11 return pro13 call bo_kop ; 12 копьё return pro14 call bo_nak5 ; 13 выдвижение с низу return pro15 call bo_nak6 ; 14 выдвижение с верху return pro16 call bo_nak7 ; 15 два огня из центра с накоплением по краям, стирание с краев в центр return pro17 call bo_ng ; 16 плавно - все плавно загораются и ганут return pro18 call bo_ng1 ; 17 "бросок" return pro19 call stars ; 18 ветренное ночное небо return pro20 call stars2 ; 19 северное сияние return pro21 call chet_bit ; 20 случайные 4 огня return pro22 call chet_bit2 ; 21 бегущие 4 огня return pro23 call ccvety ;*22 цветы return pro24 call dogdi ;*23 капли дождя return pro25 call bo_left2 ;*24 return pro26 call bo_left3 ;*25 return pro27 call bo_nak8 ;*26 return pro28 call bo_nak9F ; 27 return pro29 call dogdi2F ;*28 return pro30 call taxiF ; 29 return pro31 call volnyF ; 30 return pro32 call volny1F ; 31 return ;====================== bsf INVRT ; 1 -32 goto pro1 bsf INVRT ; 2 -33 goto pro2 bsf INVRT ; 3 -34 goto pro3 bsf INVRT ; 4 -35 goto pro4 bsf INVRT ; 5 -36 goto pro5 bsf INVRT ; 6 -37 goto pro6 bsf INVRT ; 7 -37 goto pro7 bsf INVRT ; 8 -39 goto pro8 bsf INVRT ; 9 -40 goto pro9 bsf INVRT ; 10 -41 goto pro10 bsf INVRT ; 11 -42 goto pro11 bsf INVRT ; 12 -43 goto pro12 bsf INVRT ; 13 -44 goto pro13 bsf INVRT ; 14 -45 goto pro16 bsf INVRT ; 15 -46 goto pro19 bsf INVRT ; 16 -47 goto pro20 bsf INVRT ; 17 -48 goto pro21 bsf INVRT ; 18 -49 goto pro22 bsf INVRT ; 19 -50 goto pro23 bsf INVRT ; 20 -51 goto pro24 bsf INVRT ; 21 -52 goto pro25 bsf INVRT ; 22 -53 goto pro26 bsf INVRT ; 23 -54 goto pro27 bsf INVRT ; 24 -55 goto pro29 ;===================================================================================================== |
Видео проекта
В видео предоставлены вырезки от общего цикла работы программы, сам цикл приблизительно 45 минут.
Для радиолюбителей Днепропетровска, платы контроллера и светодиодные планки есть в наличии, стоимость платы контроллера 20 грн, планка 10 грн.
Корпус для платы контроллера, с вырезами под соединители
[box title=”Файлы для загрузки” color=”#521BDE”]Схема контроллера бегущих огней в формате pdf

Бегущие огни (ch-bo-36) - контроллер

Бегущие огни (ch-bo-36) - светодиоды

Бегущие огни (ch-bo-36) - прошивка

Бегущие огни (ch-bo-36) - программа
Это может быть интересно
Проект с использованием MCC часть 09
Эта часть будет посвящена созданию практического проекта управления освещение. Тех задание: Два выхода управления ШИМ – светодиодным освещением. Две кнопки управления, каждая кнопка управляет, своим каналом, логика самая простая, нажимаем …AD9833 – Programmable Waveform Generator
Простой генератор звуковых частот на AD9833. Для тестирования БПФ в светомузыке мне нужен был генератор звуковых частот. Я использовал советский Г3-112, но он себя давно изжил. Все думал купить чёто такое …PIC18 – System Arbitration
Системный арбитр. Разрешает доступ к памяти между выборами уровнями системы (т.е. Main, Interrupt Service Routine) и выбором периферийных устройств (т.е. DMA и Scanner) на основе назначенных пользователем приоритетов. Каждый из уровней …Обновление ESP8266 c ESPFlashDownloadTool_v3.6.3
Технология обновления следующая: Загружаем программу со страницы espressif.com. Разархивируем. Где находятся файлы, для прошивки? Заходим в каталоги Подключаем по схеме в статье WiFi ESP8266 (замыкаем BT2, перемычка). Запускаем программу, откроется два …Униполярный шаговый двигатель – часть 2
В этой части только итог и версия 2.0 универсальной, которая позволяет управлять шаговым двигателем во всех трех режимах и 3.0 специальной библиотеки только для одного полушагового режима. В этих библиотеках …Интерактивные Led
Тема проекта продолжение следует…. Это может быть интересно Метки:LEDМодуль CAN в микроконтроллерах PIC18
Введение CAN последовательный интерфейс связи, который эффективно поддерживает распределенное управление в реальном масштабе времени с высокой помехозащищенностью. Протокол связи полностью определен Robert Bosch GmbH, в спецификации требований CAN 2.0B …Применение typedef, struct и union
Полезные описания переменных Часто необходимо в памяти расположить последовательно разные виды данных, что бы потом можно было их использовать. Полезные ссылки Взято и переработано с сайта http://www.butovo.com/~zss/cpp/struct.htm http://cppstudio.com/post/9172/ Синтаксис структур. …Цифровой спидометр для автомобиля
Универсальность печатной платы ch-c0030pcb позволяет создавать на её основе разнообразные устройства. Одним из таких устройств является электронный спидометр для автомобиля, в котором можно задать два компаратора скорости, например, для города и …Счетчики посетителей
Вас сосчитали!? или счетчики посетителей. Для чего нужны счетчики посетителей? Какие они бывают? ТОРГОВЛЯ. Подсчитайте, сколько ваш магазин посещает человек за день. Кок много человек приходит утром, какое количество вечером. …