Views: 2438
Проект на 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: 2177 Какие задачи нам позволяют решать структуры и объединения? Для разработчика встроенных систем эффективность и компактность кода всегда на первом месте. Если программировании на Ассемблере ты сам определяешь как …
- Часы + Календарь + Термометр + …Views: 2710 Часы + Календарь + Термометр + Индикатор влажности + Секундомер + Дистанционное управление на ИК лучах (пульты на RC-5 протоколе) + Автоматическая регулировка яркости + Возможность вывода данных через USB, …
- MPLAB® Code ConfiguratorViews: 1768 MPLAB ® Code конфигуратор (MCC) является свободно распространяемым плагином, это графическая среда программирования, которая генерирует бесшовный, легкий для понимания кода на Cи, чтобы вставить его в свой проект.
- AD9833 – Programmable Waveform Generator – part twoViews: 1772 Прошло время и появилась тема, что-бы закончить проект AD9833 – Programmable Waveform Generator. Приехали печатные платы. В этот раз я печатные платы заказывал в https://jlcpcb.com/ делал это в …
- ch-4050 – дифференциальный терморегуляторViews: 1881 ch-4050 – это не новая модель, это расширенная версия универсального терморегулятора ch-4000. Различия коснулись в появлении новой функции дифференциального регулирования. Это вид регулирования по разности температур измеренного двумя …
- MCC PIC24 – модуль OUTPUT COMPARE – в режиме генератора звуковых сигналовViews: 619 При проектировании простых устройств автоматики, часто необходимо иметь механизм звукового оповещения. Самый верхний уровень, это формирование голосовых сообщений, но об этом, как то по позже… В самом примитивном …
- NS108-5050-16bit от NewstarViews: 599 Кто уже использует в своих проектах адресуемые светодиоды хорошо знакомы с такими как WS2812 и им подобные. Эти светодиоды для управления используют однопроводную шину. Из-за этого пропускная способность …
- HVLD модуль на примере PIC24FJ128GA204Views: 642 HVLD модуль представляет собой простое устройство, для контроля напряжения питания микроконтроллера или внешнего напряжения (через делитель). Его задача при “выходе” напряжения за заданные пределы сформировать сообщение микроконтроллеру, что …
- OLED RET012864E/REX012864JViews: 1472 RET012864E/REX012864J ОЛЕД индикатор производитель Raystar-Optronics приобретался в http://www.microchip.ua/ к сожалению никакой информации на сайте поставщика нет. Поэтому решил работу с этой версией индикатора на драйвере SSD1305 предоставить на своем сайте. Так как …
- Дифференциальный терморегуляторViews: 4004 Дифференциальный терморегулятор ch-3020 Назначение. Ch-c3020 представляет собой дифференциальный терморегулятор. Основное назначение солнечные системы горячего водоснабжения, а также вентиляционные системы управление притоком свежего воздуха. Контроллер позволяет работать пяти режимах. …