
Views: 2529
Проект на 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, режим бегущей тени.
Основные моменты:
Световые эффекты задаются последовательно и их количество и последовательность может быть изменена по своему желанию. Это можно сделать в этом месте:
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 [wpdm_file id=125]Схема подключения светодиодов в pdf [wpdm_file id=126]Прошивка v15 [wpdm_file id=127]Программа ассемблер Language tool versions: MPASMWIN.exe v5.49, mplink.exe v4.47, mplib.exe v4.47 [wpdm_file id=128][/box]
Это может быть интересно
Стробоскоп для автомобиля
Views: 2189 Одним из популярных решений светового тюнинга автомобиля, мотоцикла или скутера стал эффект – “полицейский стробоскоп“. На база платы ch-c0050 реализовано несколько проектов. В этой статье приводятся две версии …HVLD модуль на примере PIC24FJ128GA204
Views: 742 HVLD модуль представляет собой простое устройство, для контроля напряжения питания микроконтроллера или внешнего напряжения (через делитель). Его задача при “выходе” напряжения за заданные пределы сформировать сообщение микроконтроллеру, что …MPLAB® Code Configurator
Views: 1777 MPLAB ® Code конфигуратор (MCC) является свободно распространяемым плагином, это графическая среда программирования, которая генерирует бесшовный, легкий для понимания кода на Cи, чтобы вставить его в свой проект.УКВ – радиоприем, часть 2
Views: 6339 Пришло свободное время решил вторую часть проекта реализовать (правда есть мысль и третью с использование цветного OLED и функцией ch-светомузыки, но это только задумка… Для понимания функций интегрального …MPLAB® Code Configurator and Encoder
Views: 1533 Еще раз про энкодер… Для некоторых приложений очень удобно и экономически выгодно, для настройки и управления использовать энкодер. Такие энкодеры имеют строенную тактовую кнопку которую можно применить для выбора …ESP8266 применение в проектах
Views: 3666 (Актуально только для версий прошивки 1.хх) ESP8266 показала себя как надежное и безотказное устройство для обмена данными с применением WIFI. Я использую ESP8266 исключительно через UART, с применением AT …TDA7294 part 2
Views: 589 Це друга частина проекту TDA7294, початок дивись тут. Тут ви знайдете повністю проект високоякісного підсилювача на TDA7294, схема, 3D моделі, гербер файли для виготовлення друкованої плати. І звичайно …Проект с использованием MCC часть 11
Views: 921 Можно несколько облагородить программу вынести наши процедуры обработки нажатия кнопок в отдельные функции. Но вы должны понимать, что это хоть и не значительно, но будет тормозить общую скорость …Униполярный шаговый двигатель – часть 2
Views: 914 В этой части только итог и версия 2.0 универсальной, которая позволяет управлять шаговым двигателем во всех трех режимах и 3.0 специальной библиотеки только для одного полушагового режима. В …Analog-to-Digital Converter with Computation Technical Brief
Views: 1373 Аналого-цифровой преобразователь с вычислительным модулем. ВВЕДЕНИЕ Аналого-цифровой преобразователь (ADC) с вычислительным модулем (ADC2) в 8-разрядном микроконтроллере Microchip имеет встроенные вычислительные функции, которые обеспечивают функции пост-обработки, такие как передискретизация, …