Управление RGB лентой с помощью Arduino и драйвера L298N
В данное время стали доступны светодиодные ленты с изменяемым цветом свечения. Они классно выглядят, не дорого стоят и их можно хорошо приспособить для декоративной подсветки интерьера, рекламы, и т.д.
К таким лентам можно купить источник питания, диммер, диммер с пультом управления. Это позволит вам использовать светодиодную ленту для посветки. Однако если вы захотите запрограммировать алгоритм изменения цвета, или сделать управление из компьютера — то тут начинается разочарование. Вы в продаже не найдете диммеров с управлением через COM-порт или Ethernet.
Я решил эту проблему с помощью Arduino, и хочу поделиться своим вариантом решения с Вами.
Добро пожаловать под кат.
Теоретическая часть
Для реализации плавного изменения свечения всех 3 каналов нам потребуется сделать собственный димер. Сделать его очень просто, для этого требуется взять силовые ключи и управлять ими с помощью ШИМ сигнала. Также наш диммер должен быть программируемым и/или управляемым из вне.
В качестве мозгов идеально подходит Arduino. В её программу можно записать любой алгоритм изменения цветов, а также её можно управлять как с помощью модулей Arduino, так и удаленно по Ethernet, Ик-порту, Bluetooth, используя соответствующие модули.

Для реализации задуманного я выбрал Arduino Leonardo. Она одна из самых дешевых плат Arduino, и она имеет много выводов с поддержкой ШИМ.
И так, источник ШИМ у нас имеется, остаётся придумать с силовыми ключами. Если побродить по интренет магазинам, то выяснится, что не существует модуля Arduino для управления RGB лентами. Или просто универсальных модулей с силовыми транзисторами. Также можно найти огромное количество сайтов радиолюбителей, которые делают платы с силовыми ключами сами.
Однако есть способ проще! Нас выручит модуль Arduino для управления двигателями. Этот модуль имеет все необходимое для нас — на нем установлены мощные ключи на 12В.

Пример такого модуля является «L298N Module Dual H Bridge Stepper Motor Driver Board Modules for Arduino Smart Car FZ0407». Такой модуль основан на микросхеме L298N, которая представляет из себя 2 моста. Однако мостовое включение полезно для двигателя (от этого он может менять направление вращения), а в случае RGB ленты, оно бесполезное.
Мы будем использовать не весь функционал этой микросхемы, а только 3 её нижних ключа, подключив ленту как показано на рисунке.

Практическая часть часть
Для реализации потребуется Arduino Leonardo, Модуль управления двигателями L298N, Источник 12В (для запитки ленты), сама RGB лента, соединительные провода.
Для удобства подключения я еще использовал Fundruino IO Expansion, но он никакой функциональной нагрузки не несет.
Схема подключения показана на рисунке.

Хочу дополнительно описать питание системы. В данной схеме питание подается на модуль управления двигателями, в нем стоит понижающий источник питания на 5В, и эти 5В я подаю на вход Vin питания Arduino. Если разорвать эту связь (естественно земли оставив соединенными), то запитывать Arduino и силовые ключи можно от разных источников питания. Это может быть полезно когда к Arduino много всего подключено, и источник в модуле управления двигателями не справляется (выключается по перегреву).
Управляется RGB лента с помощью команд analogWrite, которая настраивает выход для формирования ШИМ сигнала.
Адресная светодиодная лента Ардуино WS2812B

Адресная светодиодная лента WS2812B привлекает многих радиолюбителей за возможность создания интересных и ярких проектов на Ардуино с ws2812b светодиодами. Но прежде, чем приступать к новому крутому проекту, следует понять, как подключить и правильно управлять адресной лентой от Ардуино. Рассмотрим в этой статье несколько простых примеров по работе с WS2812B Arduino Uno.
Адресные светодиоды ws2812b и Ардуино
Адресные ленты отличаются плотностью — от 30 до 144 светодиодов на метр, изготавливаются разном защитном исполнении: IP30, IP65, IP67, IP68. Все варианты исполнения, кроме IP30, могут применяться на улице в диапазоне температур от -25 до +80°C. Еще одна, более надежная лента — WS2813 отличается возможностью передавать сигналы дальше по цепочке даже через сгоревший чип.
Светодиодная лента WS2812B характеристики
- Размер светодиода — 5 х 5 мм
- Частота ШИМ — 400 Гц
- Скорость передачи данных — 800 кГц
- Размер данных — 24 бита на светодиод
- Напряжение питания — 5 Вольт
- Потребление при нулевой яркости — 1 мА на светодиод
- Потребление при максимальной яркости — 60 мА на светодиод
- Цветность: RGB, 256 оттенков на канал, 16 миллионов цветов
Адресная светодиодная лента ws2812b — это вершина эволюции лент. Каждый светодиод в ленте состоит из обычного RGB светодиода и контроллера с тремя транзисторными выходами. Благодаря этому есть возможность управлять цветом любого светодиода и создавать потрясающие цветовые и световые эффекты. Именно поэтому устройство пользуется популярностью, несмотря на высокую стоимость.
Как проверить адресную ленту без Ардуино

При подключении обращайте внимание на направление стрелок
Многих интересует, как включить адресную ленту без Ардуино и проверить ее на работоспособность. Если просто подключить питание к ленте, то ничего не произойдет — проверить ленту без контроллера нельзя. Если задеть цифровой вход адресной ленты, то могут загореться несколько светодиодов из-за случайных помех, которые воспринимаются контроллерами ws2812b светодиодов, как команды.
Если под рукой нет платы Ардуино, то можно использовать для проверки специальный контроллер. В крайнем случае, просто потрогать цифровой провод, чтобы понять будут гореть светодиоды на ленте или нет. Другого надежного способа проверить работу ws2812b ленты нет, поэтому рассмотрим далее управление и программирование адресной светодиодной ленты на микроконтроллере Ардуино Нано или Уно.
Как подключить адресную ленту WS2812B Arduino
Для этого занятия понадобится:
- Arduino Uno / Arduino Nano / Arduino Mega;
- лента WS2812B;
- макетная плата;
- 1 резистор от 100 до 500 Ом;
- провода «папа-папа».
WS2812B светодиоды довольно энергоемкие, один светодиод потребляет до 60 мА при максимальной яркости. Для ленты со 100 диодами потребуется блок питания на 6 и более Ампер. Микроконтроллер Arduino и светодиодная лента могут быть подключены к разным источникам питания, но «земля» должна быть общая. Дело в том, что пин GND тоже участвует в управлении адресной лентой от платы Ардуино Уно.
Схема подключения адресной ленты 5 Вольт к Ардуино
| WS2812B | Arduino Uno | Arduino Nano | Arduino Mega |
| GND | GND | GND | GND |
| 5V | 5V | 5V | 5V |
| DO | 10 | 10 | 10 |
Для работы с лентой используются три популярные библиотеки — FastLED, AdafruitNeoPixel и LightWS2812. Все библиотеки доступны для скачивания на нашем сайте. Работать с библиотеками FastLED и Adafruit NeoPixel просто, отличаются они в функциональности и объеме занимаемой памяти. После сборки этой простой схемы и установки библиотек, загрузите скетч для адресной светодиодной ленты.
Скетч. Тестирование адресной ленты WS2812b Arduino
Пояснения к коду:
- нумерация светодиодов в ленте начинается с нуля, поэтому если мы хотим включить первый светодиод, то указывать надо «0».

Схема подключения адресной ленты 12 Вольт к Ардуино
Если у вас лента на 12 Вольт, то ее нужно подключать по схеме, размещенной выше. Резистор на цифровом пине защищает его от выгорания (если питание к ленте будет отключено, то она начнет питаться от цифрового пина, при этом пин может выгореть. Также не стоит подключать питание ленты к плате Ардуино, иначе может выгореть защитный диод на Ардуино или USB порт на компьютере (в худшем случае).
Скетч. Управление адресной лентой Ардуино
Пояснения к коду:
- с помощью библиотеки Adafruit NeoPixel довольно просто управлять адресной лентой. В примерах к библиотеке можно найти много различных эффектов. Мы продемонстрировали простой вариант с циклом for для включения ленты.
Заключение. В этом обзоре мы рассмотрели лишь подключение и возможность управления адресной лентой от Ардуино. Так как возможности работы с библиотеками FastLED, AdafruitNeoPixel довольно разнообразны. Больше интересных примеров на Arduino и WS2812B размещено в разделе Проекты на Ардуино, где представлены проекты с бегущей строкой на адресной ленте и другие световые эффекты.
Адресные светодиоды — проект от А до Я

Лента имеет маркировку WS2812B (144 шт. на метр, это самая яркая) при белом свечении, метр ленты потребляет где-то 40 Вт. У ленты только три контакта: плюс, минус и сигнал. Выбрал герметичный вариант ленты — светодиоды залиты силиконом.

Ленту невозможно согнуть поперек из-за этого и сложности, но разрезать её можно на каждом светодиоде. Первым делом мерим сколько нужно ленты и как её делить, чтобы повторить изогнутый контур багажника.

Перепробовал много вариантов перемычек: изолированные, оголенные, прямые отрезки. Лучшим вариантом оказались оголенные и изогнутые. Другие варианты отрывали пайку и повреждали дорожки, пока ёрзал ею по столу. Удобней паять сложив ленту пополам, ну и всё это дело залить горячими соплями клеевым пистолетом для прочности и, надеюсь, герметичности.




Из-за отсутствия на тот момент Arduino Nano пришлось взять Arduino Pro Mini (отличается более компактными размерами, но отсутствием mini USB разъема, о чем я потом сильно пожалел).
Так как контроллер воспринимает логические сигналы до 5В, а он будет подключён к проводке автомобиля в которой напряжение от 12В до 15В, то необходимо собрать «делитель напряжения» который делит напряжение =) и на выходе даст не более 5 вольт.


Как оказалось позднее, сигнал «стоп» это ярко загорающиеся габариты, т.е. на линии габаритов 6В, а когда нажат «стоп» то 12В. Так как напряжение на этой линии есть всегда, то это канал подключаем к аналоговому входу Ардуино, что бы отличать уровни напряжения в следовательно габариты от «стопа».
Ардуино и лента питаются от хорошего блока питания на 5В. Все входы и выходы подключал через разъемы EPS (удобные да ещё и с замочком). Всё это безобразие спрятал в напечатанную на 3D принтере коробочку. Место соединения проводов и разъема залил горячим клеем для прочности, а на другом конце провода припаял разъем, который врезается в провод авто, не повреждая его.





Подключение
А теперь самое интересное заморочное: так как дело было зимой, машину решили разбирать на подземной парковке в относительном тепле и свете.
После нескольких часов потраченных на поиски электросхем автомобиля, а потом и их неудачной расшифровки, было принято решение искать нужные провода методом тыка в багажнике, возле блока предохранителей.
Первый вариант был прозванивать провода прокалывая изоляцию тонкой иглой, но она оказались достаточно тверда и непреступна. Быстрей и удобней получилось снять фару и подключится через разъем. Нашли контакт — узнали цвет провода, нашли его у блока предохранителей, обжали вокруг провода разъем.



Осталось только протянуть провод от платы до начало ленты приклеенной к нижней части крышки багажника. Провод брал 3-х жильный 0,75 сечением, т.к. потери напряжения на тонком проводе будут ощутимы, да и ток не маленький — до 9А. Чтобы удобней было его протягивать через резиновые уплотнения багажника, мы смазали провод машинным маслом, которое достали щупом из двигателя)))

Перед наклейкой ленты поверхность крышки багажника обезжирили спиртом. Сперва приложил и закрепил ленту на изоленту =), а затем аккуратно снимая пленку с ленты, посегментно приклеивал её сильно прижимая. Ах да, еще аккуратно прогревал металл горелкой до состояния теплого чая т.к. было около нуля на улице.

Подключаем, показываем дорогим Пикабушникам, слушаем замечания — исправляем прошивку и ГОТОВО!
P.S. Отдельное спасибо @AlexGyver, за идею и доступную информацию!
Сделано круто конечно, но. честно? Очень отвлекают других водителей подобные вещи. Все равно, что с противотуманками ездить постоянно включенными, провоцирует других участников движения на агрессию и только повышает аварийность. Это конечно мое мнение, многие не согласятся, пока не встретятся с такими поделками на дороге.
В целом, молодец, рукастый)
Прикольно. Вот бы еще отпрограммировать, чтобы огонек сходился к фаре, а не вместе с ней загорался. Например, задержку поставить чтобы лента ко второму миганию включалась.
Эксплуатация такого автомобиля без разрешения ГИБДД запрещена (пункт 7.18 Перечня неисправностей и условий, при которых запрещается эксплуатация транспортных средств).

Hi-Fi усилитель на основе набора MX50SE с Aliexpress
Когда нужен нормальный звук и, при этом, ты у мамы инженер, то возникает желание сэкономить и получить приемлемый результат сделав усилитель самому из того что есть в наличии и китайских компонентов.

— корпус от старого системника HP Compaq Evo;
— тороидальный трансформатор 2х18В 6,3А;
— трансформатор 2х15В 0,15А Marschner FLG30.7;
— трансформатор 14 В Myrra;
— горсть конденсаторов 4700 мкФ х 40В Vishay в аксиальном исполнении;
— люминисцентный символьный дисплей 16х2 Itron;
— DC-DC преобразователь 9..36В — 5В Traco TEN 4-2411;
— сетевой разъём совмещенный с фильтром;
— горсть мелких реле;
— пара процессорных радиаторов;
Всё то было выпаяно со старого демонтированного промышленного оборудования перед отправкой его на свалку. Так почему бы не дать ему вторую жизнь? 😉
На Алике были заказаны:
— набор для сборки оконечных усилителей MX50SE от LJM (проверенный, популярный усилок);
— плата предварительного усилителя с темброблоком Ayima;
— плата защиты акустики (пустая);
— набор макетных плат.

Корпус от Компака был ободран от пластика до металла. Боковины запилил из обрезка ламината. На морде и жопе были выпилены лишние и выступающие части. Задница закрыта двумя кусками оцинковки с просверленными в них отверстиями под разъёмы. Морда выпилена из материала который я ХЗ как называется — внутри пластик, а снаружи алюминий покрытый плёнкой. Плёнка с тыльной стороны спокойно сдирается наждачкой и зачищается до приемлемого вида. Вырезаны отверстия под ручки, кнопки и дисплей.
Неспеша были собраны платы оконечников, блока защиты, блока включения питания, платы трансформаторов, платы селектора входов.


Оконечные усилители выполнены в виде модулей. На раме из перфорированной стальной полосы (отверстия с резьбой) закреплена сама плата, радиатор, скоба из оцинковки на которую закреплены дополнительные конденсаторы.

Собранные компоненты накидал в корпус чтобы предварительно обдумать компоновку.

Насверлил отверстий в днище и закрепил компоненты.

Плату темброблока закрепил на две стойки и кусок алюминиевого листа, который помимо крепежа ещё и служит экраном.

На макетной плате собрал плату входов с селектором на реле. Всё это одним блоком с задней панелью.

Выполнил основной монтаж силовой и сигнальной проводки.

Далее начался самый сложный (для меня), но и самый интересный этап — сделать модуль индикации и управления на основе люминисцентного дисплея 16х2 и Ардуино. С ЛУТом возиться не захотел (а зря) и собрал всё на макетке.

Прошивка. За основу брал пару готовых скетчей, но почти всё пришлось переделать под свои нужды. На данный момент модуль может: показывать индикацию уровня выходного сигнала, показывать дату, время, температуру радиатора выходного каскада, переключать входы, включать защиту от перегрева (часть функций управляются с пульта ДУ).
В итоге получилось как-то так:




Не очень ровно, местами даже коряво. Надписи смазались при нанесении, из-за чего он выглядит старым и потёртым. По монтажу и схемным решениям у знатоков явно будут претензии и вопросы.
Самое главное для меня — оно работает и звучит определённо не хуже заводских усилителей начального уровня и советских в том числе.
Вот такой вот «первый блин» 🙂
UPD: Если будет интерес — запилю ещё посты про усилители и прочие самоделки.

Поделка для взрослых — робот разбавлятор

Ответ на пост «Паяльный фен на ардуино. Часть вторая.»
Hot Air Station v1.6
— на платах подписал все элементы, внес правки
— на схеме внес правки
— переделал код, теперь работает магнитная подставка (геркон)
— сделал 3d модель корпуса
pinout ручки фена может не совпадать с вашим! Один контакт геркона должен быть на минусе термопары, а не на плюсе термопары!
https://disk.yandex.ru/d/iQEcBK8uDexFrw

Как сделать динамическую подсветку своими руками

Светильник в стиле лого Mortal Kombat
Шалом, мои дорогие товарищи, и те 38 подписчиков, которые зачем то на меня подписаны.
Идея сделать светильник засела во мне давно, и только лень мешала начать реализацию проекта. Все началось с того, что у меня появился 3d принтер, и наигравшись с ним, я решил, что пора сделать что-то интересное.
Идея сразу попахивала идиотизмом, но как говорится, не попробуешь не узнаешь.

И так, прошерстив все сайты с моделями и не найдя подходящей, я осознал, что придется моделить светильник самому.
За пару часов, обложившись видео туториалами, и постоянно матерясь, во Fusion 360 была сделана модель, диаметром 830 мм и бортиком примерно в 10 мм высотой для крепления светодиодной ленты. Затем это все было попилено на части 200 x 200 мм для удобства печати.

Начинается самая нудная часть — ПЕЧАТЬ. Потрачено было около килограмма пластика. Печаталось все примерно неделю, в дневное время, с перерывами. Короче, я особо не торопился с печатью, попутно тестировал разные настройки принтера. В среднем на на одну деталь уходило около 2 часов времени.

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

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

Первое — пластик просвечивает. Дальше больше, голова и язык ходят ходуном, пластик очень гибкий, а толщина модели около 4 мм. В общем, выровнять стыки деталей шпатлёй было той еще задачей. Забегая вперед, у меня так ничего и не вышло))

Как бы я не шкурил и не красил, швы все равно оставались видны. Моя мечта о крутом светильнике разбивалась о волны суровой реальности.

Выход из ситуации виделся только один — автомобильная пленка. Решил закатать дракона в карбон. Полностью пленка конечно косяки не скроет, но большую часть проблем решит.

Получилось все гораздо лучше, чем я ожидал, швы заметны только если сильно всматриваться. Несколько слоев грунтовки и пленка сделали дракончика непросвечивающим. А это значит можно клеить светодиодную ленту и заливать скетч в ардуино. За скетч выражаю особое почтение @AlexGyver,

Мдя)) с внутренней стороны дракоша выглядит не так презентабельно))). Для того, чтобы он был на одинаковом расстоянии от стены были добавлены подставки.
Ну все можно вешать
И при свете, без свисающего ардуино)
Осталось только обои нормально поклеить)).
PS: Крайне не рекомендую повторять это! Печатать подобные вещи на 3d принтере очень плохая идея. Лучше обратитесь к ребятам с чпу станками, вырежут из ДСП не хуже, а проблем убавится в разы.

Как придумать велосипед
И так, сидел я как то вечером, отдыхал. И тут подходит жена и говорит, чё ты тут разлегся. иди автоматизируй. Тыж сисадмин. А просьба была простая, нужно было выводить показания температуры и влажности воздуха и включать и выключать фитолампы в нужное время, поняв что хочется страдать я решил сделать свой проект а не покупать) И так идея очень простая. Посидев пораскинув мозгами я пришел к выводу что мне нужна Arduino nano, датчик влажности и температуры(DHT22) , часы реального времени(DS3231), экран 1602 с i2c и реле для управление 220В. Отлично, пошел закупился рассыпухой. Теперь это надо всё соеденить на макетке и написать код. Учитвая что мой первый проект на ардуино то было не легко.

Сказано сдланно, с одним условием) Что С++ я не знаю от слова совсем и пришлось прибегнуть к помощи друга который поог написать код) В планах изучить потому как ну очень это интересно) Ну и пилили мы код на чистом C++. Через VScode и PlatformIO. Спасибо @slava594 тебе за помощь) Потестили работает) Теперь самое веселое, надо собрать это все дело в корпус. О, забыл прикрепить схему, точно)

Берем значит пластиковую коробочку для корпуса купленную на радиорынке(100Х60Х25), и прикидываем как у нас будут лежать компоненты.

Дальше начинаем редактировать наш корпус и сразу примерим как оно будет выгялядеть



Самое сложное это было выпилить ровное отверстие) Сначала пытался ножом, потом фрезой и потом решил уже отпилить отрезным диском на дремеле) Поэтому много пришлось работать рашпилем что бы хоть что то ровное получить) Ну ничего. Как мы видим при работе с корпусом у нас появились косяки, а так как я не очень люблю белые корпуса и хочу перекрасить в чёрный то при покраске все косяки откроются поэтому шпаклюем, я это делал автомобильной шпаклёвкой. Не забываем добавить затвердитель!

Теперь дело за малым, пошкурить и покрасить, в начале грунт потом краска и потом матовый лак, по итогу имеем вот такую картину, я корпус внутри прикрепил на шпашки и горячие сопли)



Отлично, ну и теперь нам всё надо собрать согласно схеме) и прикрепить экран к корпусу, а а на что будем крепить? Правильно как всегда горячие спопли) А учитвая что места у нас не так много то чувствую что будет не легко) ну почти так и получилось) Да да я знаю что не очень красиво но я к этому и не стремился)

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


Сзади два провода потому как один на питание ардуинки а второй на управление реле(Светом).
На проект ушло около недели)
В целом мне нравится, есть конечно косяки, но мы ведь учимся) Есть идеи по даработке) Как минимум поставить аккум прикрепить WI-FI да и много всего)Всё это безобразие мне обошлось порядка 800Р, не считая краски, грунта и лака. Но я всё покупал в РФ, если брать у китайцев то будет минимум в два раза дешевле) Если будут какие то вопросы, пожелания, улучшения с радость выслушаю =) До скорых встреч!

Самодельный робот OTTO — открытый проект детского интерактивного робота на Arduino
По наводке levoslavievseti узнал о замечательном проекте: детском интерактивном роботе, пригодном для самостоятельной сборки, с открытым исходным кодом, с бесплатными моделями, чертежами, инструкциями, с бесплатной средой разработки «блочного типа» для детей, с бесплатным приложением для управления роботом в режиме прямого управления и т.д.
Спешу поделиться впечатлениями — мне кажется эта затея достойна популяризации!

Можно купить готовый набор для сборки (продаются как в РФ, так и на Али), можно самостоятельно распечатать пластиковые детали и купить отдельно электронику.
Помимо корпуса минимально желательно:
— 4 сервомашинки SG90;
— ардуинка (есть модели корпуса под разные варианты, я использовал Arduino Nano);
— подходящий шилд для сервомашинок;
— ультразвуковой датчик HC-SR04;
— с десяток коротеньких проводов dupont connector;
— аккумулятор для питания ардуинки;
Таким образом, стартовый бюджет — от нескольких сотен рублей, если есть где напечатать корпус, до нескольких тысяч, если брать готовый комплект.
По-моему желательно сразу добавить датчик касания и блютусный модуль — они ставятся сразу в базовый корпус без дополнительных деталей, и здорово расширяют фукнционал. (без блютуса нельзя будет управлять роботом напрямую, как радиоуправляемой игрушкой)

Вариантов дальнейшего апгрейда множество, там одних только моделей робота несколько — есть колёсный вариант, четвероногий. А к любому можно добавлять руки, дисплеи, микрофон, разные датчики и т.д.
Подключается всё это без пайки (я паял подключение аккума, но можно обойтись если прям критично). провода укладываются колечками в корпусе, место под это имеется, всё подлежит перекоммутации, апгрейду.
Совсем уж без понимания как работает Ардуино будет, по-моему, сложновато, но в качестве «нижней планки» упомяну, что я, например, настолько тупой, что сжёг два контроллера, подключая 9V батарейку ко входу 5V вместо VIN. Ну то есть, если Вы хотя бы понимаете куда подключать питание контроллера — Вы уже справитесь лучше меня! :))
Вся исчерпывающая информация представлена на сайте https://www.ottodiy.com/ Всё разжёвано прям очень подробно, даже иногда слишком подробно: некоторые моменты пересекаются, и иногда не совсем понятно, что лучше читать отдельную инструкцию по, например, блютусу, чем пытаться разобраться по одной картинке в общей инструкции. Всё поделено на разделы: вот модели, вот сборка, вот код, вот моддинг. Очень круто, и всё даром!
Весьма недурственная среда блочного программирования, вполне доступная и привычная современным детям — тоже даром. (можно программироать и напрямую через Arduino SDK при желании, естественно)

Приложение для прямого управления роботом (через Bluetooth) удобное, надёжное. Куча всяких движений, эмоций. Особенно детям нравится как робот «умирает».

Да, самостоятельно без помощи взрослых такого робота сможет собрать, пожалуй, уже только старший школьник — в отличии от наборов Лего. Но и с Лего — он у нас тоже есть — не всё так однозначно. Собирать-то они его собирают — чё там хитрого: вот инструкция пошаговая в телефоне, вот детали. А понимания как именно чё там работает — не очень-то. Мой старший (7 лет), по крайней мере, собирает ровно по инструкции, что-то там самостоятельно конструировать — как-то нет. С этим же проектом даже сидя рядом с отцом — понимания куда больше, как мне показалось.
С точки зрения собственного вклада ребёнка, даже мелкого, тут офигенные возможности по моддингу робота. Можно печатать на принтере всякие дополнительные детали для украшения (есть готовые модели), можно из бумаги делать «костюмы» (тоже есть готовые выкройки для начала). Робот кубический, бумажный костюм садится на него просто и аккуратно, а дальше на нём можно хоть рисовать, хоть приклеивать чё хошь.

Последняя затея пришлась ОЧЕНЬ по душе младшему роботостроителю. Костюм «панды» мгновенно сделал из робота лучшего друга и любимую игрушку. Возился с ним весь вечер, сам записал ролик о приключениях Бабука. 🙂
Если не жалко — ткните лайк в видео, маленькому чувачку будет приятно! Он полностью самостоятельно и по своей инициативе всё выдумал, снял, я только на ютубе описание забить помог ему.
В общем, я в полном восторге и очень рекомендую всем, кто желает приобщить подрастающее поколение к робототехнике в домашних условиях. Немножко заморочно, но жутко интересно, весело и доступно. Низкий поклон создателям проекта и всем причастным к его развитию за такую круть! И ещё раз благодарность levoslavievseti за наводку!
А если знаете ещё похожие проекты, с хорошей проработкой инструкций, моделей, среды программирования — буду рад услышать в комментах.

Беспроводные кнопки для своей игры на Ардуино (SiGame)
3 года назад решили мы разбавить наши пятничные посиделки с настолками интеллектуальными играми, а именно своей игрой. Это та игра, где синий экран с темами вопросов, квадратиками с их стоимостью и Вассерманом, который всех побеждает.
На просторах интернета была найдена простая и удобная программка от Владимира Хиля. На данный момент в программке доступно назначение игрокам клавиш клавиатуры и использование телефона в качестве кнопки через браузер. Играть с телефонов не очень комфортно, так как есть задержки, причем разные для игроков, поэтому было принято решение использовать клавиатуру предварительно удлинив ее кнопки, а для удобства нажатия использовал дверные звонки.

Все это работало, но периодически возникали самопроизвольные нажатия или же срабатывание одной кнопки при нажатии другой, да и провода по всей квартире не добавляли удобств. Все это привело меня к разработке беспроводных кнопок на контроллерах.
В качестве контроллера была выбрана Arduino Pro Micro, так как имеет маленький размер и на борту есть аппаратный USB, что позволяет ей притворятся клавиатурой, то есть эмулировать нажатии клавиши. В качестве приемопередатчика был выбран радиомодуль nrf24l01. Затарил все у китайцев, добавил аккумулятор от HQD, написал прошивку и собрал тестовую схему.

Работать она не хотела от слова совсем, точнее при сканировании всех каналов, она прекрасно видела «Шум» на каналах моего роутера, но общаться со второй такой же штукой не хотела. Позже было выяснено, что nrf24l01 категорически против разъемных соединений, поэтому, пришлось все припаять. Также добавил небольшую задержку при старте контроллера, так как радиомодуль не всегда успевал инициализироваться После этих манипуляций работать стало более менее стабильно. Запихал в те «корпуса», которые были под рукой, чтобы протестировать на ближайшей игре.

Тесты прошли успешно и я перешел к следующему этапу, разведению платы в Altium и последующему ее изготовлению методом ЛУТ.

Логотип Гайвера добавил дабы занять пустое место и отдать дань арудинщику всея Руси, много информации почерпнул именно у него на канале и на форуме.
Печатаем, переводим, травим.



Да, на фотках разные версии плат, но какие нашлись..
Дальше все это дело лудим и распаиваем рассыпуху. SMD элементы паял впервые, но в целом приловчился.

Арудиуну и контроллер заряда расположил с обратной стороны.

Дополнительно докупил аккумуляторы, лотки для них и более удобные кнопки. Ну и заменил «корпуса» на более удобные из FixPrice. Поскольку корпуса временные, то зафиксировал все внутри на изоленту и двусторонний скотч.



Очередной тест показал, что все ок и нужно делать еще 4 таких кнопки. Так как сделать нужно было к ближайшим выходным, то пригласил товарища помочь и мы поставили производство на поток. Я травил, лудил, сверлил и мыл, а он паял. Для сверления приобрел себе дремель со стойкой для вертикального сверления, который сильно упростил мне работу.


Готово, можно играть.


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

ИК паяльная станция
Да да, очередная, но у меня первая. И самодельная, ибо денег нет но вы держитесь.
Собрана из того что было:
Бп на 12 вольт, ардуино нано, конфорка от ИК плитки, 4 линейные галогенки, 2 ДХО на подсветку, дисплей Нокиа 5510, кулеры со старых серверов, всякий нержавеющей металл, горсть радиодеталей. Программу написал за несколько вечеров на работе, в ардуино иде.



Датчики температуры и держатели платы на магнитах, можно установить в любое место, где удобнее.
Отслеживание температуры сделано на термопарах К типа и чипах MAX6675, в процессе тестов выяснилось, что в них не совсем понятно работает компенсация по холодному спаю, при нагреве чипа температура на термопарах завышается, в связи с этим врезал в корпус кулер, проблема ушла.
Фото внутренностей:

Плата изготовлена методом лут, схема (вместе с клавиатурой). Кнопки взяты готовые, с мёртвого телека



Верхний нагреватель, собран из алюминиевого профиля, линейных галогенок 4х150 вт, включённых по 2 последовательно. Мощности с избытком, ограничил на 60% и всё равно программа отключает в процессе, т.к. температура набирается быстрее, чем указано в профиле



Прошивку в данный момент довожу до ума, всё работает, остались мелочи.
Прошивка и проект для протеус 8.5 на моём Гугл диске:
https://drive.google.com/file/d/19p3HZAKdSIPWKRUUESX_KBa-qR6.
Прошу не пинать за ссылку. Ну а чё, на телегу же можно.
Всё, закончил. По возможности отвечу на все вопросы в комментариях.

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

Как ни странно, все это ездит, плавает и летает – не важно, как долго, главное, что прецеденты есть. Но тема нашей статьи несколько иная и касается конструкторов для взрослых, собрав который можно получить полноценное транспортное средство, даже подлежащее регистрации.
Вместо «народной» марки
Автомобильная история знает немало примеров, когда энтузиасты-идеалисты основывали бренды имени себя и строили «автомобили для всех», пытаясь попасть в большой бизнес. Как правило, такие попытки заканчивались тотальным крахом. Были среди таких изобретателей и люди, способные учиться на чужих ошибках, а не наступать на грабли, потопившие, к примеру, Tucker Corporation или DeLorean Motor Company.

Эти ребята решили не вникать в строительство заводов полного цикла, а представить потребителям некую схему, по которой автомобиль можно собрать самому. Согласитесь, просто, как все гениальное! Достаточно придумать простенькую раму, способную выдержать одного-двух человек, сварганить колесную схему и интегрировать силовой агрегат, скажем, от газонокосилки, который продается в любом строительном магазине, – все, бизнес готов. И что самое удивительно, популярен! Знакомьтесь, американская фирма King Midget, успешно продававшая «конструкторы для взрослых» с 1946 по 1970 годы!
Малыши с колесами
Бренд King Midget был создан пилотами-отставниками Клодом Дрю и Дэйлом Оркаттой. Еще находясь на службе, эти ребята ломали голову, как заработать в ситуации, в которой оказалась мировая промышленность после войны. В итоге оба решили выпускать автомобили, но не традиционным способом, а в виде кит-каров по принципу «собери авто сам».

Транспортное средство, возникшее таким путем, выглядело до крайности незамысловатым, но и стоило соответствующе. Так, всего за $50 поддавшийся на уговоры листовок King Midget клиент получал сверток для Model I, который включал: деревянную раму, набор кузовных «выкроек» из листового металла, мосты с подвеской и рулевое управление. Специальные навыки для сборки этого авто не требовались, поэтому клиент все делал сам, следуя инструкции.

King Midget Model I была одноместной и имела весьма условную стилизацию под гоночные болиды 20-х годов прошлого века. В 1946-1951 годах было продано около 500 экземпляров сборных комплектов.

Что касается силовой установки, то мотор в наборе отсутствовал. Продавец рекомендовал приобрести таковой от списанной мототехники либо докупить отдельно. Чуть позже появились готовые машины с уже установленным 6-сильным движком, но стоили они значительно дороже – порядка $350.
Расширенный модельный ряд
В 1951 году ассортимент King Midget пополнился машиной Model II. Этот образец уже являлся двухместным, имел стальную раму, пружинную подвеску и даже отличался наличием штатного двигателя. Но чтобы не возникало слишком радужного впечатления, скажем, что в остальном Model II была оснащена и управлялась хуже даже мотоколяски.

В Model II имелся «шнуровой» стартер, отсутствовала задняя передача и даже базовые приборы. Дверей, впрочем, как и крыши, самоделка также не имела. Прелесть данного транспортного средства состояла в том, что все это можно было докупить: кроме спидометра и прочих «ненужных» устройств за отдельную плату для Model II предлагалась даже АКПП! Общий тираж такого «проекта» составил 1600 экземпляров.

Кроме количества докупаемых опций в Midget Model II возросла и грузоподъемность. Помимо собственного веса, а машинка поднималась одной рукой, она могла перевозить до 250 кг. Любопытно, что глушители и рулевые колонки для нее поставлялись достаточно известной фирмой Crosley.

Третья версия King Midget имела трехступенчатый «автомат», электростартер, гидравлические тормоза, а также двери и тентовую крышу. Мощность одноцилиндрового моторчика объемом 350 куб.см возросла до 12 л.с.

История King Midget закончилась в 1970-м с выпуском Model III. Как ни странно, компанию пришлось закрыть не из-за отсутствия покупательского спроса, а «благодаря» новым стандартам пассивной безопасности и токсичности выхлопа, в которые продукция бренда не вписывалась.

Делаем аромадиффузор Xiaomi Youpin HL "умным"
Необходимость в удаленном управлении аромадиффузором конечно специфическая. Но может быть кому-то захочется повторить 🙂 В моем случае, мне хотелось, чтобы он включался автоматически на короткий промежуток времени, дабы реже заниматься его наполнением. Ну и было интересно поразбираться.
Сам аромадиффузор выглядит так:

По сути, это маленький ультразвуковой увлажнитель с подсветкой и одной кнопкой для включения/переключения цветов подсветки коротким нажатием и выключения длительным нажатием. Питается от USB. При подаче питания автоматически не включается, обязательно нужно нажать кнопку.
В результате доработки появляется возможность получать статус устройства и эмулировать нажатия на кнопку с помощью MQTT.
Для доработки нам понадобятся:
D1 Mini. Маленькая плата с питанием от USB, с WiFi и разными входами-выходами для подключения внешних компонентов. Можно использовать и что-нибудь другое, но именно D1 Mini по габаритам идеально вписывается в корпус этого аромадиффузора, располагаясь под основной платой.
Два резистора на 470 Ом
Резистор на 10 кОм
Две оптопары PC817.
Скачать скетч из репозитория, открыть его в Arduino IDE, вбить данные для Wi-Fi роутера и MQTT-брокера. Залить скетч в D1 Mini.
Разобрать аромадиффузор. Для этого снимаем резинку снизу и выкручиваем четыре самореза. После этого корпус достаточно легко разделяется на две части.
Соединить пины D6 и GND через резистор на 10 кОм.
Светодиод первой оптопары присоединяем через резистор на 470 Ом параллельно контактам вентилятора. Фототранзистор — к пинам D6 и 3.3v. Это позволит нам узнавать статус устройства. Замечу, что у этого аромадиффузора есть особенность: если в бачке нет воды, то вентилятор включается на очень короткий промежуток времени. Что я и использовал для определения наличия воды. Наверное можно было иначе, но так проще и меньше деталей.
Светодиод второй оптопары присоединяем через резистор на 470 Ом к пинам D7 и GND. Фототранзистор параллельно кнопке. Это позволит нам эмулировать нажатия.
После этого можно собирать аромадиффузор.
В MQTT можно использовать два топика:
state — для получения статуса устройства. Может принимать значения on, off или error (если нет воды).
command — для управления кнопкой. Соответственно, press — для включения и переключения цветов, а press_long для выключения устройства.
В таком виде устройство работает уже более года без нареканий. Фото не прикладываю, ибо сам спаял все на коленке и как пособие такие фотографии не годятся. Замечания, советы, коммиты в репозиторий приветствуются: сам переделывать вряд ли буду, но может кому-то будет полезно.

Умная кухонная подсветка для Home Assistant
Доброго дня. Был у меня проект: подсветка на Arduino. rgbw лента, включалась по датчику движения и через определенное время переходила в режим смены цветов. Работало отлично, нареканий не было. Но захотелось больше свободы в управлении. К тому времени уже был настроен home assistant на raspberry pi. Было решено интегрировать подсветку в HA.

EspHome подходит для этих задач идеально. Нативная интеграция с HA. Обновление прошивки по воздуху. Редактор прямо из панели HA. Лучше не придумаешь. Останавливал только yaml. Я почему-то был уверен, что это язык только для конфигов. Однако, я сильно заблуждался.
Оказалось, yaml умеет и условия и циклы и переменные. Но в моем случае основа это датчик движения. Весь код лучше посмотреть тут.
binary_sensor:
— platform: gpio
pin: D0
name: «motion_kitchen»
device_class: motion
id: motion_kitchen
on_state:
then:
— if:
condition:
and:
— binary_sensor.is _on: «motion_kitchen»
— binary_sensor.is _off: «led_strip_off_allways»
then:
switch.turn_on: light_white_on
— if:
condition:
and:
— binary_sensor.is _off: «motion_kitchen»
— binary_sensor.is _off: bin_light_on
— binary_sensor.is _off: «led_strip_off_allways»
then:
— switch.turn_off: light_white_on
— switch.turn_off: super_light
— delay: 5 min
— if:
condition:
binary_sensor.is _off: «motion_kitchen»
then:
light.turn_off: kitchen_led_line
При обнаружении движения, проверяются бинарные сенсоры, по факту переключатели, которые описаны ниже и в зависимости от их положений лента включается или не включается ну или не выключается.
-delay: 5 min — Это продолжительность эффекта смены цветов.
А так описана сама лента:
light:
— platform: rgbw
id: kitchen_led_line
name: «kitchen_led_line»
red: red_led
green: green_led
blue: blue_led
white: white_led
effects:
— random:
name: Fade
transition_length: 10s
update_interval: 10s
output:
— id: white_led
platform: esp8266_pwm
pin: D1
inverted: true
max_power: 1
— id: blue_led
platform: esp8266_pwm
pin: D2
inverted: true
— id: red_led
platform: esp8266_pwm
pin: D4
inverted: true
transition_length: 10s — за какое время должен изменится цвет
update_interval: 10s — через какое время переключить на другой цвет
Таким образом получаем плавный эффект перехода от цвета к цвету без задержки на каком-либо. Продолжительность белого цвета регулируется самим датчиком движения. На нем есть механическая регулировка чувствительности и продолжительности.
Отдельно стоит коснуться включения белых диодов и цветных диодов в режиме белого цвета. Light white и Super light.
#Виртуальный выключатель, включает только белый свет.
— platform: template
name: «light white on»
id: light_white_on
optimistic: yes
turn_on_action:
— light.turn_on:
id: kitchen_led_line
brightness: 100%
color_brightness: 0%
effect: none
white: 100%
red: 0%
blue: 0%
green: 0%
turn_off_action:
— light.turn_on:
id: kitchen_led_line
brightness: 80%
effect: Fade
white: 0%
#Виртуальный выключатель, включает белый свет вместе с цветными диодами.
— platform: template
name: «super light»
id: super_light
optimistic: yes
turn_on_action:
— light.turn_on:
id: kitchen_led_line
color_mode: RGB_white
brightness: 100%
white: 100%
red: 100%
green: 75%
blue: 50%
turn_off_action:
— if:
condition:
binary_sensor.is _on: «motion_kitchen»
then:
— light.turn_on:
id: kitchen_led_line
brightness: 100%
color_brightness: 0%
effect: none
white: 100%
red: 0%
blue: 0%
green: 0%
В итоге в HA лента выглядит так:

Отмечу еще один момент. На шести метровую кухню хватило одного датчика движения, расположенного ближе к мойке, на границе первой трети от входа.
Кибердека или свой миникомп (во временном корпусе)




Адресная светодиодная лента — вопрос
Вопрос не праздный. Решился я изучить основы работы светодиодной ленты. Типа WS2812b.
Управление у нее имеет весьма высокоскоростной интерфейс аж на 800 кГц, однако это только так кажется. Для управления 1-10 или даже 20 светодиодами нам вполне хватает времени передать данные.
Точнее, для управления одним светодиодом нам надо передать 3 байта данных, а это суммарно 30 микросекунд.
А вот когда светодиодов уже доходит до сотни и больше и мало того, у нас динамическая индикация, то тут уже ресурсы управляющего устройства весьма затребованы.
Для управления последовательностью в 100 светодиодов нам потребуется 3000 мкс или 3 мс, что уже весьма много. В режиме реального времени, что бы сделать к примеру бегущую строку, максимальная скорость будет равна 330 Гц. Что пока терпимо, но уже осязаемо.
Возможно существует аппаратный интерфейс для передачи данных, но я об этом не знаю.
Передача одного бита у нас занимает 0.4+0.85 или 0.45+0.8 микросекунд.
Значится нам надо успеть поднять на выходе 0 или 1 за указанное время.
Изначально я хотел управлять небольшой лентой с помощью микроконтроллера pic12f629 и аналогичных. В нем заявлено максимально тактовая частота 20 МГц, время выполнения простой команды 200 нс.

Выходит что подать в ленту 0 или 1 я как бы успеваю, ибо 2 команды — это заявленные 0.4 мкс. А вот дробное значение типа 0.85 или 0.45 я никак не могу реализовать. С другой стороны протокол адресной ленты допускает разброс +-0.125 нс. Но я в него все равно не укладываюсь.

Итог. Микроконтроллер типа pic12 не может выставить нужные сигналы на выходе за указанное время. Даже если бы протокол управления лентой был более лояльным, то максимум что можно было бы добиться от контроллера — передача потока данных, записанных в ПЗУ, а хочется в перспективе большего. И не просто загрузить контроллер передачей данных, что что бы он при этом еще и свю какую то полезную работу выполнял.
Я понимаю, что вариант не морочить голову, взять адруино или типа того было бы очевидным, но стрелять из пушки по воробьям как то не хочется.
Есть варианты управления адресной светодиодной лентой кроме адруино ? Может где внятное описание с примером программ на ассемблере есть ?
Или все же обратить взор на AVR ?
Возможно в расчётах есть неточности, на ходу все писал.
Адресная гирлянда из старой на Arduino Nano
В наличии имелась лента WS2812B, решил сделать гирлянду т.к. новогодние украшательства с прошлого года поднадоели(китайская гирлянда, моргающая как у всех), для этого — разрезал её на отдельные светодиоды:

Далее, подготовил провода (были в наличии НГ-LS 4*0.22) длинной 9см. Зачистил и залудил:

Началось самое монотонное, однообразное, муторное, долгое и требующее внимательности действие — пайка проводов и светодиодов по определённому алгоритму: начинаем паять от стрелки на светодиоде(чёрный треугольник показывает направление передачи информации по управляющему проводу)последовательно и так 50 раз, т.к. я буду делать гирлянду из 50 светодиодов:

Самое главное — не перепутать направление и случайно не перекрестить провода. Чёрный цвет проводов взял не случайно — он менее всех бросается в глаза да и почти все заводские гирлянды делают с применением чёрного провода.
Следующим этапом я начал подготавливать шары — рассеиватели от старой гирлянды, а именно — срезать резьбу и расширять отверстие для будущих светодиодов:

Приклеивал их к светодиодам(ну или светодиоды к ним) с помощью клея Т-7000 чёрного. Крепко склеивает и в добавок, создаёт «резиновое» диэлектрическое покрытие, т.к. я, до кучи, промазал и пятачки пайки:

Для полного высыхания потребовалось 24 часа, и в результате получилась вот такая «лапша» с 50-тю светодиодами общей длинной 510см(без провода питания).
Синяя пленка на оборотной стороне это защита клейкого слоя светодиода — я её оставил как возможность приклеить светодиоды там, где их невозможно будет повесить(хоть и не воспользовался этим способом)). И нет — светодиоды не греются.

Следующим шагом я занялся блоком управления на основе Arduino Nano — такая простая задача не требовала старшего брата в лице Уно или Мега.
Коробочка размером 5*3*2 была в наличии и почти идеально подходила под размер Нано — пришлось чуть отрезать плату в районе SPI т.к. он не используется в нашем случае.
Вывел разъём для подключения внешнего питания на основе микроUSB и высверлил отверстие для штатного разъёма миниUSB ардуины. Оставил от схемы(которая будет ниже) всего одну кнопу переключения режима(эффекта), т.к. мне регулировать яркость и скорость не понадобилось, но вам ничего не мешает сделать все 3 кнопки:



Разъём для подключения самой гирлянды я взял от адресной матрицы 16*16, но вы можете использовать любой,удобный вам, разъём на 3 пина.
Первый запуск и видим что потребление на 100-ом уровне яркости(из 255) составляет всего 310 мА, что очень хорошо и можно использовать обычное ЗУ от смартфона на 2000 мА (в прошивке есть защита, можно изменить под ваш конкретный БП):

А вот так выглядит уже на постоянном месте жительства вся гирлянда( при установке, поворачивал синей частью на стенку а шариком на зрителя — смотрится нормально):

Схема подключения и скетч прикрепил ниже:


Подсветка Ambilight своими руками Arduino Adalight
Хотел подсветку для пк стола, а под рукой оказалось много интересных штук, и после экспериментов, остановился на таком варианте.
Если коротко, то:
Адресная лента
Ардуино контроллер
Скетч
Софт для пк
USB кабель.

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

Продолжение поста «Мертвое нельзя сделать живым. или можно?»

Итак, незаметно пролетело 2 года неспешного поиска запчастей и устранения неисправностей, коих накопилось предостаточно за 42 года жизни этого автомобиля. Настало время собирать салон. И вот что из этого получилось:


Для оценки масштаба проделанной работ прикладываю фото «до»


Ну и фото снаружи


Делаем зеркало бесконечности внутри журнального столика Lack
Мы переделали икеевский столик в зеркальный со световым туннелем. Благодаря «шпионскому» зеркалу столик обладает иллюзией бесконечности 🕵️♀️ Управляется стол через WiFi при помощи микроконтроллера ESP-01
Принцип работы зеркального туннеля заключается в переотражении света между зеркалами, направленными «лицом» друг к другу. При этом важно чтобы верхнее зеркало было прозрачным, так внешний наблюдатель сможет видеть «бесконечное» переотражение создающее световой туннель.
Информация изложена в двух видеороликах.
1️⃣В первом ролике на основном канале мы рассказываем о том как правильно выбрать зеркала и светодиодную ленту, как собрать стол и спаять электронную схему.
Второй ролик исключительно технический с занудными подробностями – залит на второй канал с занудными подробностями. В нем мы рассказали о прошивке микроконтроллера ESP-01 и о двух бесплатных программах WLED и LED FX:
⭐WLED открывает широкие возможности управления лентой. С ее помощью можно задавать эффекты свечения и цветовые схемы, переключать режимы в зависимости от времени или дня недели. Ленту можно разделить на сегменты и отдельно управлять каждым.
⭐LED FX помогает превратить стол из светового в светомузыкальный.
Проект задумывался общедоступным, со всеми схемами и чертежами, поэтому за основу взяли распространенный столик Ikea Lack. Но с тех пор как мы приступили к работе произошло много событий – икеи с нами больше нет – точные размеры и чертежи теряют смысл. Адаптируйте под то что будет у вас в наличии.
Для столешницы нужно прозрачное зеркало. Такое зеркало изготавливают с применением титанового напыления, найти в продаже его сложно, поэтому используем зеркальную пленку. Клеить будем на закаленное стекло. В процессе необходимо распылять мыльную воду на пленку и выгонять пузыри воздуха из под пленки при помощи водосгона.


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

Светодиодная лента может перегреться внутри столешницы. Чтобы такого не произошло – необходим алюминиевый профиль рассеивающий тепло. К профилю клеится LED-лента.


Профили вместе со светодиодной лентой приклеиваются к столешнице.

Схему мы паяли на макетной плате.


Убедимся что электроника работает как нужно.

Теперь вставляем зеркало.

Внутрь столешницы мы приклеили кристаллы дополнительно рассеивающие свет.

Рендер готового столика.

При полной яркости светодиодов фотографии получались пересвеченными, поэтому на фото светодиоды горят тускло. В реальности стол выглядит эффектнее.

Фото с добавлением боке.

Перечень компонентов
— esp-01 (можно заменить на ESP8266)
— блок питания 5вольт, 40ватт (я использовал Mean Well LPV-60-5. Благодаря малым габаритам -можно установить его внутрь столешницы)
— конвертер уровней 5в — 3,3в
— понижающий преобразователь напряжения 5в — 3,3в
— светодиодная лента WS2812B, класс защиты IP65 — 1,8 метра
— конденсатор 6,3в 1000мкф
— конденсатор 6,3в 470мкф
— резистор 100ом (точность и мощность любая)
— быстросъёмные разъемы для подсоединения ленты (желательно заменить на пайку, особенно если питаете большее число светодиодов)
— макетная плата 2х8см
— кабельный ввод для сетевого шнура PG7 (размер зависит от вашего шнура)
— сетевой шнур с вилкой
— провод сечением 0,75мм², меньшее сечение не желательно, большее можно. Чем больше — сечение провода, тем меньше просадка напряжения в нём.
Детали и материалы для сборки стола:
— профиль алюминиевый 40х20мм — 2 метра
— зеркало с титановым напылением (оно же зеркало Гезелла, оно же зеркало шпион) толщиной 6 или 8мм, с еврокромкой. Еврокромкой называют способ обработки граней стекла. Если шпионское зеркало достать сложно, то заменяем его на простое закалённое стекло. При желании закажите тонировку стекла. Подробности смотрите в PDF файле
— зеркальная плёнка самоклеящаяся (только если не нашли зеркало с титановым напылением)
— зеркало обычное, толщиной 4мм, со шлифовкой кромки
— искусственные кристаллы (по желанию)
— клей (прозрачный – для фиксации кристаллов)
— скотч двусторонний (прозрачный, тонкий)
Если вы хотите читать об анонсах новых проектов – подписывайтесь на telegram
Бюджетная и красивая подсветка рабочего компьютерного стола
Всех приветствую, как и обещал, хочу поделиться с вами своей идеей подсветки для стола. Реализовано всё на Arduino и светодиодной ленте WS2812. Решение, кстати, получилось очень бюджетное: ардуино и лента обошлись мне всего в 600 рублей.
В интернете уже существуют подобные решения, но всегда же хорошо, когда есть альтернатива. Для тех, кому интересней слушать и тех, кто хочет коротко и по делу есть видео:
А для тех, кому больше нравится читать, продолжим
Было две цели: сделать всё максимально просто, чтобы каждый мог повторить это дело и сделать всё максимально удобно. Поэтому я выбрал плату Ардуино, которая на слуху у многих, которую легко купить, и светодиодную ленту WS2812. Изначально хотел сделать пульт управления с физическими кнопками, но затем решил, что мне будет гораздо проще управлять светом со своего компьютера, кликая мышкой.
Было решено написать приложение и тут меня ждала самая большая проблема: я совершенно не шарил в дизайне и все попытки нарисовать интерфейс сводились к тому, что он выглядел как на заре появления компьютеров. Совершенно неуместная цветовая гамма и пёстрые контрастные кнопки. Но затем через тернии и провода я набросал два, на мой взгляд, классных интерфейса, вот они:


Скажу, честно, первый я немного скопипастил у другой программы (левое меню) и нравился он мне больше, чем тот, что снизу. Но и тут меня ждала проблема: в первом интерфейсе все функции приложения были разбросаны по разным вкладкам, что создавало запутанность, а во втором варианте почти все главные функции находятся на одном окне. Было решено взять второй вариант за основу, но основательно переработать его, т.к. мне что-то не нравилось.
Сразу поделюсь конечной реализацией, чтобы на контрасте вы оценили изменения и высказали своё мнение, если захотите:

Ещё немного расскажу про возможности приложения и мы перейдем к моменту, где я расскажу, как всё это сделать.
Подсветка имеет 7 режимов, каждый из которых имеет свой подрежим (итого 20 полноценных модов) Начиная от статичного цвета по всей ленте, заканчивая цветомузыкой, которая изменяет цвет и пульсирует в такт воспроизводимому на компьютере аудио. Сейчас данный режим временно недоступен, но когда-нибудь руки дойдут и до него.
Помимо разных режимов есть возможность изменять яркость и скорость динамических эффектов, а так же сохранять все эти конфигурации в профили, чтобы затем в один клик активировать необходимую конфигурацию. Есть возможность автовключения подсветки при подаче питания на модуль (например, есть подсветка будет использоваться где-то помимо компьютера) и автовключения при старте Windows и автовыключения при завершении работы.
Можно подключать несколько устройств по беспроводному соединению и управлять ими с одного приложения. Данная функция условно рабочая, но там много нюансов, о которых можно запилить отдельный пост, что я обязательно сделаю. Изначально я сделал несколько тем для приложения (тема Аниме, Dota 2 и т.д.), но впоследствии осталось всего две: темная и светлая из-за нарушения авторских прав на рисунки. Сам я что-то нарисовать вряд ли смогу, для меня было адским трудом нарисовать эти интерфейсы, чего уж говорить о тематических.
Ну а теперь о подключении:
Нам понадобится Ардуина любой версии (хотя изначально приложение писалось под Arduino Nano) и лента WS2812. Подключаем их по максимально простой схеме:

Gnd к Gnd, 5 вольт к 5 вольтам, Din к 7 цифровому порту ардуино (Din — порт по которому передаются данные). Никаких дополнительных источников питания и конденсаторов не понадобится, но впоследствии мы получаем ограничение по току, которое позволяет нам использовать ленту с количеством светодиодов не больше 30. Я решил максимально упростить схему, да и для стола шириной 150 см мне хватило этого вполне. Ну а те, кто разбирается в теме, без труда подключат ленту и большей длины.
2/3 эффектов я написал самостоятельно и чтобы они выглядели так, как задумывается, ленту необходимо крепить на задний торец столешницы, направив светодиоды на стену, на расстоянии приблизительно 7-15 см от стены.
Теперь о программе:
Переходим по ссылке и скачиваем .exe файл нажав на кнопочку Download: https://github.com/psibia/Sibia_Lights/blob/main/Sibia Lights.exe
Вероятнее всего, винда уведомит о том, что приложение небезопасно, но это из-за того, что для сборки я использовал Inno Setup и никакой цифровой подписи у меня там нет. Если вдруг за что-то переживаете, то вирусов там никаких нет, интернет приложение не использует, да и в системные папки доступа не имеет.
В программе установки всё интуитивно понятно, по её завершению будет предложено установить драйвер CH340. Запустится приложение, в котором вам нужно нажать Install. Драйвер необходим для китайских ардуинок. Если возникнут проблемы с установкой, его легко можно найти в интернете по соответствующему запросу.

Если вы используете версию ардуино отличную от Nano, сделайте следующее действие: перейдите в папку с расположением программы (можно нажать ПКМ по ярлыку и выбрать пункт), найдите файл config.json, откройте его в любом текстовом редакторе и измените параметр, который находится в самом конце «arduinoModel» в соответствии со следующим скриншотом:

Затем сохраните документ и закройте его. Если вы используете Arduino Nano,то данные действия не требуются. Объясняю, почему так сложно: изначально приложение писалось для ограниченного круга лиц и использование подразумевало только эту версию Ардуинки, в дальнейшем же я решил опубликовать его здесь и вот таким костылем расширил версии микроконтроллеров.
Теперь действие общее для всех:
открываем приложение, переходим в настройки (шестеренка справа сверху)

У нас откроется меню настроек, переходим во вкладку «Подключение», выбираем USB-порт (COM-порт), куда подключена ардуина, если их несколько. Если он один, то выбор порта произойдет автоматически и нажимаем «Обновить модуль»

Если выбрана верная версия ардуины и верный USB-порт, то обновление пройдет успешно и прошивка загрузится в микроконтроллер. Никаких arduino IDE скачивать не придется. Если у вас несколько доступных портов в списке, поставьте флажок «Запомнить выбранный порт»
Поздравляю, теперь вы можете полноценно использовать данное приложение!
Приложение написано на языке C#, доступно только для платформ Windows
Всем спасибо за внимание!
Следующий проект скорее всего будет через месяц и это будет мессенджер, использующий ардуино и Lo-Ra передатчики (работающий без интернета и позволяющий вести переписку)
Как подключить адресную светодиодную ленту без Arduino.

, поэтому люди, естественно, хотят знать, как они работают.
Поскольку растущий ассортимент адресных светодиодных лент становится все более популярным в индустрии развлечений и архитектурного освещения, мы подумали, что сейчас самое время задать некоторые из ваших наиболее распространенных вопросов нашей команде по исследованиям и разработкам и найти ответы на некоторые вопросы экспертов, чтобы помочь вам утолить жажду информации (особенно если вы только начинаете свои приключения по управлению освещением, в таком случае, добро пожаловать на борт!).
Что такое адресная светодиодная лента?
Адресная светодиодная лента – это гибкая печатная плата, которая заполнена разноцветными адресуемыми поверхностными (SMD) светодиодами. Гибкая печатная плата обычно имеет клейкую подложку, что облегчает быструю и простую установку.
В отличие от стандартной ленты RGB, каждый светодиод имеет свою собственную микросхему, которая позволяет управлять им для индивидуальной реакции (например, изменение цвета, выключение и т. Д.). Пиксельная лента все еще может делать все, что может делать стандартная лента RGB… только больше.
Адресуемый светодиод
Это RGB-светодиод, только с интегрированным контроллером WS2801 непосредственно на кристалле. Корпус светодиода выполнен в виде SMD компонента для поверхностного монтажа. Такой подход позволяет расположить светодиоды максимально близко друг другу, делая свечение более детализированным.
В интернет-магазинах можно встретить адресные светодиодные ленты, когда в одном метре умещается до 144 штук.

Стоит учесть, что один светодиод потребляет при полной яркости всего 60-70 мА, при подключении ленты, например, на 90 светодиодов, потребуется мощный блок питания с током не менее 5 ампер. Ни в коем случае не питайте светодиодную ленту через контроллер, иначе он перегреется и сгорит от нагрузки. Используйте внешние источники питания.

Адресная светодиодная лента WS2801.
Серия чипов WS первой будет WS2801. Это интересный в своем роде драйвер-микросхема для RBGW-светодиодов с поддержкой последовательного интерфейса SPI.
С применением отдельного контроллера нет необходимости занимать несколько выходов микроконтроллера, можно ограничиться лишь одним сигнальным выводом. Микроконтроллер подает сигнал на вход «Data» управляющего контроллера светодиода WS2801.
В таком сигнале содержится 24-битная информация о яркости цвета (3 канала по 8 бит на каждый цвет), а также информация для внутреннего сдвигового регистра. Именно сдвиговый регистр позволяет определять, к какому светодиоду информация применяется. Таким образом можно соединять несколько светодиодов последовательно, при этом использовать все так же один вывод микроконтроллера.
У WS2801 было 4 контакта: +5v, GND (минус), DI (Digital input) и CO (тактовая линия). Таких лент сегодня практически уже не найти, на их место пришли WS2811 и WS2812B, более компактные модели с последовательным однолинейным интерфейсом. Теперь за данные отвечает только один контакт, обычно обозначаемый как DI (digital input) и с другой стороны DO (digital output).
Провода и разъемы
Цифровая лента на конце имеет минимум не два, а три провода.

Два из них — это обычное питание, а третий отвечает за направление сигнала. К проводам на концах уже готового к использованию изделия припаяны специальные разъемы:
DI (Digital Input) или цифровой вход в начале ленты

DO (Digital Output) цифровой выход

При наличии таких разъемов подключить ленту неправильной стороной у вас не получится. Второй конец DO требуется при наращивании длины световой конструкции.

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

В этом случае попробуйте их скрутить косичкой. В некоторых ситуациях помогает.
Адресная светодиодная лента WS2811 и WS2812.
Основные отличия адресной светодиодной ленты ws2811 от ws2812b:
- Драйвер WS 2811 гораздо больше чем его потомок WS 2812b, поэтому он припаян прямо на подложку ленты перед каждым диодом (черный прямоугольник на фото выше).
- У 2812B чип установлен внутрь диода (темная точка в диоде на фото ниже).
- Адресная светодиодная лента WS 2811, в основном, рассчитана на напряжение 12 вольт.
- Если Адресная светодиодная лента WS 2811 на 12v, у нее один чип управляет группой из трех диодов одновременно, а не по одному (как в WS2812b).
- Адресная светодиодная лента WS 2811 на напряжение 12v гораздо дешевле, чем ws 2812b (разница в цене 30 %)
- Благодаря низкой цене на Адресную светодиодную ленту WS 2811 – напряжением 12v наиболее распространена. Тем не менее, ее сменила более совершенная модель WS 2812В. Все же в один SMD корпус интегрированны как драйвер, так и сами светодиоды. Кроме того, каждый диод управляется отдельно.
Новогодняя гирлянда на ws2812b
Идею этой новогодней гирлянды я нашел в интернете, на одном известном сайте. Там же, вы так же можете скачать все драйвера и файлы предназначенные для программирования Arduino Nano V 3.0, и инструкцию для программирования. Ленту я заказал с доставкой по России, это удобно и приходит она быстрее, но так же ее можно заказать и на китайских сайтах. Эта адресная гирлянда специальная, она предназначена для гирлянд и праздничных занавесок.

Ссылки для заказа находятся в конце статьи.
Адресная гирлянда ws2812b 50 led – это 50 адресных светодиодов с чипом ws2812b, припаянных к проводу длиной 6 метров. По сравнению с адресной лентой обладает большей гибкостью, позволяющей сделать такие проекты как гирлянда на елку или, например на окно. Следует учитывать, что ее яркость не сравнится в обычной адресной лентой из-за низкой плотности расположения диодов (в среднем – 8,3 диода на метр).

Мощность гирлянды 2.5 ватта на метр. Длина 6 метров, отсюда следует, что мощность всей ленты по закону ома будет – 2.5 умножаем на 6 равно 15 ватт. Напряжение ленты 5 вольт. 15 / 5 = 3, то есть ток потребляемый лентой 3 ампера.

Поэтому берем блок питания на 3 ампера. Меньше не желательно, долго не прослужит. Можно и мощнее взять блок питания, но это цена вопроса, стоит он в три раза дороже, если хотите переплачивать, то пожалуйста. Я взял простой блок питания 5 вольт 3 ампера 15 ватт. Он вполне справляется со своей задачей и стоит не дорого.
Практические способы включения адресной светодиодной ленты, правила подключения, частые ошибки.
- Подключайте к адресной светодиодной ленте (между линиями питания) конденсатор, вплоть до 1000 мкФ
- В разрыв линии данных (от Контроллера к адресной светодиодной ленте) добавляйте резистор 300 — 500 Ом, устанавливая его ближе к ленте.
- Кабельная линия данных от контроллера до адресной светодиодной ленты, требуется делать как можно коротким.
- При подключении адресной светодиодной ленты, подключайте «землю» первой (отключайте последней).
- Не допускайте разрядов статического электричества при монтаже адресной светодиодной ленты.
- Используйте преобразователь уровня, если адресная светодиодная лента и устройство управления подключены от источников питания с разным напряжением.
- Максимальный ток каждого пикселя составляет 60мА (при полной яркости белого цвета). Если Вы не планируете использовать ленту WS2812B как источник света (для этого лучше взять обычную светодиодную ленту с белыми светодиодами), принято считать, что, усреднено, каждый пиксель потребляет 20мА.
минимальный ток Драйвера = 20мА*количество_пикселей. максимальный ток Драйвера = 60мА*количество_пикселей
- Из последнего пункта вытекает следующее: если лента соединена последовательно более 5 м., то недопустимо подавать на нее питание только с одной стороны. Для того чтобы исключить перегревания токопроводящих дорожек ленты. Напряжение на адресной светодиодной ленте необходимо распределить по всей ее длине как можно равномернее. Подводите питание в нескольких местах отдельными кабельными линиями.
Подключение более 5 метров.
Если вам нужно подключить более 5м умной ленты, то для ее равномерного свечения нельзя просто наращивать подсвету последовательно. Речь здесь идет в первую очередь про питание!

Когда количество пикселей на контроллере позволяет подключить большую длину, вы без проблем стыкуете коннекторы DI и DO между собой. Но вот питание (5В или 12В), все равно придется тянуть отдельно (параллельно).

Есть контроллеры с дополнительными проводами под “лишнее” питание на такой случай.
Нельзя подключать несколько кусков ленты последовательно и при этом подавать на них изначально большее напряжение.
Например, взять три куска ws2812b (5м+5м+5м) и подать на них в самом начале ленты 15 вольт, рассчитывая при этом на последовательное падение напряжения.

В этом случае придется ставить на каждый отрезок по своему контроллеру, да еще каким-то образом гарантировать одинаковое потребление отрезков.
Лента вместо белого светится с оттенком желтоватого или красного цвета.
Скорее всего дело здесь в неправильно подобранном сечение проводов. Всегда берите минимум 1,5мм2.
Недостаток цвета – это первый признак просадки напряжения. Уход в красноту объясняется тем, что для синего и зеленого цветов на чипе 2812b требуется порядка 3,5В, а вот для красного достаточно и 2В.

Поэтому, когда напряжение на светодиодах падает, выключаются зеленые и синие кристаллы, а красный горит до последнего.
Варианты управления адресной светодиодной лентой.
Есть несколько способов управлять адресной светодиодной лентой:
- Аппаратный при помощи контроллера SPI
На эту тему вы можете почитать нашу специальную статью. В этой статье мы максимально подробно описали принципы управления по протоколу SPI.
SPI контроллер и SPI RGB лента
- Аппаратный при помощи UART-интерфейса
На эту тему вы можете почитать нашу специальную статью. В этой статье мы максимально подробно описали принципы управления с помощью UART.
- Программный
Достоинство первых двух способов – это возможность освободить драйвер от части работы по передаче бит информации о цвете пикселю. Недостатки этих способов – во-первых, ограниченное количество линий управления пикселями, во-вторых, требуется дополнительное разбитие байтов информации о цвете на пачки битов (что частично съедает свободное время контроллера в моменты аппаратной передаче бит).
Что нужно еще сделать
Смотрите. Лента пришла в бабине, и при подключении ее к блоку питания, блок питания уходил в защиту, скорее всего это из за того, что контакты замыкали между собой и было замыкание. Так как лента открытая без изоляции. Как только раскрутил ленту, все стало нормально, поэтому обратите внимание, если блок будет уходить в защиту, то снимите ее с бабины и все будет нормально.

Если все сделали правильно, то все будет работать отлично.

Что бы сделать свет более рассеиваемым, я купил прозрачную термоусадочную трубку. Нарезал ее отрезками по 2 см и обжал кусочками каждый светодиод. Так свет стал более мягким и рассеиваемым. И к тому же можно так смело можно закатывать ленту в бабину и подключать, не боясь замыкания контактов.

Так же в этих схемах можно использовать блоки питания на 12 вольт, но подключать их через преобразователь напряжения на 5 вольт. Или использовать ленты других типов, но там нужно смотреть настройки, так как в них отличается схема работы светодиодов. И корректировки нужно вносить в прошивку. Приятных вам праздников и хорошего нового года!
Так же я подключил Arduino Nano V 3.0 с такой же прошивкой к другой адресной ленте, которую использовал в проекте цветомузыка. И получился довольно таки неплохой эффект. И из него можно тоже что то сделать. Я например приклеил ее к столу и сделал подсветку стола, смотрится так же довольно не плохо. Об этом посмотрите в видео на youtube внизу статьи.

Адресная светодиодная лента DMX 512.
Особенность адресных светодиодных лент, использующих управление DMX 512 – параллельная подача сигнала управления на все модули, цифровой сигнал с выхода контроллера подается одновременно на все драйверы.
DMX ленты, производятся с записанными при производстве DMX адресами. По умолчанию, адресация пикселей каждой катушки ленты начинается с 1-го драйвера и 1-го адреса и нумеруется по порядку до последнего пикселя. Если в последствии в одну линию соединяется несколько катушек или отрезков, требуется произвести запись DMX адресов заново.
При записи адресов используется DMX кабель, обозначенный ADR (ADI, ADIN). После выполнения записи, при воспроизведении световых программ, вход ADI драйверов не используется. Если Ваш контроллер не имеет встроенного редактора адресов и не имеет выхода для подключения провода ADI, этот провод должен быть соединен с общим проводом GND, что предотвратит воздействие на него внешних помех и наводок.
Стоит сказать, что адресных светодиодных лент DMX 512 – Драйвер WS2821, гораздо больше преимуществ перед SPI.
- Длинна линии управления до 300 м. против 100 м. у SPI.
- При выходе из строя диода или группы диодов линия освещения продолжает работать.
Но есть и недостатки.
- Требует Большое количество DMX адресов – отсюда высокая стоимость оборудования для управления этой системой.
Принцип работы
В простой RGB-ленте обычно устанавливаются RGB-светодиоды типа 5050, которые состоят фактически из трёх кристаллов (красного, зелёного и синего) расположенных в одном корпусе.
В адресной ленте также используются светодиоды в корпусе 5050, но отличающимся тем, что у них 4, а не 6 выводов. В самом же корпусе расположены светоизлучающие кристаллы и микрочип, управляющий их свечением, на иллюстрации на него указывает красная стрелка.
По питанию все светодиоды в ленте соединены параллельно, а линии управления соединяются последовательно. Распиновка адресной ленты следующая: контакты +5V и GND отвечают за питание, контакт DO – выход управляющего сигнала, а DI – вход.
Система управления, или просто контроллер, подаёт цифровые сигналы, каждый из которых содержит команду с данными о яркости каждого из цветов (красного, синего и зеленого), таким образом формируется нужны тон и яркость свечения. Подобно поезду, данные передаются через каждый из сегментов ленты от предыдущего к следующему, то есть последовательно.
Наиболее распространены две модели с разными контроллерами, это ws2812b и ws2811. Главное их отличие в том, что изделия с чипами ws2811 питаются от 12 Вольт, а сам чип находится не внутри светодиода, а отдельно и управляет сегментом из трёх светодиодов. Так в моделях с ws2811 возможно управление не каждым светодиодом, а каждым сегментом из 3 светодиодов сразу, что несколько ограничивает применение.

Принцип управления не слишком сложный:
- Сигнал управления посылается на ленту небольшими «пачками» цифровых импульсов длиной в 24 бита. Контроллер принимает этот сигнал и выдаёт на светодиоды определенное напряжение для получения нужного цвета.
- Напомню, что в случае с WS2812b контроллер встроен в светодиод и управляющий сигнал управляет каждым светодиодом отдельно, а в случае с WS2811 контроллер общий для сегмента из трёх светодиодов. То есть возможно задать параметры свечения для каждого отдельного сегмента.
- При этом первый контроллер принимает первую пачку из 24-бит, вторая 24-битная команда принимается вторым чипом и так далее. Каждая последующая 24-битная команда посылается на каждый следующий контроллер, нумерация пачек при этом совпадает с нумерацией контроллеров.
- Таким образом, управляют индивидуально каждым контроллером. Если один из блоков неисправен, например, второй, то горит только первый светодиод. Остальные светиться не будут, так как не будет проходить управляющий сигнал.
При создании уникальных эффектов используют не готовые контроллеры, а различные микроконтроллеры. К тому же в сети много проектов под управлением Arduino (микроконтроллеры семейства AVR). Схема подключения к ней элементарна, на примере с контроллерами WS2812b изображена ниже.

Но желательно подавать сигал управления через резистор номиналом в 200-400 Ом, для защиты пина Ардуино.
Устройство представляет программируемый микроконтроллер семейства AVR, с уже разведенной платой, питанием и схемой для программирования через USB. С помощью записи в него различных программ можно получить не ограниченное количество цветовых сочетаний и чередований. Что позволяет создать неограниченное количество вариантов для подсветки. Широкое распространение ограничивается относительно высокой стоимостью в отличие от обычных диодов.
Как рассчитать количество адресов для ленты DMX 512
• 1 пиксель = 3 канала DMX (RGBW) • 1 пиксель = 4 канала DMX (RGBW)
Имея разную плотность светодиодов на ленте и разную длину, вы можете умножить все это вместе и получить различные результаты.
Например:
• (8PL30) 30 светодиодов RGB / м ленты x 5 метровой катушки = 150 пикселей (150 пикселей х 3) = 450 каналов • (8PL60) 60 светодиодов RGB / м ленты x 5 метровой бобины = 300 пикселей (300 пикселей х 3) = 900 каналов • (8PL144) 144 светодиода RGB / м ленты x 2 метра = 288 пикселей (288 пикселей x 3) = 864 канала • (8PX30) 30 светодиодов RGBW / м ленты 5 м = 150 пикселей (150 пикселей x 4) ) = 600 каналов • (8PX60) 60 светодиодов RGBW / м лента x 4-метровая катушка = 240 пикселей (240 пикселей x 4) = 960 каналов
Удобно запомнить:
• 170 пикселей RGB = 510 каналов DMX = 1 вселенная DMX • 128 пикселей RGBW = 512 каналов DMX = 1 вселенная DMX
STM Урок 119. WS2812B. Лента на умных светодиодах RGB. Часть 1
На данном занятии мы попробуем поработать со светодиодами RGB, в которые встроен чип для управления их свечением.
Таким светодиодом является WS2712B от компании WORLDSEMI.
Чтобы понять, что из себя представляет данный светодиод, посмотрим его предшественника — WS2811. Это была просто микросхема, к которой подключался RGB-светодиод. Делалось это, например, вот таким образом

Это светодиодная гирлянда, в каждом фонарике которой находится RGB-светодиод, подключенный к микросхеме WS2811, расположенной на небольшой плате.
Давайте посмотрим назначение выводов микросхемы WS2811
Кроме ножки питания и общего провода мы видим здесь контакты для подключения ножек RGB-светодиода раздельно для каждого цвета, а также ножку цифрового входа DIN и ножку цифрового выхода DO. Также есть ещё одна ножка SET, которая требуется для включения режима пониженной скорости.
Поэтому к соответствующим ножкам мы подключаем питание, светодиод и передаём определённым образом цифровой сигнал на ножку DIN, чтобы наш светодиод засветился определённым цветом. Затем, если мы выдержим определённое время, светодиод засветится этим цветом. Но если мы не выдержим данного времени и начнём передавать следующий цифровой код, то данный код переместится через ножку цифрового выхода DO к следующей такой же микросхеме, если таковая имеется. Следующую микросхему мы подсоединяем к данной ножке нашей микросхеме ножкой DIN. И таким образом мы выстраиваем цепочку из таких микросхем с подключенными к ним светодиодами (нажмите на картинку для увеличения изображения)

Аналогичным образом устроен и наш светодиод, рассматриваемый в данном занятии, — WS2712B. Только в нём уже светящийся элемент сразу подсоединён к чипу. Наружу выведены ножки питания, общей шины, а также цифровой вход и выход
Вот назначение его ножек вместе с размерами
Ко мне в руки чудесным образом попала вот такая ленточка, выполненная на данных умных светодиодах (нажмите на картинку для увеличения изображения)

Подобных лент существует огромное множество. Они различаются по цвету, плотности светодиодов (количеству светодиодов на 1 метре ленты), а также по степени защиты. Данная лента чёрного цвета, плотность — 144 светодиода на метр, а защита — самая малая. Обычная бумажная лента с посаженными на неё и соединёнными светодиодами. Я брал именно такую в целях экспериментов и не планировал её использование в местах, не защищённых от атмосферных воздействий. К тому же за защиту надо платить и с более высокой степенью защиты ленты стоят дороже. Длина моей ленты всего 1 метр, поэтому, соответственно, и светодиодов на ней всего 144. Вот с этими 144 светодиодами мы и будем работать.
Также мы видим, что из обоих концов данной ленты выведены по 5 проводов

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

Кроме светодиодных лент на светодиодах WS2812B существуют также матрицы. Они бывают разной размерности — 8х8, 32х32 и т.д. Также можно приобрести такие светодиоды по отдельности. Это требуется обычно либо для сборки каких-то своих схем, либо для того, чтобы заменить светодиод, вышедший из строя. Определить такой светодиод не сложно, так как все исправные светодиоды, расположенные по ленте либо матрице до него, будут исправно работать, а данный светодиод светиться не будет и также не будут светиться светодиоды, расположенные после него.
Теперь давайте поговорим о том, каким же образом передаётся сигнал, управляющий нашими умными светодиодами, как он устроен, какой у него, как говорится, протокол.
А протокол у данного управляющего сигнала, оказывается не такой уж и сложный.
Сначала мы передаём 24 бита цветов, предназначенных для самого первого светодиода. Биты передаются в следующей последовательности: сначала зелёный, потом красный, потом синий
Как-то непривычно (не R+G+B), но ничего страшного, справимся.
Теперь посмотрим, как передаётся каждый бит. Под каждый бит отводится определённое время — 1,25 микросекунды.
Если мы передаём ноль, то сначала мы устанавливаем высокий уровень сигнала, держим его в таком состоянии 0,35 микросекунды (допускается отклонение 150 наносекунд или 0,15 микросекунды). По прошествии данного времени мы устанавливаем на ножке низкий уровень и держим его до передачи следующего бита 0,9 микросекунды (допускается такое же отклонение — 150 наносекунд)
Единица передаётся наоборот. Мы также устанавливаем высокий уровень, ждём 0,9 микросекунды (отклонение то же), затем опускаем уровень, ждём 0,35 микросекунды (отклонение такое же — 150 наносекунд)
Таким образом, если мы передали этим способом 24 бита и на этом не остановились и начали передавать ещё 24 бита, то первые 24 бита переместятся к следующему светодиоду, а новые 24 бита будут загружаться в буфер первого. И так будет до тех пор, пока мы после передачи последних 24 бит не подождём определённое время. А определённое время это — 50 микросекунд и более. Вот тогда уже принятые 24 бита первый светодиод никому не передаст и все светодиоды засветятся тем цветом, который они приняли последний. И если мы начнём что-то передавать дальше — то это будет уже порция для следующей фазы свечения светодиодов.
И, так как время передачи одного бита у нас постоянное, то несложно посчитать скорость передачи данных. Она получится равной 800 килобит в секунду. Также несложно подсчитать, что для передачи 24 бит, необходимых и достаточных для информации, требуемой для одного светодиода, потребуется 30 микросекунд. Соответственно, для всех 144 светодиодов потребуется 4,32 милисекунд. Вполне неплохая скорость.
Теперь немного об электрических параметрах данных светодиодов.
Питается светодиод от 3,5 до 5,3 вольт.
Потребление тока при полном свечении светодиода белым светом (все 24 бита в единицах) мы также можем посчитать. При данном цвете заявлена потребляющая мощность — 0,3 ватта. Поэтому, если мы будем питать ленту напряжением 5 вольт, то это будет 60 милиампер. А если мы зажжём все наши 144 светодиода полностью белым цветом на всю яркость (единицы во всех битах во всех светодиодах), то мы получим потребление тока всей нашей лентой целых 8,64 ампера. Чтобы нам не получить такой огромный ток, то мы не будем наши светодиоды никогда зажигать таким полным светом, а будем зажигать их определёнными цветами, и то не более половины их свечения, поэтому мы вполне обойдёмся 3-амперным DC-DC преобразователем который мы подключим к силовым проводам ленты

Силовые провода ленты со стороны выхода лучше заглушить термоусадкой во избежание замыкания вследствие неосторожного обращения.
То есть, мы будем стараться, чтобы при нашем тестировании светодиоды горели максимум в 1/6 часть максимального их свечения. Например, чтобы светодиод засветился зелёным цветом, то мы интенсивность RGB зададим как 0,128,0. А если нам надо включить оранжевый цвет, а это одновременно и красный и жёлтый, то мы уже включим 64,0,64. То есть суммарное число у нас не будет превышать 128, а это и будет 1/6 часть свечения, поэтому суммарный ток потребления ленты у нас не превысит 1,5 ампера. Поэтому можно ничего не бояться. И даже при таком свечении при такой плотности светодиодов на ленте она будет светиться очень ярко.
Микроконтроллер мы будем использовать народный — STM32F103C8T6, расположенный на очень дешёвой отладочной плате. Программатор мы будем использовать тоже дешёвый, поэтому материально мы насчёт контроллера ленты почти не пострадаем. Управляться будет лента от одной ножки при помощи PWM, включенном в настройках определённого таймера. Также будет использован DMA для ускорения процесса. Заодно и поучимся пользоваться DMA в PWM. Вот так выглядит наша плата, подключенная к ленте (нажмите на картинку для увеличения изображения)

Отладочная плата будет питаться от программатора ST-Link, поэтому к ленточке мы от неё ведём только общий и сигнальный провод. От какой именно ножки мы его ведём, мы увидим, когда будем настраивать таймер.
В следующей части нашего урока мы создадим проект, изучим работу таймера в режиме PWM с использованием DMA и попробуем зажечь определённые светодиоды различными цветами.
Предыдущий урок Программирование МК STM32 Следующая часть
Отладочную плату STM32F103C8T6 можно приобрести здесь STM32F103C8T6
Программатор недорогой можно купить здесь ST-Link V2
Ленты светодиодные WS2812B разные можно приобрести здесь WS2812B