Шторы

Схема новогодней гирлянды на микроконтроллере. Как сделать мощную новогоднюю гирлянду с китайскими мозгами. Преимущества светодиодных изделий

С наступающим вас дорогие пользователи. И к предстоящему празднику электронный портал сайт решил порадовать вас схемой-новогодняя гирлянда на PIC-микроконтроллере. Перейдем к просмотру данного устройства.

Она содержит четыре канала, к которым подключаются последовательно соединённые светодиоды, изображенные на рисунке ниже:


Ядром схемы является микроконтроллер PIC16F628A. Код программы написан на языке ассемблер, смотреть листинг Garland16F628ATEMP.ASM. Полный цикл внутрисхемного программирования и отладки микроконтроллера PIC16F628A был осуществлён при помощи MPLAB IDE v8.15 (интегрированная среде разработки), компилятор MPASM v5.22 (входит в MPLAB IDE v8.15) и MPLAB ICD 2 (внутрисхемный отладчик - «Дебагер»). Для тех, кто не располагает средствами приведёнными выше, а имеет свою программу для работы с HEX файлами и иной программатор, можно в соответствующем проекте найти файл 16F628ATEMP.HEX.

Микроконтроллер DD1 имеет функциональные выходы RB4 - RB7, к которым подключаются усиливающие полевые MOSFET транзисторы VT1 - VT4. Техническую спецификацию транзисторов можно найти на сайте . Стоки транзисторов подключены к нажимным клеммникам X2 - X5. Напряжение питание нагрузки задаётся источником питания схемы, который подключают к разъёму X1. Максимальный коммутируемый ток на канал составляет 0.5 А. Микроконтроллер DD1 не имеет функции принудительного сброса, вывод для сброса подключен через резистор R1 к положительному потенциалу питания. Для генерации тактовой частоты в микроконтроллере используется встроенный генератор тактовой частоты на кристалле. Прибор может эксплуатироваться в диапазоне температур от - 40 °С до +85 °С.

Прибор запитывается от переменного или постоянного источника напряжения, подключаемого к разъему X1. Номинальное напряжение источника питания 12 В. Номинальный ток источника питания зависит от нагрузки и составляет 0.5 - 2 А. Для стабилизации питания используется обычная схема из диодного моста VD1, линейного стабилизатора DA1, фильтрующих конденсаторов C1 - C4.

В микроконтроллер запрограммированы 3 световых эффекта в основе лежит эффект «бегущие огни»:

  • Гирлянды поочерёдно загораются и гаснут в одну и так же повторяют в другую сторону.
  • Гирлянды поочерёдно загораются и когда все четыре гирлянды горят, начинают поочерёдно гаснуть в том же направлении, так же повторяется и в обратном порядке.
  • 1 и 2, 3 и 4 гирлянды поочерёдно перемигиваются между собой.

Микроконтроллер запрограммирован таким образом, что выполняет заранее установленное число повторов светового эффекта. Стоить отметить, что интервал времени между загораниями гирлянд меняется (нарастает, достигая пика, а затем падает), то есть виден эффект «временной раскачки». Для лучшей демонстрации световых эффектов гирлянды (так как они пронумерованы на схеме) следует располагать по порядку в одной плоскости. В данном случае украшение ели от корней до верхушки (по вертикали, разбив ель на четыре сектора для гирлянд), от 1 до 4 гирлянды, соответственно.

Питание гирлянд связано с источником питания подключаемым к разъёму X1, следовательно нужно рассчитывать последовательно соединённые светоизлучающие элементы (светодиоды, лампы накаливания). Общее напряжение питания находится из суммы напряжений последовательно соединённых светоизлучающих элементов. Так например, последовательно соединённых ярких светодиодов рассчитанных на напряжение 2 - 2,5 В будет 6 штук в одной гирлянде. Так как светодиоды потребляют 20 мА, не исключено параллельного подключения последовательно соединённых светодиодов в ряды.

В данном устройстве можно заменить следующие детали. Микроконтроллер DD1 из серии PIC16F628A-I/P-xxx с рабочей тактовой частотой 20 МГц в корпусе DIP18. Стабилизатор напряжения DA1 отечественный КР142ЕН5А (5 В, 1.5 А). Полевые MOSFET транзисторы и VT1 - VT4 (N-канал) в корпусе I-Pak (TO-251AA), подойдут аналоги номиналов указанных на схеме. Диодный мост VD1 на рабочее напряжение не меньше 25 В и ток не меньше 2 А. Разъём питания X1 аналогичный указанному на схеме с центральным контактом d=2.1 мм. Неполярные конденсаторы С1 и С2 номиналом 0.01 - 0.47 µF x 50 V. Электролитические конденсаторы С3 и С4 ёмкостной номинал тот же, а напряжение не ниже указанного на схеме. Разноцветные светодиоды VD1 - VD6 на напряжение 2 - 2.5 В.


C этой схемой также часто просматривают:

Елочная гирлянда на светодиодах выполнена на элементах микросхемы К561ЛА7 и создает световой эффект перемещения или мерцания.

В канун Нового года предлагается изготовить несложную, бюджетную гирлянду на светодиодах, для небольшой новогодней елочки.

Динамический характер работы гирлянды не требует дорогих и программируемых гаджетов. Устройство неприхотливо, экономично и надежно в работе, моментально монтируется на елку, а по окончании новогодних праздников, его без сожаления можно убрать на дальнюю полку до следующего случая. Кроме того, гирлянды устройства можно использовать в виде различных подсветок, небольших табло и игрушек при соответствующем их расположении в виде пропеллера, треугольника, звезды, колеса, указателя, «бегущих огней» и т.д. Так устройство можно использовать для украшения праздников, вечеринок, а при соответствующем конструктивном исполнении оно может стать оригинальным подарком ребенку в день рождения или новогоднюю ночь.

Описание устройства

Предлагаемое устройство «Елочная гирлянда» выполнено на основе кольцевого генератора на элементах одной микросхемы К561ЛА7 и трех транзисторах. В зависимости от расположения гирлянд, устройство создает оригинальный световой эффект перемещения, вращения или мерцания цепочек огоньков. Скорость переключения гирлянд возможно регулировать. Схема устройства показана на фото 2.


Фото 2 Схема елочной гирлянды на светодиодах. Основа устройства - кольцевой генератор на трех элементах микросхемы DD1. Четвертый элемент - DD1.4 - не используется и его входы (выводы 12, 13) соединены с положительным проводом питания. На транзисторах VT1 - VT3 выполнены электронные ключи, каждый из которых включает и выключает одну гирлянду светодиодов (соответственно HL1-HL3, HL4-HL6 и HL7- HL9). Ток через них ограничивают резисторы R4 - R6. При работе генератора на его выходах последовательно формируются импульсы положительной полярности.

  • В момент появления импульса на выходе элемента DD1.1 открывается транзистор VT1, сопротивление его участка эмиттер - коллектор резко уменьшается и светодиоды HL1 - HL3 вспыхивают.
  • Затем импульс появляется на выходе элемента DD1.3. Открывается транзистор VT3 и зажигаются светодиоды HL7 - HL9.
Далее импульс возникает на выходе DD1.2, открывается транзистор VT2 и включаются светодиоды HL4 - HL6.
  • После чего вновь появляется импульс на выходе DD1.1 и циклы повторяются до выключения устройства.
Генератор гирлянды на микросхеме DD1, транзисторные ключи на VT1 - VT3 и ограничительные сопротивления гирлянд смонтированы на универсальной печатной плате.

Фото 3 Плата гирлянды на светодиодах. К точкам А, Б, В платы и общему проводу подключены три гирлянды по 3 - 4 светодиода. После включения питания и перехода устройства в установившийся режим, гирлянды поочередно вспыхивают, в результате чего создается эффект движения огоньков.

Фото 4 Сборка гирлянды на светодиодах.

Изготовление устройства

Все резисторы устройства - МЛТ-0.125 или другие малогабаритные, транзисторы - любые из серии КТ315. Светодиоды должны быть одного типа и одного цвета свечения, например, красного или зеленого. Вместо микросхемы К561ЛА7, при необходимости, можно использовать микросхему К561ЛЕ5. При применении на елке навершия, можно установить в него постоянно горящую четвертую гирлянду, аналогично подключив ее к точке «Г». При использовании в гирлянде 4-х светодиодов, ограничительные сопротивления R4 – R6, можно исключить.

Фото 5 Общий вид гирлянды на светодиодах.

Для питания устройства можно использовать батарею типоразмера 6F22 ("Крона") напряжением 9в, которую соединяют с платой через ответный разъем XI от использованной Кроны, исключающий ее подключение в неправильной полярности. Питать устройство можно и от любого адаптера или сетевого блока питания с выходным напряжением 9 - 12в, способного отдавать в нагрузку ток не менее 100 мА. По соображениям электробезопасности, в его составе обязательно должен быть разделительный трансформатор (т. е. отсутствовать гальваническая связь с сетью 220 В). Наличие стабилизатора выходного напряжения необязательно. Для удобства эксплуатации устройства, электронную плату (совместно с батареей) желательно поместить в небольшой пластмассовый корпус. При использовании батареи, на одной из его стенок корпуса установить выключатель питания. При исправных деталях и отсутствии ошибок в монтаже, гирлянды начинает работать сразу после включения питания и налаживания не требует.

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

Основа автомата световых эффектов (см. рисунок) — микроконтроллер, что позволило сделать устройство максимально простым. Органы управления — переменный резистор R2 и кнопка SB1.

Схема

С помощью кнопки выбирают эффект (из десяти возможных), а переменным резистором регулируют скорость его воспроизведения (быстрее, медленнее).

Управляющие сигналы с выходов микроконтроллера DD1 через токоограничивающие резисторы R5, R6, R8, R9 поступают на базы транзисторов VT1—VT4, которые подают питающее напряжение на группы светодиодов HL1—HL3, HL4—HL6, HL7—HL9, HL10 -HL12. Резисторы R4, R7, R10, R11 ограничивают ток через светодиоды.

Рис. 1. Принципиальная схема автомата световых эффектов на светодиодах и микроконтроллере.

Детали

Применены постоянные резисторы МЛТ, С2-23, переменный R2 — СПО, СП4-1, его сопротивление может быть в интервале 1...50 кОм, но должно соблюдаться условие R1 = R2. Оксидные конденсаторы - импортные, СЗ - К10-17, светодиоды можно применить любые с допустимым током до 20 мА и напряжением до 3 В.

Транзисторы КТ315Б заменимы на транзисторы серий КТ315, КТ3102 с любыми буквенными индексами. Стабилизатор напряжения можно применить любой с выходным напряжением 5 В, диодный мост — также любой с допустимым током не менее 0,15 А и допустимым обратным напряжением не менее 20 В.

Понижающий трансформатор — с напряжением на вторичной обмотке 9... 10 В при токе до 0,15 А. Кнопка малогабаритная с самовозвратом — ПКн159, DTST-6, выключатель питания — МТ1, МТД-1, П1Т1-1. Четыре группы светодиодов свивают в одну гирлянду, в которой светодиоды должны расположиться в следующей последовательности: HL7, HL1, HL4, HL10, HL8, HL2, HL5, HL11 и т. д.

Налаживание

Налаживания устройство не требует. В случае необходимости яркость свечения светодиодов можно изменить подборкой резисторов R4, R7, R10, R11. При программировании устанавливают следующую конфигурацию микроконтроллера: CKSEL0=1, CKSEL1=0, RSTDISBL=0, SPIEN=0, BODEN=1, BOD-LEVELS.

В авторском варианте переменный резистор оказался невысокого качества (ненадежное прилегание подвижного контакта к резистивному слою), что иногда приводило к "зависанию" программы микроконтроллера. Этот недостаток был устранен установкой постоянного резистора 1 МОм между выводом 1 микроконтроллера и минусовой линией питания.

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

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


Дети очень любят интересные и необычные вещи, особенно мигающие огоньки, на радость малышне предлагаю собрать достаточно простой вариант схемы мини гирлянды. Печатная плата в популярном радиолюбительском формате Sprint Layout, прилагается в архиве выше.


Схема состоит из генератора тактовых импульсов на отечественной цифровой микросхеме DD1 типа К155ЛА3, "силовая" часть выполнена на биполярных транзисторах VT1-VT4, можно использовать практически любые структуры n-p-n, хоть КТ315, если они у вас конечно остались. К Транзисторам подсоединяется светодиодная нагрузка и "переключатели" на логических элементах DD2-DD4 с RC-цепочками R5C2, R7C3 между ними для задания времени задержки включения трех выводных полупроводников.


В целом, "детская радость" работает следующим образом: С генератора следуют импульсы на DD1.2, затем открывает VT2, далее заряжается C2 и как только напряжение на нём достигнет уровня логической единицы "1", то на выходе элемента DD1.3 будет также единица, которая открывает VT3. С DD1.4 работа анологичная. Частота переключения подстраивается подбором C1. В итоге появляется ощущение бегущих огней.

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

Принципиальная схема приведена на рисунке. Светодиоды расположены в форме креста, схема выполнена с использованием микросхемы К561ЛА7. На элементах DD1.1, DD1.2, С1, R1 собран генератор прямоугольных импульсов частотой около 1 Гц, транзисторный ключ VT1 обеспечивает необходимый ток светодиодов HL1. . . HL10, конденсатор С2 необходим, если требуется плавное увеличение-уменьшение яркости светодиодов - это более приятно для глаз. Сопротивление резисторов R3... R6 подбирают (270-620 Ом) таким образом, чтобы уровень свечения светодиодов был одинаковым. Переключателем SA1 табло можно выключить или включить в режим непрерывного свечения.


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

Этой несложной схеме лет тридцать, но она отлично работает каждый новый год у нас дома. Питается схема от параметрического стабилизатора на стабилитроне Д814Д. Задающий генератор выполнен на счетчике К176ИЕ12 с кварцевым резонатором с периодом 1 секунда. Сигнал с выхода счетчика поступает на дешифратор выполненный на микросхеме К561ИЕ8. Положительные импульсы с ее выходов через диоды поступают на транзистор КТ315, и открывается тиристор.

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


В схеме присутствует развязка по сетевому напряжению, и даже при случайном касании проводов питания ламп, беды не случится.

Думаю каждый узнает схему этого простого мультивибратора для двух каналов на двух транзисторах. Светодиодов в каждом плече может быть много. Ну чем вам не супер простая новогодняя мигалка, которую можно собрать на монтажной плате за 5 минут.


А если захочется использовать три плеча, можно вспомнить из курса электроники схему мультивибратора на трех транзисторах.

Правильно собранная схема начинает работать сразу же. Напряжение питания от 5 до 9 В. Частоту мигания, т.е. следования импульсов подбирают конденсаторами. Желательно использовать светодиоды малой мощности с одинаковыми параметрами.

Рассмотрим несколько простых схемотехнических реализаций. Первая схема воспроизводит эффект "бегущих огней" для трех гирлянд. Основа схема три инвертора цифровой микросхемы К555ЛН1. Схема работает так, что в любой момент времени только на одном из инверторов есть сигнал, соответственно горит только одна из трех гирлянд, а следующая загорается тогда, когда гаснет предыдущая.


Вторая схема также позволяет достигнуть эффекта «бегущие» огни, но уже с возможностью регулирования скорости переключения гирлянд, за счет генератора прямоугольных импульсов. Частоту переключения гирлянд изменяют с помощью резистора R3.


Еще один вариант схемы переключателя елочных гирлянд похож на предыдущую, но собран на КМОП микросхемах и регулировка частоты осуществляется резистором R2.


Схема используется для управления елочной гирляндой. На биполярных транзисторах VT1, VT2 и резисторах R3-R6 построен модуль управления тиристором. Частоту вспышек гирлянды можно регулировать в широких пределах изменяя параметры сопротивлений R1, R2 и конденсатора C1.


Ранее мы уже научились , однако гораздо интересней управлять этим процессов с помощью кнопок, а светодиодная гирлянда послужит хорошим наглядным примером.

Подключение кнопки к микроконтроллеру

Схема гирлянды приведена ниже.

Когда кнопка (ключ) подключается к микроконтроллеру, то соответствующий вывод МК должен быть настроен на вход. При этом микроконтроллер будет постоянно считывать состояние, а точнее уровень потенциала на данном выводе. Поэтому алгоритм программы можно построить таким образом, что если на определенном выводе МК произойдет смена потенциала с высокого на низкий или наоборот, то выполнится определенное действие, например засветится светодиод.

Чтобы настроить определенные выводы (пин) МК на вход, следует в соответствующие биты регистра DDR записать нули. Кстати, если пины МК не задействованы, то их рекомендуется также настроить на вход. Поскольку к порту B мы будем подключать только кнопки, то в регистр DDRB мы запишем все нули следующий командой:

DDRB = 0b00000000;

Когда вывод микроконтроллера настроен на вход, то изначально он может находиться в двух состояниях, которые устанавливаются с помощью регистра PORT.

Если в бит регистра PORT записан ноль, то пин имеет высокое входное сопротивление.

При установке бита в единицу к ножке МК подключается подтягивающий резистор. Резистор называется так потому, что посредством его “подтягивается” высокий потенциал (+ 5 В) к соответствующей точке электрической цепи; в данном случае – к пину микроконтроллера.

Проверка состояния вывода МК с помощью PINx

Чтобы в любой момент времени знать, какой потенциал присутствует на выводе, следует проверить (считать) соответствующий бит в регистре PIN.

Данный регистр по аналогии можно сравнить с датчиком. С него можно только считывать информацию. Записать в него ничего нельзя. PIN является противоположность регистра PORT, в который выполняется только запись, но не считывание данных.

Боле предпочтительным является установка регистра PORT в единицу, т.е. применение внутреннего подтягивающего резистора МК. Такой вариант имеет значительную помехоустойчивость, поскольку для изменения высокого потенциала на низкий, вывод необходимо напрямую соединить с землей или общим проводом.

Если же пин сделать с высоким входным сопротивлением, то любая более-менее мощная электромагнитная помеха, может навести на нем некоторый потенциал, превышающий определенное значение и микроконтроллер воспримет помеху, как смена низкого потенциала на высокий. Поэтому в нашей программе мы будем использовать внутренний подтягивающий резистор.

Один контакт ключа соединим с землей (общим проводом), а второй – с выводом микроконтроллера. Когда ключ разомкнут, — вывод находится под высоким потенциалом (+ 5 В), подтянутый внутренним резистором МК. При этом соответствующий бит регистра PIN будет установлен в единицу.

При нажатии на кнопку данный вывод соединится с общим проводом (“минусом”) и на нем возникнет низкий потенциал. А бит регистра PIN автоматически установится в ноль.

Обратите внимание, что подтягивающий резистор еще защищает цепь от короткого замыкания при нажатой кнопке.

Светодиодная гирлянда в коде

Теперь давайте напишем целиком код программы, а затем рассмотрим его отдельные элементы. Алгоритм работы программы следующий: при замыкании первого ключа “лампочки” будут включаться в одной последовательности, а при замыкании второго – “лампочки” будут загораться иначе. Если обе кнопки на нажаты, то все светодиоды должны быть выключены.

#define F_CPU 1000000UL // Объявляем частоту работы микроконтроллера 1 МГц

#include

#include // Подключаем библиотеку задержек

#define Z 300 // Значению задержки присваиваем имя Z

#define VD PORTD // Присваиваем порту D имя VD

#define K PORTB // Присваиваем порту B, к которому подключены кнопки, имя K

int main(void)

DDRB = 0b00000000; // Настраиваем порт B на вход

DDRD = 0b11111111; // Настраиваем порт D на выход

VD = 0b00000000; // Выключаем все огни

K = 0b11111111; // Включаем подтягивающие резисторы

while (1)

if (PINB == 0b11111110) // Проверяем, нажата ли 1-я кнопка

VD = 0b11111111; // Если ключ замкнут, то мигаем «лампочками»

_delay_ms (Z);

VD = 0b00000000;

_delay_ms (Z);

else

VD = 0b00000000; // Если ключ разомкнут, то все LED выключены

if (PINB == 0b11111101) // Проверяем, нажата ли 2-я кнопка

VD = 0b00000001; // Если кнопка нажата, то поочередно включаем LED

_ delay _ ms (Z); // с задержкой 0,3 с

VD = 0b00000011;

_delay_ms (Z);

VD = 0b00000111;

_delay_ms (Z);

VD = 0b00001111;

_delay_ms (Z);

LED = 0b00011111;

_delay_ms (Z);

VD = 0b00111111;

_delay_ms (Z);

VD = 0b01111111;

_ delay_ms (Z);

VD = 0b11111111;

_delay_ms (Z);

VD = 0b00000000;

_ delay _ ms (Z);

else

VD = 0b00000000; // Если ключ не замкнут, то все LED выключены

Операторы if и else

Назначение препроцессоров и ним хорошо известны из предыдущих статей. Здесь новым для нас есть оператор if . If переводится с английского «если». Если условие, указанное в круглых скобках, выполнятся, т.е. истинное, то выполняется код программы в фигурных скобках. Например, если переменная a больше 1 единицы, то переменной c присвоится значение a + b.

if (a >1)

c = a + b;

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

Если в фигурных скобках выполняется только одна команда, то синтаксис языка Си позволяет упростить запись и обойтись без фигурных скобок:

if (a >1) c = a + b;

Также оператор if работает в связке с оператором else .

if (a >1) → если a >1, то = a + b

c = a + b;

else → в противном случае, c = a — b

c = a — b;

Работает это так. Если a > 1, то c = a + b. В противном случае, т.е. когда а меньше или равно единице, то c = a – b.

Пояснение кода программы

Теперь возвращаемся к нашей программе. Если кнопка, соединенная с PB0 нажата, то на выводе появляется низкий потенциал и соответствующий бит регистра PINB устанавливается в ноль. При этом будет выполняться условие в фигурных скобках, т.е. начнет мигать гирлянда.

Обратите внимание, что команда присвоения состоит из одного знака равно «=», а команда проверки условия «равно» состоит из двух знаков равно, написанных без пробела «==».

Когда кнопка не нажата, в бите регистра PINB появится единица, вызванная высоким потенциалом подтягивающего резистора. В этом случае управление перейдет к оператору else и все LED будут выключены.

При замыкании второго ключа, вывод которого соединен с портом PB1, выполнится второй код программы, и светодиоды начнут поочередно включаться с задержкой времени 0,3 секунды.

Таким образом, гирлянда на микроконтроллере может содержать разное количество LED и ключей. Причем для каждого замыкания или размыкания контактов ключа можно прописать свой алгоритм работы гирлянды.

Также ею можно управлять с помощью всего одной кнопки. Такой вариант имеет несколько сложнее код, и его мы рассмотрим в отдельной статье. Там же мы рассмотрим, как подключать мощные LED к МК.

Ранее в статье вы подробно рассмотрели настройку на выход, а здесь – на вход. Теперь объединим все вместе и приведем простой наглядный алгоритм.