Ёлочный автомат на 12 гирлянд нa ARDUINO UNO

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Автомат предназначен для переключения 12-ти гирлянд или других светящихся ёлочных украшений на основе лампочек, питающихся напряжением 220V от электросети. Мощность каждой гирлянды может быть от нуля до 200W. Поэтому автомат пригоден как для домашней ёлочки, так и для большой ёлки, установленной во дворе или на улице, в концертном зале...


Автомат сделан на основе микроконтроллерной платы ARDUINO UNO. Схема предназначена для управления 12-. гирляндами. Для управления выбраны порты D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13.
Логические уровни с этих портов поступают на электронные ключи на ключевых высоковольтных полевых транзисторах VT1-VT12. При логической единице на соответствующем порту платы, открывается соответствующий транзистор. Транзисторы предназначены для работы на постоянным (или пульсирующем) токе, поэтому напряжение на гирлянды поступает через диоды VD13-VD24. Применение отдельного диода для каждой гирлянды вместо общего выпрямителя для всех позволяет обойтись относительно маломощными диодами.
Диоды VD1-VD12 служат для улучшения разрядки емкостей затворов мощных полевых транзисторов, а резисторы R1-R12 устраняют кратковременные перегрузки портов по току из-за импульсов тока на заряд / разряд емкостей затворов полевых транзисторов.
Программа относительно проста. И при наличии персонального компьютера и программного обеспечения для ARDUINO UNO можно создавать любые, какие угодно порядки переключения гирлянд. Ниже приводится простая программа с всего двумя состояниями - переключение четных и нечетных номеров гирлянд. Но это только демонстрация. Саму программу очень просто можно дописать на любые желаемые порядки переключения гирлянд, скорости переключения. Суть в том, что нужно брать каждый шаг программы и указывать в нем на каких портах должны быть нули (гирлянда не горит), а на каких - единицы (гирлянда горит). Затем указывается время продолжительности этого шага. Всего шагов может быть от двух, как демонстрационной программе, то десятков и сотен, - все зависит от вашей фантазии и усидчивости.
И так, программа:
/* Blink12
*/
//задание выходов
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
//рабочий цикл
void loop() {
digitalWrite(2, HIGH); // горит Н12
digitalWrite(3, LOW); // не горит Н11
digitalWrite(4, HIGH); // горит Н10
digitalWrite(5, LOW); // не горит Н9
digitalWrite(6, HIGH); // горит Н8
digitalWhte(7, LOW); // не горит Н7
digitalWrite(8, HIGH); // горит Н6
digitalWrite(9, LOW); // не горит Н5
digitalWrite(10, HIGH); // горит Н4
digitalWrite(11, LOW); // не горит НЗ
digital Write(12, HIGH); // горит Н2
digitalWrite(13, LOW); // не горит Н1
delay(1000); // время шага 1 сек.
digitalWrite(2, LOW); // не горит Н12
digitalWrite(3, HIGH); // горит Н11
digitalWhte(4, LOW); // не горит Н10
digitalWrite(5, HIGH); // горит Н9
digitalWrite(6, LOW); // не горит Н8
digitalWrite(7, HIGH); // горит Н7
digitalWrite(8, LOW); // не горит Н6
digitalWrite(9, HIGH); // горит Н5
digitalWrite(10, LOW); // не горит Н4
digitalWrite(11, HIGH); // горит НЗ
digitalWrite(12, LOW); // не горит Н2
digitalWrite(13, HIGH); // горит Н1
delay(1000); // время шага 1 сек.
}
Таким образом, в каждый шаг записываем состояния гирлянд (LOW - не горит, HIGH - горит). Затем указываем длительность (время) шага (1000 = 1 сек). Затем следующий шаг. Как уже сказано, шагов может быть сколько угодно.
Лампочные гирлянды сейчас уже никак нельзя назвать современным ёлочным украшением. Особенно когда относительно недорого продаются светодиодные ленты. Эту же самую схему, с почти такой же программой совсем несложно приспособить и для управления ёлочными гирляндами, сделанными из RGB-светодиодных лент в количестве четырех штук. Схема показана на рисунке.

Различие только выходных ключах, и в том что вместо гирлянд RGB ленты. Программа составляется так же, только нужно учитывать не номер гирлянды и номер RGB ленты и её цвет.
Полевые транзисторы 2SK2782 можно заменить на IRLU024N или другие аналогичные.
Каравкин В.
Литература:
1. Каравкин В. «Ёлочная гирлянда на ARDUINO как средство от боязни микроконтроллеров», ж. Радиоконструктор, №11, 2016г.
PK 11-2017

Оставлять комментарии могут только зарегистрированные пользователи