Бегущие огни (ch-bo-36)

Views: 2529


Проект на PIC-микроконтроллере PIC16F648A. Количество каналов 36. Для индикации используется подключение по матрице 6х6. Расположение светодиодов в одну линию. Все эффекты написаны для возможности увеличения количества светодиодов. Рекомендуется увеличивать кратно 36. При использовании в схема транзисторных ключей типа IRF7104 и IRF7101 (или аналогичных) количество светодиодов было 540 шт. Больше просто не было необходимости.


Схема бегущих огней.

ch-catcatcat-bo-01

Питание осуществляется от источника постоянного тока 5 вольт. Мощность выбирается от количества светодиодов, для питания 36 светодиодов достаточно тока в 300 мА. Для подключения светодиодных линеек предназначены соединители con3/4. Резисторы R14-R25 это плата за использования только одного плеча в управлении светодиодами, при высокой скорости которая используются для индикации, существенно сказывается емкость перехода светодиодов, поэтому эти емкости необходимо чем то разряжать когда транзисторный ключ закрыт.

Резисторы в затворах полевых транзисторов (установленные последовательно) можно выкинуть, только нужно оставить резисторы R12-R13. Они необходимы для выполнения функций внутрисхемного программирования (если это необходимо). Для задания тактовой частоты используется керамический резонатор на 20 мГ. Хотя можно использовать кварцевый резонатор или любой с частотой поближе к 20 мГ.

Диод шоттки предназначен для защиты PIC-контроллера от случайной подачи напряжения обратной полярности. Больше никаких нюансов в схеме нет.


Схема одной матрицы из 36 светодиодов и подключение к контроллеру бегущих огне ch-bo-36.

ch-catcatcat-bo-02

Для создания периметра их бегущих огней необходимо изготовить необходимое количество таких матриц и все они подключаются параллельно. Сопротивление резистов выбирается в зависимости от установленных типов светодиодов. Необходимо учитывать, что светодиоды работают в импульсном режиме с периодом 1:6. Вы можете выбирать ток согласно паспорта для светодиода для импульсного режима с коэффициентом 0,7.

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


Вид на собраную плату контроллера бегущих огней

ch-catcatcat-bo-03

ch-catcatcat-bo-04

резисторы на нижней стороне это 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 грн.

Корпус для платы контроллера, с вырезами под соединители

ch-catcatcat-bo-07


[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 модуль на примере PIC24FJ128GA204HVLD модуль на примере PIC24FJ128GA204
    Views: 742 HVLD модуль представляет собой простое устройство, для контроля напряжения питания микроконтроллера или внешнего напряжения (через делитель). Его задача при “выходе” напряжения за заданные пределы сформировать сообщение микроконтроллеру, что …
  • MPLAB® Code ConfiguratorMPLAB® Code Configurator
    Views: 1777 MPLAB ® Code конфигуратор (MCC) является свободно распространяемым плагином, это графическая среда программирования, которая генерирует бесшовный, легкий для понимания кода на Cи, чтобы вставить его в свой проект.
  • УКВ – радиоприем, часть 2УКВ – радиоприем, часть 2
    Views: 6339 Пришло свободное время решил вторую часть проекта реализовать (правда есть мысль и третью с использование цветного OLED и функцией ch-светомузыки, но это только задумка… Для понимания функций интегрального …
  • MPLAB® Code Configurator and EncoderMPLAB® Code Configurator and Encoder
    Views: 1533 Еще раз про энкодер… Для некоторых приложений очень удобно и экономически выгодно, для настройки и управления использовать энкодер. Такие энкодеры имеют строенную тактовую кнопку которую можно применить для выбора …
  • ESP8266 применение в проектахESP8266 применение в проектах
    Views: 3666 (Актуально только для версий прошивки 1.хх) ESP8266 показала себя как надежное и безотказное устройство для обмена данными с применением WIFI. Я использую ESP8266 исключительно через UART, с применением AT …
  • TDA7294 part 2TDA7294 part 2
    Views: 589 Це друга частина проекту TDA7294, початок дивись тут. Тут ви знайдете повністю проект високоякісного підсилювача на TDA7294, схема, 3D моделі, гербер файли для виготовлення друкованої плати. І звичайно …
  • Проект с использованием MCC часть 11Проект с использованием MCC часть 11
    Views: 921 Можно несколько облагородить программу вынести наши процедуры обработки нажатия кнопок в отдельные функции. Но вы должны понимать, что это хоть и не значительно, но будет тормозить общую скорость …
  • Униполярный шаговый двигатель – часть 2Униполярный шаговый двигатель – часть 2
    Views: 914 В этой части только итог и версия 2.0 универсальной, которая позволяет управлять шаговым двигателем во всех трех режимах и 3.0 специальной библиотеки только для одного полушагового режима. В …
  • Analog-to-Digital Converter with Computation Technical BriefAnalog-to-Digital Converter with Computation Technical Brief
    Views: 1373 Аналого-цифровой преобразователь с вычислительным модулем. ВВЕДЕНИЕ Аналого-цифровой преобразователь (ADC) с вычислительным модулем (ADC2) в 8-разрядном микроконтроллере Microchip имеет встроенные вычислительные функции, которые обеспечивают функции пост-обработки, такие как передискретизация, …



Поделись этим!

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

Продолжайте читать

НазадДалее