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]
Это может быть интересно
- PIC18 – System ArbitrationViews: 572 Системный арбитр. Разрешает доступ к памяти между выборами уровнями системы (т.е. Main, Interrupt Service Routine) и выбором периферийных устройств (т.е. DMA и Scanner) на основе назначенных пользователем приоритетов. Каждый …
- Проект с использованием MCC часть 14Views: 833 С выводом данных на дисплей мы справились (но могу сразу сказать библиотеку графики к этой статьи пришлось доработать, поэтому в этом проекте она обновлена). У нас на текущем …
- Altium Designer first projectViews: 298 Эта статья подразумевает, что у вас установлен и настроен Altium Designer как описано в статье Altium Designer my setup system and project structure. Обратите внимание! Библиотека постоянно обновляется, …
- LED драйвер TM1639Views: 2202 TМ1639 позволяет работать на матрицу 8*8 или 8 семисегметных индикаторов. Может работать как на индикаторы с общим катодом, но и есть возможность подключать общим анодом. Для управления драйвером …
- Проект с использованием MCC часть 04Views: 1140 Теперь простого горения светиков нам не достаточно, заставим их мигать. Для начала используем первобытно простой способ, но достаточно простой. Используем функции delay, напрягаться откуда они берутся не будем, самое …
- Часы-кухонный таймерViews: 4064 Каждая кухня должна иметь кухонный таймер, который позволяет напоминать хозяйке когда проходить определенный промежуток времени. Например, печем пирог, варим яйца… , чтобы не смотреть постоянно на часы, установим таймер и …
- MPLAB® Code ConfiguratorViews: 1768 MPLAB ® Code конфигуратор (MCC) является свободно распространяемым плагином, это графическая среда программирования, которая генерирует бесшовный, легкий для понимания кода на Cи, чтобы вставить его в свой проект.
- Оптосимистор и его применениеViews: 19612 Эрве Кадино “Цветомузыкальные установки” Ответ на вопрос – управление мощным тиристором или симистором, от терморегулятора. Статья в pdf[wpdm_file id=129 template=”link-template-calltoaction3.php”] Оптосимистор принадлежат к классу оптронов и обеспечивают очень хорошую …
- Проект с использованием MCC часть 12-1Views: 955 В настоящее время без визуализации информации уже не интересно. Поэтому научимся выводить информацию на дисплей. Для это возьмет простенький OLED RET012864E/REX012864J я такой приобретал в фирме “Гамма-Украина”, описание можно …
- Инфракрасный датчик движения, PIR-sensorViews: 3097 Домашняя автоматика предполагает наличие датчиков движения, которые способны контролировать движения человека. Самым простым и доступным устройством позволяющие контролировать изменения ИК-излучения, это ПИР-сенсоры. На текущий момент доступны не дорогие модели D203B, D204B, D205B. Все …