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

Visits: 2417


Проект на 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]



Это может быть интересно


  • ch-4060 – регулятор температуры и влажности на датчике DHT11/DHT22/AM2302ch-4060 – регулятор температуры и влажности на датчике DHT11/DHT22/AM2302
    Visits: 2408 На плате ch-4000 очень легко собрать устройство регулятора температуры и влажности. Датчик DHT11  самый недорогой вариант для создания такого устройства, правда точность его не велика, но для бытовых устройств …
  • Altium Designer – подготовка документации для производства и сборки печатных платAltium Designer – подготовка документации для производства и сборки печатных плат
    Visits: 3619 В процессе освоения Altium Designer много возникает вопросов по подготовке документации для производства плат, а также для её сборки. Altium Designer позволяет сделать все требуемые документы, хотя скажем …
  • Индикатор температурыИндикатор температуры
    Visits: 2651 Проект для начинающих, на демо плате BB-2T3D-01. Простой индикатор температуры. Проект никак не задумывался, просто на витрину магазин Ворон нужна была демонстрационная модель на макетной плате, чего нибудь работающего. Остановились на индикаторе …
  • Мониторинг температурыМониторинг температуры
    Visits: 1367 Настоящий проект создан как обучающий с применением библиотек ds18b20 и LCDHD44780 и компилятора Microchip MPLAB XC8 C Compiler V1.12. Если необходимо иметь информацию по состоянию температуры в помещении или в здании, с количеством до 6 точек (16), то …
  • NS108-5050-16bit от NewstarNS108-5050-16bit от Newstar
    Visits: 579 Кто уже использует в своих проектах адресуемые светодиоды хорошо знакомы с такими как WS2812 и им подобные. Эти светодиоды для управления используют однопроводную шину. Из-за этого пропускная способность …
  • Проект с использованием MCC часть 08Проект с использованием MCC часть 08
    Visits: 1005 И так создадим проект в котором при помощи двух кнопок мы сможем управлять яркостью светодиодов. При использовании МСС у нас лафа полная, добрые дяди с Microchipa подготовили функции, …
  • 12-BIT A/D CONVERTER WITH THRESHOLD DETECT на примере PIC24FJ128GA20412-BIT A/D CONVERTER WITH THRESHOLD DETECT на примере PIC24FJ128GA204
    Visits: 805 Введение. 12-битный модуль A/D Converter является усовершенствованной версией 10-битного модуля, предлагаемого на некоторых устройствах PIC24. Оба модуля являются преобразователями, в своих ядрах, с последовательным приближением (SAR), в окружении …
  • Moving average – скользящее среднееMoving average – скользящее среднее
    Visits: 2201 Скользящая средняя, скользящее среднее (англ. moving average, MA) — общее название для семейства функций, значения которых в каждой точке определения равны среднему значению исходной функции за предыдущий период. Скользящие средние обычно используются с данными временных рядов для сглаживания …
  • TDA7294 part 2TDA7294 part 2
    Visits: 252 Це друга частина проекту TDA7294, початок дивись тут. Тут ви знайдете повністю проект високоякісного підсилювача на TDA7294, схема, 3D моделі, гербер файли для виготовлення друкованої плати. І звичайно …
  • Kitchen timer with contactless gesture controlKitchen timer with contactless gesture control
    Visits: 516    Кухонний таймер з безконтактним керуванням жестами дозволяє встановити необхідний період часу для приготування страв, не торкаючись пристрою. Дуже зручно під час приготування їжі, коли руки забрудниться. Усі …



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

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

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

НазадДалее