УСТРОЙСТВО СВЕТОВЫХ ЭФФЕКТОВ
- Подробности
- Категория: схемы на ATtiny
- Опубликовано: 08.04.2017 11:19
- Просмотров: 5881
В статье представлен вариант устройства световых эффектов на базе микроконтроллера AVR. Устройство позволяет реализовать 16 различных световых эффектов с заданием скорости переключения индикаторов в гирляндах. Устройства, создающие световые эффекты, пользуются неизменной популярностью на различных массовых мероприятиях. Применение в них микроконтроллеров позволяет значительно увеличить их функциональные возможности по сравнению с аналогичными устройствами, выполненными на цифровых логических микросхемах. Количество реализуемых разнообразных световых эффектов ограничивается лишь фантазией разработчика и памятью программ микроконтроллера. Причем, что число исполняемых функций, а так же параметры и количество световых эффектов устройства можно изменить, под каждый конкретный случай, изменив фактически только программное обеспечение, как правило, при минимальных доработках в аппаратной части. Это очень удобно, когда для изменения сценария световой иллюминации достаточно "на ходу" изменить только программное обеспечение. При желании это можно сделать даже во время мероприятия. Для этого нужно только перепрограммировать микроконтроллер или заменить его с новой зашитой программой.
Предлагаемое устройство световых эффектов (далее устройство), прежде всего ориентировано на украшение новогодней елки, но может быть использовано для оформления праздничных иллюминаций. Устройство выполнено на микроконтроллере ATtiny2313 Его принципиальная схема, приведена на рис. 1.
Для описания световых эффектов, введем следующие условные обозначения: индикатор HL1 - индикатор № 1, индикатор HL2 - индикатор № 2, индикатор HL64 - индикатор № 64. Конструктивно, индикаторы № 1...№ 8 образуют собой гирлянду (далее гирлянда №1), соответственно индикаторы №9... № 16 образуют гирлянду № 2 и т.д. Индикаторы №58... №65 - гирлянда №8. Считаем, так же, что конструктивно все индикаторы в гирлянде расположены в один ряд. Применительно к елке: на левой стороне целесообразно разместить гирлянды с нечетными номерами, на правой с четными.
В интерфейс управления устройства входят: клавиатура (кнопки S1...S5),
дисплей из двух цифровых индикаторов HG1, HG2. Число, индицируемое на индикаторе HG1, определяет номер светового эффекта исполняемого в устройстве. (Более подробно, все реализуемые в устройстве световые эффекты будут приведены ниже.) Число, индицируемое на индикаторе HG2, определяет относительную скорость переключения индикаторов в выбранном световом эффекте, данное число может изменяться в пределах от 1 до 9 с шагом 1.
Кнопки клавиатуры имеют следующее назначение:
S1 ( Д ) - инкремент числа индицируемого на индикаторе HG1 (выбор номера выполняемого светового эффекта). Инкремент числа индицируемого на индикаторе HG2 (увеличение скорости).
S2 ( V ) - декремент числа индицируемого на индикаторе HG1. (выбор номера выполняемого светового эффекта). Декремент числа индицируемого на индикаторе HG2 (уменьшение скорости).
S3 (С) - старт/стоп. После нажатия на данную кнопку устройство реализует световой эффект, индицируемый на индикаторе HG1, со скоростью переключения, индицируемой на индикаторе HG2.
S4 (В) - включить / выключить все индикаторы HL1...HL64. После нажатия на данную кнопку включаются / выключаются все индикаторы HL1...HL64. Данная опция необходима для проверки работоспособности всех индикаторов в устройстве
S5 (Р) - кнопка выбора режима работы кнопок S1, S2 - задание светового эффекта или задание скорости, при выборе режима задания скорости у индикатора HG2 включается точка п.
Номера световых эффектов задаются кнопками S1, S2 и далее подтверждается кнопкой S3.
Световые эффекты, реализуе-мые в устройстве представлены в табл. 1.
Таблица 1.
Номер светового эффекта |
Число (символ) индицируемый на HG1 |
Название светового эффекта |
Описание светового эффекта |
|
1 |
0 |
Мерцающая елка |
Сначала включаются четные номера индикаторов, (нечетные выключены) потом нечетные номера (четные выключены). Если индикаторы расположить в виде массива (или матрицы) так же как на принципиальной схеме (рис. 1), то получается имитация (эффект) мерцания звездного неба. |
|
2 |
1 |
Переключаемая елка |
Поочередное включение и выключение всех индикаторов в гирлянде. |
|
3 |
2 |
Бегущий огонек №1 |
В каждой гирлянде один включенный индикатор "пробегает " по всей гирлянде в одном направлении. Например, в гирлянде № 1 от индикатора №1 к индикатору №8, в цикле. Сначала включается индикатор №1, потом №2 (№1 при этом- выключается), и т.д. В гирлянде №2 от индикатора №9 к индикатору №17 и т. д. |
|
4 |
3 |
Бегущий огонек №2 |
В каждой гирлянде два включенных индикатора "пробегают " по всей гирлянде в одном направлении. Например, в гирлянде № 1 от индикатора №1 к индикатору №8, в цикле. Сначала включаются индикатор №1, потом индикатор №2, затем индикатор №1 - выключается, индикатор №3 - включается и т д |
|
5 |
4 |
Бегущий огонек №3 |
В каждой гирлянде три включенных индикатора "пробегают " по всей гирлянде в одном направлении. Например, в гирлянде № 1 от индикатора №1 к индикатору №8, в цикле. Сначала включаются индикатор №1, потом индикатор №2, затем индикатор №3. Индикатор №1 -выключается, индикатор №4 - включается и т.д. |
|
6 |
5 |
Переключаемые гирлянды № 1 |
Поочередное включение сначала всех гирлянд с четными номерами, а затем с нечетными (четные при этом выключаются) и наоборот. |
|
7 |
6 |
Переключение группы в каждой гирлянде |
Поочередное включение групп индикаторов в каждой гирлянде (в группе -4 индикатора). Например, для гирлянды №1. Сначала, включаются индикаторы № 1... №4, потом включаются индикаторы № 5... №8, индикаторы № 1 ... №4 при этом выключаются и т. д. |
|
8 |
7 |
Бегущая лента |
Сначала, в гирлянде № 1 включается индикатор № 1, затем № 2, затем № 3 и т.д. до № 8. Потом то же самое в гирлянде № 2 (сначало включается индикатор№ 9, затем № 10, затем № 11 и т.д. до № 16). Получается имитация бегущей ленты. После того, как лента "проползает" по всем гирляндам (после включения индикатора № 64 в гирлянде № 8) - все гирлянды- гаснут. Далее цикл повторяется, опять в гирлянде № 1 включается индикатор № 1 затем № 2 и т. д. |
|
9 |
8 |
Бегущий огонек №4 |
В каждой гирлянде один выключенный индикатор "пробегает " по всей гирлянде в одном направлении, а затем в обратном (реверс) Например, в гирлянде № 1 от индикатора №1 к индикатору №8, в цикле, а потом от индикатора №8 к индикатору №1 Сначала выключается индикатор №1 (все остальные индикаторы в данной гирлянде-вклю-чены), потом №2 (№1 при этом-включается), и т.д. до индикатора № 8. Затем индикатор № 8 - включается и и снова выключается № 1 и т. д. |
|
10 |
9 |
Бегущая гирлянда |
Включенная гирлянда "пробегает" по всей елке в одном направлении, от гирлянды №1 к гирлянде №13, в цикле. Сначала, включаются гирлянда № 1, потом включается гирлянда №2, гирлянда №1,при этом выключаются и т. д. |
|
11 |
А |
Переключаемые гирлянды №2 |
Поочередное включение гирлянд. Затем общее выключение. Сначала, включается гирлянда № 1, затем №2. затем № З...№13, потом все гирлянды - выключаются и т д |
|
12 |
В. |
Переключаемые гирлянды №3 |
Поочередное включение гирлянд. Затем общее выключение. Сначала, включается гирлянда № 1, затем №2, затем № 3 и так до... №8, потом гирлянда №8 -выключаются, затем № 7 и так до. №1 Затем все повторяется вцикле |
|
13 |
С |
Переключаемые гирлянды №4 |
Сначала включаются гирлянды расположенные на левой стороне елки - гирлянды № 1 - №4, гирлянды на правой стороне елки №5 ..№18 - выключены и наоборот гирлянды на левой стороне елки - выключаются на правой - включаются |
|
14 |
D. |
Переключаемые гирлянды №5 |
Сначала, включается все гирлянды, затем поочередное выключение - гирлянда № 1, затем №2, затем № 3.. №8, потом все гирлянды снова включаются и т. д |
|
15 |
Е |
Бегущий огонек №4 |
Одиночный "огонь" (один включенный индикатор) "пробегает" по всем гирляндам в одном направлении от индикатора № 1 гирлянды № 1 до индикатора № 64 гирлянды №.8. Затем цикл повторяется |
|
16 |
F |
Бегущий огонек №5 |
Одиночный "огонь" (один включенный индикатор) "пробегает" по всем гирляндам в одном направлении от индикатора № 1 гирлянды № 1 до индикатора № 64 гирлянды №.8. Потом в обратном направлении от индикатора № 64 гирлянды № 8 до индикатора № 1 гирлянды №.1. Затем цикл повторяется . |
Алгоритм работы устройства
следующий. Сразу после подачи питания устройство готово к работе. Номер испол-
няемого светового эффекта задается кнопками S1, S2. Далее необходимо нажать кнопку S4 (В), при этом включится точка h в индикаторе HG2 дисплея. Далее кнопками S1, S2 задается скорость переключения индикаторов в выбранном световом эффекте. Исполнение эффекта начинается после нажатия кнопки S3 (С). Для исполнения другого светового эффекта (или для изменения скорости переключения индикаторов в исполняемом) необходимо нажать кнопку S3 (С) (остановить исполняемый световой эффект). И выполнить вышеуказанные операции.
На семисегментном индикаторе HG1 буква В и цифра 8, а так же буква D и цифра О индицируются одинаково. Поэтому при индицировании букв В и D на семисегментном индикаторе HG1 включается точка h.
Рассмотрим основные, функциональные узлы принципиальной схемы устройства. Рабочая частота микроконтроллера DD2 задается генератором с внешним резонатором ZQ1 на 10 МГц. С порта РВ микроконтроллер DD2 управляет индикаторами гирлянд № 1... № 8. Соответственно гирлянды управляются ключами, выполненными на транзисторах VT3...VT10. Данные ключи управляются с выводов синхронного регистра DD1. Резисторы R3...R10 - токоограничительные для индикаторов HL1...HL64. Данные индикаторы и индикаторы HG1, HG2 работают в режиме динамической индикации. Коды для включения индикаторов при функционировании динамической индикации поступают на вход порта РВ микроконтроллера DD2. Регистр DD1 управляет ключами VT1...VT10. Для функционирования клавиатуры задействован вывод 8 микроконтроллера DD2. Питающее напряжение поступает на плату с соединителя XI. Конденсатор С5 фильтрует пульсации в цепи питания +5В. Сразу после подачи питания на выводе 1 микроконтроллера DD2 через RC-цепь (резистор R2, конденсатор СЗ) формируется сигнал системного аппаратного сброса
микроконтроллера. При инициализации во все разряды портов микроконтроллера DD1 записываются лог. 1. Ключи на транзисторах VT3...VT10 закрыты, индикаторы HL1...HL64 -выключены.
Программное обеспечение микроконтроллера D2 обеспечивает реализацию алгоритма работы задаваемых световых эффектов в режиме динамической индикации. Задача по формированию временного интервала для включения индикаторов каждой гирлянде (или интервал переключения индикаторов и гирлянд) , решена с помощью прерываний от таймера / счетчика 1, и счетчиках на регистрах r8 (sek1) и r13 (min1). Таймер / счетчик 1 формирует запрос на прерывание. Счетчики на регистрах г8 и г13, подсчитывает количество, и устанавливается необходимый флаг (нулевой разряд регистра r19 (flo)). Скорость переключения индикаторов изменяется изменением числа загружаемого в регистр r13 (min1).
Программа состоит из трех основных частей: процедуры инициализации, основной программы, работающей в замкнутом цикле и подпрограммы обработки прерывания от таймера /счетчика 1. В подпрограмме обработки прерывания осуществляется формирование временного интервала для включения индикаторов, опрос клавиатуры, работа динамической индикации, а так же происходит выполнение всех световых эффектов реализованных в устройстве. В памяти данных микроконтроллера DD1 с адреса 60Н по 69Н организован буфер отображения для динамической индикации. По адресу 60Н, размещен байт номера отображаемого светового эффекта. По адресу 61Н, размещено число, задающее скорость переключения. Данные байты после перекодировки, в режиме динамической индикации выводится на дисплей устройства. 62Н...69Н - адреса, где хранится текущее значение для индикаторов HL1... HL64 (гирлянд № 1...№8). Доступ к данным в адресном пространстве, с помощью адресных указателей следующий. Адреса гирлянд № 1...№ 8 и байты номеров светового эффекта и скорости загружаются в Y-регистр во фрагментах программы, где происходит выполнение светового эффекта. Z -регистр задействован в, только в фрагменте динамической индикации.
Разработанная программа на ассемблере занимает порядка 2 КБайт памяти программ (flash-память программ) микроконтроллера, то есть память заполнена полностью. Игра мысли, полет фантазии, непредсказуемость воображения, творческое хулиганство - все это поможет для реализации любых других световых эффектов, не приведенных в статье или для изменения параметров реализованных (изменить скорость переключения индикаторов, гирлянд, добавить в некоторые световые эффекты реверс или добавить в устройство какие-то дополнительные опции). Как видно из схемы, аппаратно в микроконтроллере задействованы все ресурсы. Из периферийных устройств в микроконтроллере задействован только таймер/ счетчик 1.
В устройстве использованы резисторы С2-ЗЗН-0.125, подойдут любые другие с такой же мощностью рассеивания и погрешностью 5 %. Конденсаторы С1...С5 типа К10-17а. Сб типа К50-35. Конденсаторы С4 устанавливаются между цепью +5V и общим проводником микроконтроллера DD2. Конденсаторы С5 устанавливаются между цепью +5V и общим проводником регистра DD1. Семисегментные индикаторы HG1, HG2 типа HDSP-F501 Индикаторы HL1...HL64 типа КИПД40С20-Л4-П7. Можно подобрать абсолютно любые индикаторы, желательно с Iпр = 10 мА. Для изменения яркости сегментов индикатора HG1 и индикаторов HL1...HL105 можно изменять номиналы ограничительных резисторов R1, R6...R21. При этом, необходимо соблюдать требования по нагрузочной способности выходов порта микроконтроллера. Программа прошивки скачать
Шишкин С. Литература:
1. www.atmel.com
2. Шишкин С. - Радио №11 2010 г. "Бегущие огни"на микроконтроллере АТ89С4051. с. 46-48.
Программное обеспечение к статье есть на сайте www.radiocon.nethouse.ru в закладке «НЕХ-файлы».
PK 01-2015