Оглавление:

Разработка многоузловой светодиодной ШИМ-лампы: 6 шагов (с изображениями)
Разработка многоузловой светодиодной ШИМ-лампы: 6 шагов (с изображениями)

Видео: Разработка многоузловой светодиодной ШИМ-лампы: 6 шагов (с изображениями)

Видео: Разработка многоузловой светодиодной ШИМ-лампы: 6 шагов (с изображениями)
Видео: Новая Модель,Разработка дизайна, Мой москвич на 1000 Коней. Фильм 4-й 2024, Сентябрь
Anonim
Разработка многоузловой светодиодной ШИМ-лампы
Разработка многоузловой светодиодной ШИМ-лампы

Это руководство покажет, как я разработал контроллер светодиодной ШИМ-лампы. Несколько ламп можно соединить вместе, чтобы образовались большие гирлянды. Создание мигающих светодиодных лампочек на Рождество всегда было в моем списке желаний. В прошлый рождественский сезон я действительно задумался о том, чтобы что-нибудь построить. Моя первая мысль заключалась в том, что каждую светодиодную лампу можно было просто подключить к паре проводов. Питание светодиодных ламп может быть сигналом переменного тока, который колеблется от низкой частоты к высокой частоте. Полосовой фильтр, встроенный в каждую лампу, включал бы светодиод, когда частота соответствовала центральной частоте полосового фильтра. Если бы полосовые фильтры были настроены правильно, можно было бы выполнить последовательность светодиодного чейза. На самом деле, переходя на разные частоты вместо качания, можно было включить любой из светодиодов. Используя микросхему драйвера H-Bridge, вывести нужную частоту по проводам не должно быть слишком сложно. Ну, я просто не люблю аналоговый дизайн - я больше похож на программное обеспечение. После пары стендовых тестов я быстро отказался от аналоговой лампы: мне действительно нужна была светодиодная лампа, которой можно было бы полностью управлять для отображения любого цвета, который я хотел. Да, и он должен иметь возможность использовать ШИМ (широтно-импульсную модуляцию), чтобы светодиоды могли плавно включаться или выключаться по действительно крутым схемам. В этом руководстве следует описание действительно крутого дизайна, основанного на микропроцессоре Microchip. это выпало из-за моего желания гирлянды для рождественских елок. Посмотрите видео ниже, чтобы быстро увидеть, что может отображать контроллер Kemper LED PWM Lamp. Обратите внимание, сложно получить хорошее видео о работе светодиодов, которые используют ШИМ для управления яркостью. Это та же проблема, когда вы пытаетесь снимать видео на мониторе компьютера. 60 Гц светодиодов вступают в битву частоты биений с 30 Гц видеокамеры. Поэтому, хотя иногда изображение светодиодов немного «глючное», на самом деле это не так. Если смотреть человеческим глазом, светодиоды не глючат. См. Шаг программного обеспечения ниже для получения дополнительной информации о видеосъемке светодиодов.

Шаг 1. Цели разработки

Цели дизайна
Цели дизайна

Проведя рождественские каникулы в размышлениях об этом проекте, я составил список желаний. Вот некоторые из функций (отсортированных по порядку), которые я хотел получить от своего светодиодного контроллера: 1) Каждая светодиодная лампа должна быть как можно дешевле. Цепочка из 100 ламп будет стоить пачку, если каждая лампа стоит дорого. Стоимость, следовательно, является основным фактором. 2) Каждая лампа будет иметь на борту крошечный микроконтроллер, который будет управлять светодиодами. Крошечный микроконтроллер будет генерировать сигналы ШИМ, так что светодиоды могут быть затемнены или погашены. Светодиоды могут выглядеть резкими как при простом включении, так и при выключении. Используя сигналы ШИМ, светодиоды можно затемнять вверх и вниз без резких краев, нормальных для светодиодов. 3) Для упрощения подключения каждая лампа будет принимать команды с использованием двухпроводного интерфейса. Питание и связь будут делиться одними и теми же двумя проводами. Команды на лампы сообщают бортовому микроконтроллеру, какой из светодиодов использовать с ШИМ. 4) Должен выглядеть круто! Я предполагаю, что его действительно следует перенумеровать, чтобы он стал номером 1. Вот некоторые из второстепенных целей дизайна (без определенного порядка): 1) Для разработки, должно быть легко перепрограммировать / перепрограммировать в схеме 2) ПК должен иметь возможность генерировать команды для ламп. Это значительно упрощает разработку шаблонов, чем использование другого встроенного микроконтроллера. 3) Каждая лампа должна иметь уникальный адрес. Каждый светодиод в лампе также должен иметь уникальную адресацию. 4) Командный протокол должен поддерживать МНОЖЕСТВО ламп на одной цепочке проводов. Текущая конструкция поддерживает 128 ламп на одной струне. С 4 светодиодами на лампу, что работает до 512 светодиодов на одной цепочке из двух проводов! Также обратите внимание, что каждый из этих 512 светодиодов управляется полным ШИМ. 5) В протоколе должна быть команда, которая гласит: «Начать плавное уменьшение светодиода с этого уровня на этот уровень». Как только начинается затухание, другие светодиоды также могут быть настроены и настроены на затухание на той же лампе. Другими словами, настройте светодиод на режим затухания, а затем забудьте об этом, зная, что светодиод будет выполнять команду. Это подразумевает многозадачность программного обеспечения на микроконтроллере! 6) Должны быть глобальные команды, которые влияют на все лампы сразу. Следовательно, всеми светодиодами можно управлять с помощью только одной команды. Вот некоторые действительно второстепенные цели дизайна (опять же, без определенного порядка): 1) Нужен способ, чтобы лампа сообщала об ошибке связи. Это позволит повторно отправить команду.2) Протокол команд должен иметь причудливый глобальный шаблон соответствия. Это позволит выбирать каждое x количество ламп с помощью одной команды. Это упростит создание чейз-паттернов с большим количеством ламп. Например, это позволит отправить команду на каждую третью лампу в цепочке ламп. Затем следующая команда может быть отправлена следующей группе из трех человек. 3) Логическая система автоматического определения полярности также подойдет. Тогда полярность двух подводящих проводов к светодиодным лампам становится неважной. См. Раздел оборудования для получения дополнительной информации об этой функции.

Шаг 2: Создание прототипа:

Прототипирование
Прототипирование
Прототипирование
Прототипирование
Прототипирование
Прототипирование

Сейчас начало января, и я ухожу. Я нашел 10F206 в Digikey, и он действительно дешевый! Итак, я раскручиваю макетную плату для размещения микроконтроллера 10F206 от Microchip. Я разработал быструю плату, потому что 10F2xx недоступен в DIP-корпусе. В итоге я не хотел возиться с маленьким чипом. (Я был так уверен еще в январе). Я также пошел и купил новый компилятор CSS C, ориентированный на микросхемы 10F2xx. Чипы семейства 10F2xx действительно дешевы! С большими надеждами я погрузился в дело и начал писать много кода. 10F206 имеет колоссальные 24 байта ОЗУ, чип также поддерживает 512 байтов флэш-памяти и один восьмибитный таймер. Хотя ресурсов мало, в больших количествах цена хорошая - 41 цент. Боже мой, миллион инструкций в секунду (1 MIPS) за 41 цент! Мне просто нравится закон Мура. Evan по разовой цене, 10F206 от Digikey стоит 66 центов. Я потратил кучу времени, работая с 10F206. Работая с 10F206, я обнаружил, что многозадачность абсолютно необходима. Выходные сигналы ШИМ ДОЛЖНЫ обновляться даже при получении новых коммуникационных сообщений. Любое прерывание обновления сигналов ШИМ будет рассматриваться как сбои на светодиодах. Человеческий глаз действительно хорошо видит глюки. С микросхемой 10F206 есть пара принципиальных проблем. По крайней мере, фундаментальные проблемы для моего приложения. Первая проблема в том, что нет прерываний! Обнаружение начала новой связи с помощью цикла опроса приводит к ошибкам синхронизации. Вторая проблема в том, что есть только один таймер. Я просто не мог найти способ получать команды при сохранении выходов ШИМ. Светодиоды будут глючить каждый раз при получении новой команды. Совместное использование таймера между приемом команд и управлением выходами ШИМ также было серьезной проблемой для программного обеспечения. Я не мог сбросить таймер при получении нового персонажа, потому что таймер также использовался для управления сигналами ШИМ. Во время работы с 10F206 я увидел статью в Circuit Cellar о новом крошечном микроконтроллере MC9RS08KA1 от Freescale. Я люблю чипы Freescale - я большой поклонник их отладки BDM. Я много использовал чипы Star12 в прошлом (я написал все программное обеспечение для ультразвуковой системы GM Cadillac & Lacern на Star12 - мое ультразвуковое программное обеспечение сейчас находится в производстве на этих двух автомобилях). Так что я очень надеялся, что их новые крошечные чипы подойдут. Цена тоже подходящая, Digikey выставляет эти чипы в большом количестве по 38 центов. Freescale был хорош и прислал мне несколько бесплатных образцов. Однако микросхема Freescale 9RS08 показалась мне действительно тупой - я не смог с ней сильно продвинуться. Чип также страдает отсутствием прерываний и только одним таймером. Ну, по крайней мере, я все это понял, не тратя денег на раскрутку еще одной прото-платы. Смотрите картинки ниже. Теперь я знаю - для моего приложения мне нужны прерывания и более одного таймера. Вернувшись к Microchip, я нашел микросхему 12F609. Имеет прерывания и два таймера. Он также имеет 1 КБ флэш-памяти и 64 байта ОЗУ. Обратной стороной является цена; Digikey перечисляет эти чипы в большом количестве по 76 центов. Ну что ж, скоро об этом позаботится закон Мура. Положительным моментом является то, что 12F609 также можно заказать в пакетах DIP. С другой стороны, мне пришлось купить компилятор следующего уровня выше - это как бы сожгло мой @ # $%&.Сейчас апрель, и я многое узнал о том, что не сработает. Я скрутил плату и потратил деньги на компилятор, который мне не нужен. Тем не менее, тестирование пока обнадеживает. С новым компилятором и чипами 12F209 в пакетах DIP стендовое тестирование прошло быстро. Тестирование подтвердило, что у меня правильный чип. Пора раскрутить еще одну прототипную плату! К этому моменту я настроен.

Шаг 3: Совет по развитию 12F609

12F609 Совет по развитию
12F609 Совет по развитию
12F609 Совет по развитию
12F609 Совет по развитию
12F609 Совет по развитию
12F609 Совет по развитию
12F609 Совет по развитию
12F609 Совет по развитию

Хорошо, только что после стендовых испытаний, я готов попробовать еще один спин. В этом дизайне платы я действительно хотел попробовать идею передачи питания и связи по одним и тем же двум проводам. Если бы ошибки связи игнорировались, потребовалось бы только два провода. Это просто круто! Хотя посылать коммуникации по проводам питания - это круто, но не требуется. При желании все лампы могут быть соединены вместе одним коммуникационным проводом. Это означает, что для каждой лампы потребуется три провода с четвертым дополнительным проводом состояния обратной связи. См. Схему ниже. Питание и связь можно объединить с помощью простого H-моста. H-мост может без проблем пропускать большие токи. Многие сильноточные светодиоды можно было соединить только на двух проводах. Полярность питания постоянного тока ламп может быть очень быстро переключена с помощью H-моста. Таким образом, каждая лампа использует двухполупериодный мост, чтобы преобразовать коммутируемый постоянный ток обратно в нормальную мощность постоянного тока. Один из микроштырьков подключается к необработанному входящему импульсному источнику постоянного тока, так что сигнал связи может быть обнаружен. Токоограничивающий резистор защищает цифровой вход микроконтроллера. Внутри микровходного контакта необработанное коммутируемое постоянное напряжение фиксируется с помощью внутренних лаговых диодов микроконтроллера - коммутируемый постоянный ток фиксируется (от нуля до Vcc вольт) этими диодами. Двухполупериодный мост, выпрямляющий входящую мощность, генерирует два диодных спада. Два диодных падения на мосту просто преодолеваются путем увеличения напряжения питания Н-моста. Шестивольтовое напряжение на H-мосту обеспечивает хорошее питание пяти вольт на микроконтроллере. Затем используются отдельные ограничивающие резисторы для ограничения тока через каждый светодиод. Эта схема питания / связи, кажется, работает очень хорошо. Еще я хотел попробовать добавить транзисторные выходы между микроконтроллером и светодиодами. Во время стендового тестирования, если 12F609 сильно нажат (слишком большой ток на его выходном тракте), он будет мигать на всех выходах. Максимальный ток для всего чипа в соответствии с таблицей данных, которую может поддерживать 12F609, составляет всего 90 мА. Что ж, это не сработает! Мне просто может понадобиться намного больше тока, чем это. Добавление транзисторов дает мне возможность 100 мА на светодиод. Диодный мост рассчитан на 400 мА, поэтому 100 мА на каждый светодиод вполне подходят. Есть обратная сторона; транзисторы стоят 10 центов каждый. По крайней мере, в выбранные мной транзисторы встроены резисторы - номер детали Digikey - MMUN2211LT1OSCT-ND. Когда транзисторы установлены, светодиоды НЕ мерцают. Я думаю, что для промышленных ламп транзисторы не потребуются, если используются «обычные» светодиоды на 20 мА. Плата для разработки, разработанная на этом этапе, предназначена только для тестирования и разработки. Плата могла бы быть намного меньше, если бы использовались резисторы меньшего размера. Устранение транзисторов также сэкономило бы кучу места на плате. Порт внутрисхемного программирования также может быть удален для производственных плат. Суть отладочной платы - просто проверить схему питания / связи. Фактически, получив платы, я обнаружил, что есть проблема с компоновкой платы. Микросхема двухполупериодного моста имеет дурацкую распиновку. Мне пришлось вырезать две дорожки и добавить по две перемычки к нижней части каждой платы. К тому же следы от светодиодов и разъема слишком тонкие. Ну что ж, жить и учиться. Я уже не первый раз придумываю новую компоновку платы, у меня было восемь плат, изготовленных с использованием BatchPCB. У них лучшие цены, но они оооочень медленные. На то, чтобы вернуть платы обратно, потребовались недели. Тем не менее, если ваша цена чувствительна, BatchPCB - единственный выход. Однако я собираюсь вернуться к схемам AP - они очень быстрые. Я просто хотел бы, чтобы у них был более дешевый способ отправить доски из Канады. Стоимость доставки AP Circuits составляет 25 баксов за каждый заказ. Это больно, если я покупаю плат всего на 75 долларов. На то, чтобы припаять восемь маленьких плат, у меня ушло два дня. Понадобился еще день, чтобы понять, что подтягивающий резистор R6 (см. Схему) меня задел. Думаю, резистор R6 просто не нужен. Я забеспокоился после прочтения таблицы данных, которая показала, что на этом входном контакте нет внутренних микропитаний. В моем дизайне штифт постоянно активен, поэтому подтягивание в конце концов не требуется. Для отправки команд на плату я использовал простые сообщения со скоростью 9600 бод из программы Python. Необработанный RS232, выходящий из ПК, преобразуется в TTL с помощью микросхемы MAX232. Сигнал RS232 TTL поступает на управляющий вход H-Bridge. RS232 TTL также проходит через затвор инвертора в микросхеме 74HC04. Затем инвертированный RS232 поступает на другой управляющий вход H-Bridge. Таким образом, без трафика RS232 H-мост выдает 6 вольт. Для каждого бита в RS232 H-мост меняет полярность до -6 вольт, пока сохраняется бит RS232. См. Изображения блок-схемы ниже. Программа Python тоже прилагается. Для светодиодов купил связку на https://besthongkong.com. У них были яркие 120-градусные светодиоды красного / зеленого / синего / белого цветов. Помните, что светодиоды, которые я использовал, предназначены только для тестирования. Я купил по 100 штук каждого цвета. Вот числа для светодиодов, которые я использовал: Синий: 350 мкд / 18 центов / 3,32 В при 20 мА; Зеленый: 1500 мкд / 22 цента / 3,06 В при 20 мА; Белый: 1500 мкд / 25 центов / 3,55 В при 20 мА; 20 мА При использовании этих четырех светодиодов для заполнения лампы они в сумме стоят столько же, сколько и микроконтроллер - 82 цента! Ой.

Шаг 4: Программное обеспечение

Программное обеспечение
Программное обеспечение
Программное обеспечение
Программное обеспечение
Программное обеспечение
Программное обеспечение

Программное обеспечение действительно делает этот проект отличным! Исходный код в 12F609 действительно сложен. Я использую самую последнюю ячейку памяти! Все 64 байта израсходованы моим кодом. У меня в запасе осталось целых 32 байта флеш-памяти. Итак, я использую 100% ОЗУ и 97% флэш-памяти. Однако удивительно, сколько функциональных возможностей вы получаете при всей этой сложности. Связь с каждой лампой архивируется путем отправки восьмибайтовых пакетов данных. Каждый пакет данных заканчивается контрольной суммой - так что на самом деле есть семь байтов данных плюс окончательная контрольная сумма. При скорости 9600 бод доставка одного пакета данных занимает чуть более 8 миллисекунд. Уловка состоит в том, чтобы выполнять несколько задач одновременно, пока прибывает пакет байтов. Если какой-либо из светодиодов активен с сигналом ШИМ, выходной ШИМ должен обновляться даже при получении новых байтов пакета. Это уловка. Мне потребовались недели и недели, чтобы разобраться с этим. Я потратил огромное количество времени на работу с Logiport LSA, пытаясь проследить каждый бит. Это один из самых сложных кодов, которые я когда-либо писал. Это потому, что микро очень ограничено. На более мощных микросхемах легко написать свободный / простой код и быстро выполнить его, не жалуясь. С 12F609 любой свободный код обойдется вам дорого. Весь исходный микрокод написан на C, за исключением подпрограммы обслуживания прерывания. Вы спросите, зачем нужны такие большие пакеты данных. Ну, потому что мы хотим, чтобы светодиоды поднимались и опускались самостоятельно. После загрузки профиля линейного изменения светодиод может погаснуть и начать линейное изменение даже при получении новых команд для другого светодиода. Каждая лампа должна принимать и декодировать весь трафик пакетов данных, даже если пакет не предназначен для него. Профиль светодиода состоит из начального уровня, времени задержки запуска, скорости нарастания, верхнего уровня, времени ожидания наверху, скорости замедления, нижнего уровня. См. Прилагаемую диаграмму. Ух ты, это много для одного светодиода. Теперь умножьте это количество светодиодов. Становится слишком много - я мог уследить только за тремя светодиодами с полными профилями рампы. Четвертый (белый светодиод на плате разработчика) имеет только возможность перехода от / к подъему. Это компромисс. Посмотрите на прилагаемый рисунок профиля рампы. ШИМ-сигнал генерируется таймером, который работает на 64 мкс за такт. Восьмибитный таймер переключается каждые 16,38 мс. Это означает, что сигнал ШИМ работает на частоте 61,04 Гц. Это не годится для прослушивания видео! Итак, я использовал программный трюк и добавил пару дополнительных отсчетов в таймер, чтобы увеличить его до 60 Гц. Это делает прослушивание видео намного лучше. При каждом пролистывании таймера ШИМ (16,67 мс) я обновляю профиль (ы) рампы. Следовательно, каждый тик нарастания / выдержки составляет 1/60 секунды или 60 Гц. Самый длинный сегмент профиля (с использованием счетчика 255) будет длиться 4,25 секунды, а самый короткий (с использованием счетчика 1) длится 17 мс. Это дает хороший диапазон для работы. Взгляните на прилагаемый рисунок логического анализатора. Чтобы действительно увидеть детали на картинке, откройте картинку в режиме высокого разрешения. Для этого потребуется несколько дополнительных щелчков мышью на веб-сайте с инструкциями. Здесь также представлен рисунок профиля, показанный ниже. Документирование командного протокола находится в моем списке задач. Я планирую написать тип документа в виде таблицы, чтобы полностью описать протокол. Я начал таблицу данных для чипа - предварительная версия сейчас у меня на сайте.

Шаг 5: Возможные приложения

Возможные приложения
Возможные приложения
Возможные приложения
Возможные приложения

Свет рождественской елки: Конечно, я думаю, что елка, наполненная этими младенцами, была бы просто потрясающей. Я могу представить себе приятное теплое сияние зеленых огней и легкий снег, падающий сквозь дерево. Возможно, медленное изменение цвета от зеленого к красному из-за случайного падающего снега. Огни Chaser, образующие спиральный спиральный узор вверх и вниз по дереву, тоже были бы аккуратными. Грубо говоря, я собираюсь припарковать это дерево во дворе и свести с ума соседского «Джонса». Вот и попробуйте! Акцентное освещение: все, что требует акцентного освещения, является мишенью для этих ламп. Мой зять хочет положить их на дно своего аквариума. Друг хочет сделать акцент на своем двигателе хот-род - нажатие на педаль газа вызовет вспышку красного света. Я также подумывал построить один из них с моими лампами: https://www.instructables.com/id/LED_Paper_Craft_Lamps/ Подойдет для отличного проекта Cub Scouts. Складывание светодиодной гирлянды: цепочку светодиодных ламп можно складывать в формы. Семь ламп можно было сложить в семисегментный светодиодный узор. Можно было бы устроить огромную экспозицию - было бы отличное табло обратного отсчета на новый год! Или, может быть, дисплей, показывающий фондовый рынок - красные цифры в плохие дни и зеленые в хорошие. Может быть, большой дисплей, показывающий внешнюю температуру. 3D-сетка Повесив и расположив цепочку светодиодов, можно легко создать 3D-сетку из светодиодов. На YouTube есть несколько классных примеров светодиодных 3D-массивов. Однако существующие примеры, которые я видел, выглядят маленькими и болезненными для подключения. Возможно, большая 3D сетка во дворе во время Рождества. Плагин WinAmp: Все, кто был в моей лаборатории и видел огни, спрашивают, танцуют ли они под музыку. Я немного покопался, похоже, довольно просто добавить плагин к WinAmp. Плагин отправлял сообщения на прикрепленную цепочку ламп, чтобы свет синхронизировался с музыкой, которую проигрывает WinAmp. Было бы просто здорово синхронизировать рождественскую музыку с моей елкой. Встроенный робот-контроллер Baby Orangutan B-328 с H-мостом: Маленький контроллер от Pololu был бы идеальным. См.: https://www.pololu.com/catalog/product/1220 На этой плате уже есть готовый к работе H-мост. Шаблоны ламп можно запрограммировать в микроконтроллер, чтобы компьютер можно было выключить. 802.15.4: добавив 802.15.4, лампы могут стать беспроводными. Для елки, разложенной по дому, это было бы здорово. Или можно было бы добавить лампы в каждое окно в большом комплексе зданий. Круто. Вращающийся маяк: у моего сына был школьный проект по строительству маяка. Идея заключалась в том, чтобы создать дрянной фонарь с батарейным питанием и выключателем из скрепки, чтобы Маяк действительно загорался. Ни один мой сын не пойдет с этим в школу, если у него будет полноценный вращающийся маяк! Посмотрите прикрепленные фотографии и видео.

Шаг 6: Резюме

Меня действительно поражает, что каждая лампа имеет мощность 2 MIPS в SOIC-8 за 80 центов. По мере того, как цепочка ламп увеличивается за счет добавления дополнительных ламп, количество MIPS в цепочке также увеличивается. Другими словами, это масштабируемая конструкция. Гудит цепочка из 16 ламп и вычислительная мощность 32 MIPS. Просто удивительно. Впереди еще много работы, необходимо обновить плату разработки. Есть несколько ошибок макета, которые необходимо исправить. Проводка выхода ошибки связи не работает с транзисторным выходом. Еще не уверен, почему - я еще не потратил времени на выяснение этого. Код принимающей связи тоже требует доработки. Наблюдая за светодиодами, я могу видеть, что время от времени возникают ошибки связи. Похоже, что в среднем на 1000 сообщений приходится одна случайная ошибка. Мне нужно найти производителя SMD, который будет готов изготавливать для меня платы для ламп. Может быть, Spark Fun заинтересуется? У меня есть приятель в Гонконге, который может найти мне производство. Сборка платы должна быть автоматизирована. Просто невозможно собрать эти доски вручную, как это сделал я. Необходимо разработать интерфейсную плату ПК. Это должно быть очень просто - это просто вопрос времени, чтобы сделать это. Стоимость - король - минимальная стоимость лампы (80 центов за микро + три светодиода по 10 центов каждый + плата / резисторы / диодный мост 20 центов.) на общую сумму около 1,50 доллара. Добавьте сборку, проводку и прибыль, и мы говорим о 2–2,50 доллара за лампу. Будут ли вундеркинды платить 40 долларов за цепочку из 16 ламп RGB на веревке? В итоге, я надеюсь, что есть интерес со стороны любителей DIY. Имея несколько положительных отзывов, я продолжу воплощать эту идею в продукт. Я мог представить себе продажу микросхем, плат для разработки ламп и полных световых цепочек. Поделитесь со мной своим мнением и поделитесь своим мнением. Для получения дополнительной информации и дальнейших новостей о разработке посетите мой веб-сайт по адресу https://www.powerhouse-electronics.com Спасибо, Джим Кемп

Рекомендуемые: