5 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Светодиодная гирлянда на Arduino за вечер

Готовимся к Новому году: простая гирлянда на Arduino

Готовимся к Новому году: простая гирлянда на Arduino

  • Видео , 30 ноября 2019 в 13:04
  • Александр Ланский

К Новому Году везде начинают продавать гирлянды, но мы не ищем лёгких путей и предлагаем вам сделать гирлянду самостоятельно. Это просто, интересно и недорого, а заодно позволит вам потренироваться в работе с Arduino. Итак, начнём.

Примечание Для создания подобной гирлянды вам потребуются минимальные знания в Arduino. Однако если вы в себе не уверены — ничего страшного:

Что понадобится

  • Arduino Uno;
  • адресная светодиодная лента на WS2811;
  • источник питания для ленты.

Светодиодная лента

Светодиодная лента — это группа из светодиодов, размещённых на гибком и клейком основании. Лента может быть длиной от 30 см до 5 м.

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

Традиционная адресная светодиодная лента

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

Для примера будет использоваться последний тип адресной ленты:

Контроллер

В гирлянде контроллером ленты будет Arduino Uno. Но для этих целей подойдёт всё, что под руку попадётся: различные платы Arduino, МК серии ESP, STM, AVR, PIC, микрокомпьютеры Raspberry Pi. Единственное, о чём ещё следует помнить, это о логическом уровне контроллера. Некоторые из них работают на 3-вольтовой логике, и нужно будет использовать конвертер уровней.

Тока, выдаваемого с Arduino Uno, не хватит на запитывание ленты. Поэтому нужно использовать внешний источник питания на 5В (обратите внимание, некоторые ленты могут запитываться от 12В). Потребляемый ток напрямую зависит от длины ленты, поэтому нужно внимательно подбирать источник питания в зависимости от ваших целей. Минусовые контакты источника питания и контроллера нужно объединить. Плюс от источника питания нужно подключить напрямую к плюсовому контакту ленты. Сигнальный же контакт ленты нужно подключить к любому порту Uno.

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

Для управления лентой понадобится специальная библиотека. В этой статье детально описывается установка библиотеки Adafruit NeoPixel.

Ивент перенесён на 26 – 27 сентября , беcплатно

Новогодняя гирлянда на контроллере WS2811 Arduino

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

Шаг 1: Что это такое

Серьезные электрические гирлянды появились на рынке не так давно. Сейчас мы говорим о светодиодных гирляндах, где цвет и яркость каждого красно-сине-зеленого светодиода можно регулировать индивидуально с помощью чипа WS2811 и Arduino. Этот чип может быть встроен непосредственно в светодиод. Такие светодиоды можно найти по запросу APA106 во многих онлайн-магазинах. Они выглядят как обычные 4-контактные светодиоды с обычным анодом и катодом, но это не так!

Каждый светодиод APA106 имеет встроенный WS2811 контроллер, который должен быть запрограммирован на включение светодиода. Если вы покупаете светодиоды APA106 на Aliexpress, я советую вам немедленно их проверить — нередко вместо APA106 покупателю приходит самый обыкновенный светодиод!

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

Единственная общая их характеристика — они не зажигаются без контроллера.

Существуют модификации чипа WS281x — они зажигают случайные цвета без контроллера, но нам это не интересно, потому что они не могут быть запрограммированы.

Шаг 2: Необходимые компоненты

Итак, все компоненты для проекта были заказаны и в конечном итоге прибыли:

  1. Две 50-светодиодные водонепроницаемые полосы WS2811. Эти полосы могут быть подключены друг к другу, чтобы увеличить число светодиодов. Они не загорались все сами по себе, поэтому нужно было некоторое управление.
  2. Чип ESP8266 в очень удобном форм-факторе: WeMos D1. Мне нравится эта панель — она компактна и проста в настройке.

Это не обязательно, но эти детали также могут пригодиться:

Было бы неплохо получить мощный 5-вольтовый блок питания, потому что светодиодные полосы энергозатратны — особенно если вы установите всё на ярко-белый.

Этот блок питания 5v 8A неплохо справится с задачей. Я разработал этот проект с использованием блока питания для мобильного телефона с выходным током 1А. Он работает достаточно хорошо, пока вы не повысите яркость. По крайней мере, мне хватило его для ESP8266 и светодиодной ленты.

Шаг 3: Что же делать?

Наконец, все детали на руках, но что с ними делать? Запрограммировать один или несколько эффектов в один контроллер, и на этом все? Слишком просто. Было бы неплохо суметь каким-то образом контролировать поведение фонарей.

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

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

Для более простого программирования эффектов освещения я добавил режим освещения BMP.

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

Здесь вы видите изображение с 3-мя цветными линиями и видео, на котором видно, как это изображение выглядит при воспроизведении контроллером. Также здесь показано, как создать собственный шаблон.

Шаг 4: Идея

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

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

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

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

Шаг 5: Подключение

Я не стану подробно описывать, как установить и настроить Arduino IDE для работы с ESP8266. В сети много ресурсов, где каждый процесс объясняется в деталях. Все необходимые библиотеки находятся в документе WebLights_En.rtf. Проводка проста. Кнопка и ИК-приемник не необходимы, но удобны.

Длительное нажатие кнопки (6 секунд) сбрасывает устройство и загружает сценарий по умолчанию.

Обычные нажатия переключают эффекты (если они запрограммированы в скрипт) или файлы BMP.

Если вы подключите ИК-приемник, вы можете задать команды кнопкам пульта. Просто нажмите кнопку на приемнике, а затем обновите страницу WebLights. На веб-странице есть 4-символьная переменная с именем IR-code. Возьмите этот код и замените им xxxx в команде (LLxxxxc: c). Теперь каждый раз, когда код будет найден подпрограммой ИК-приемника, будет срабатывать команда.

Это довольно варварский метод соединения — было бы неплохо поставить переключатель уровня напряжения 3v->5v между ESP8266 и светодиодами. Но гирлянда работает и с прямым подключением, если линия между контроллером и светодиодами не слишком длинная.

Существует еще одна фишка, которая может повысить стабильность — вставьте любой диод в линию + 5v, которая активирует первый светодиод. Он сдвинет логический уровень одного из первых светодиодов немного вниз.

Шаг 6: Несколько слов о программном обеспечении

Полный источник информации для этого проекта находится на github.

Просто поместите каталог WebLights в папку проектов Arduino, откройте Arduino и выберите Weblights.ino. Скопируйте содержимое папки WebLightslibraries в папку проектов Arduino. Создайте проект и загрузите его в ESP8266. По умолчанию устройство запускается в режиме AccessPoint.

Оно создает Wi-Fi-сеть WebLights с паролем управления светодиодами. Просто введите любой URL-адрес и вы будете перенаправлены на страницу контроллера. Например: wl.com.

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

Шаг 7: Заключение

Рассказываю как сделать какую-либо вещь с пошаговыми фото и видео инструкциями.

Светодиодная гирлянда на Arduino за вечер

Эта совокупность светодиодов с проводами является необычным украшением на ёлку. У автора была поставлена цель быстро собрать что-то новогоднее и светящееся из имеющихся материалов. Идея заключалась в том чтобы объединить горсть светодиодов на каркасе из одножильного провода, светодиоды автор пытался соединить в виде ёлки, хотя на вид напоминает больше гирлянду.

Материалы:
– Светодиоды 12 шт (3 каждого цвета)
– Arduino
– Провод одножильный (для каркаса)
– Паяльник

Объединены светодиоды в четыре группы, каждая из трёх с общим анодом. Ряды пойдут на цифровые выводы Arduino, а группы на аналоговые выводы (можно также использовать цифровые). Схема гирлянды:

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

Сама сборка начинается с пайки отдельных рядов и их формирования. У нижнего ряда сторона равняется примерно 60 мм, среднего 50 мм, и верхний вышел около 30 мм. Так выглядят три ряда по отдельности:

Теперь напаивается первая цепь светодиодов, формируя конструкцию.

Далее, процесс упрощается и припаивается вторая цепь светодиодов. Аналогичным образом автор припаял все остальные цепи на каркас.

Код и проверка
Тест гирлянды происходит на Arduino Mega. Программный код можно скачать под статьёй. В коде вы нельзя найти ничего сверхнового, он максимально упрощён для модификаций, и для возможности задать свою программу с нужной последовательностью, которая вам понравится.

Результат
После проверки работоспособности конструкции автор перенёс гирлянду на Arduino Fio и подключил Lipo аккумулятор для мобильности конструкции.

Новогодняя гирлянда на Arduino NANO с пультом, имеет 1000 вариаций (38 эффектов и 33 палитры)

«Какой же новый год и без елочки?»

— Ваши игрушки бракованные! — Что, не блестят? — Нет, не радуют!

Наверное каждому уже надоели скучные гирлянды с однотипными эффектами. Хочется что-то по серьезнее, с минимумом вложением и использованием головы (она и так болит от новогодней кутерьмы).

Здесь рассмотрим гирлянду на 100 светодиодов, с 1000 вариациями и ценой за контроллер 150 руб

Интересно? Следуйте далее…

Использовать ленту на WS2811, и чтоб управлялось пультом. На Arduino, как правило, это не выполнимо, слабовато, ресурсов не хватает, лишнего ничего не прикрутишь.

Я уже был готов собрать это на контроллерах ARM. (валяются у меня много платок контроллеров с LPC1754) но паять не охота, и переводить код с Arduino времени нет.

Да я знаю что можно делать на ESP8266, но не хочу… (желающие могут портировать скетч самостоятельно)

И вот мучительно рыская в интернете в поисках интересных эффектов под разные библиотеки, я случайно набрел на страничку FastLED-Demos, где Andrew Tuline выкладывает эффекты для библиотеки FastLED.

Меня заинтересовал раздел notamesh

Я сказал Вау… и понеслось…

Для повторения схемы:

Покупается гирлянда на WS2811 или WS2812 или им подобных (куплена наверно уже давно на прошлых распродажах).

Покупается модуль Arduino UNO, NANO или подобным на контроллере ATMega328

Берется модуль ИК. Пульт от старого телевизора или видеомагнитофона, или плеера. Блок питания 5 вольт и 3 ампера. Ну любой

У меня были 100 штук WS2812B я каждый светодиод закатал в прозрачную термоусадку, это дало свечение на 360 градусов.

В закромах валялась платка на схеме NANO, блок питания, приемник ИК, и корпус от роутера все это соединил воедино.

У меня получилось:

вход с ИК пин 8 (PB0, D8, физический пин 12),

выход на гирлянду пин 14 (PC0, A0, физический пин 23)

Проверяйте распиновку (например, у ИК приемников ножки могут отличаться)

Вы можете выбрать другие ножки Arduino, я покажу, где менять в скетче.

■ С Наступающим Новым Годом!!

Контроллер может работать и без пульта, по умолчанию запускается демо режим

Единственно надо установить количество светодиодов в строке 225

голоса
Рейтинг статьи
Читать еще:  Светодиодные часы с пультом дистанционного управления
Ссылка на основную публикацию
Статьи c упоминанием слов: