Например TDA7294

РадиоКот > Схемы > Светотехника > Бегущие огни и световые эффекты

Ёлка. Random flash

Автор: Albert_V
Опубликовано 11.11.2014.
Создано при помощи КотоРед.

________________________________________________________________

Хорошо, что жена попалась строгая и авторитетная.
Как-то под Новый год она послала…
...
Ну, в общем, послала его за ёлкой.
Уж послала, так послала…
А то, говорит, кто ж это на Новый год – и без ёлочки?
А?!?!?!

«Падал прошлогодний снег» (А. Татарский, С. Иванов, С. Садальский) ©

________________________________________________________________

 

А дело было так…

30-го декабря подарили на работе искусственную ёлку высотой ~35 см (без игрушек).

Покупать китайские гирлянды или игрушки не было ни времени, ни желания.
Хотелось что-то сделать ‘нестандартное’, ‘ненадоедливое’ и, главное, быстро (к Новому Году).
Что получилось – судить Вам.

Сразу отвечу на вопрос ‘Почему был выбран PIC18F25K22?’. Просто за день до Нового Года это единственное, что у меня оказалось под рукой.
Но, программа написана так, что её очень просто подправить для любого (VDD=5V) PIC16/PIC18 с 12-тью свободными выходами.

Если у Вашего контроллера нет ‘Internal Oscillator’ – придётся поставить два конденсатора и кварц (на схеме обозначено 'Optional') и указать в тексте программы частоту кварца (параметр ZQFREQ).

Если потребуется – поставьте драйверы светодиодов (из расчёта, что в любой момент времени может быть включен только один светодиод).

Блок питания +5V на схеме отсутствует, так как проще всего использовать обычное (USB) зарядное устройство для мобильного телефона или, на свой страх и риск, USB-порт.

Конечно же, число резисторов можно сократить до 4-ёх, перенеся их с линий COLx на ROWx.

Основа эффекта – счётчик с переменным коэффициентом деления и два генератора псевдослучайной последовательности (ГПСП), реализованные на основе линейного регистра сдвига с обратной связью (Linear Feedback Shift Register (LFSR)). Длина первого – 23 бита с отводами от 4-го и 22-го выхода, второго – 28 бит с отводами от 2-го и 27-го выхода.

С одного из них 'защёлкиваются' данные для COLx (3 бита) с другого – ROWx (2 бита). Так же, 'перекрёстно', с них 'защёлкиваются' данные для изменения времён эффекта (если значения параметров TIMEHOLD_H и (или) TIMEHOLD_L равны '0').

 

Если попробовать перевести алгоритм программы в 'железо' – условно его можно представить так:

ZQFREQ и TIMELEDFLASH – названия параметров в 'шапке' программы.

На графике указаны названия параметров в 'шапке' программы:

 Видео эффекта* + Аркадий Хоралов и Новые Самоцветы "Новогодние Игрушки"

*Поскольку время 'вспышки' светодиодов ~8.2 ms (параметр TIMELEDFLASH=8) и минимальное время между 'вспышками' ~10.24 ms (параметр LIMSPEED_UPPER=10), видеокамера не может передать этот эффект 'как есть'.

В оформлении ёлки использованы SMD светодиоды:

 

 

 

В архиве - исходники (*.asm) + прошивки (*.hex) для PIC18F25K22 (Internal Oscillator) и PIC16F876 (ZQ1 F=4MHz).
CONFIG контроллеров – в тексте программ и, соответственно, в файлах *.hex.
Если ПО Вашего программатора не 'понимает' CONFIG в файле *.hex – также в архиве есть информация о том, как должны выглядеть настройки CONFIG (копии окон программатора Triton).

Для других контроллеров PIC16/PIC18 Вы сами сможете изменить программу.
В текстах программ есть комментарии, которые помогут Вам достаточно легко это сделать.


Файлы:
Архив


Все вопросы в Форум.


ID: 2025

Как вам эта статья?

 Нравится
 Так себе
 Не нравится

Заработало ли это устройство у вас?

 Заработало сразу
 Заработало после плясок с бубном
 Не заработало совсем

32 6 1
1
Подробно