Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Я хотел добавить светодиодных светлячков (жуки-молнии, где я вырос) на свой двор на Хэллоуин и решил сделать несколько светодиодных нитей и Arduino. Подобных проектов много, но большинство из них требует пайки и схемотехники. Они великолепны, но я решил посмотреть, можно ли все это сделать без пайки, чтобы сделать их очень простыми в изготовлении.
Я также написал код, позволяющий легко управлять любым количеством светлячков, которые могут реалистично мигать.
Основной подход заключается в использовании светодиодных нитей WS2811, поскольку они уже водонепроницаемы. Они популярны для праздничного освещения, и комбинация микросхемы WS2811 и светодиода 5050 в них, по сути, является более короткой версией WS2812b или «Neopixels» на языке Adafruit. Другое их преимущество состоит в том, что для любого количества светодиодов требуется только одна линия передачи данных.
Подключить их очень просто - от мини-USB-кабеля к любому USB-блоку питания или аккумулятору. Они не потребляют много энергии и могут долго работать от USB-аккумулятора.
Шаг 1: Детали
Список запчастей намеренно прост:
- Ардуино. Я использовал Arduino Nano, поскольку они дешевле и меньше. У них почти такие же характеристики, как у Arduino Uno. Те, которые указаны по ссылке выше, имеют припаянные контакты и идут с проводами micro USB. Вам понадобится кабель mini-USB, а некоторые поставляются с Nanos, указанными выше.
- Терминальный щит Arduino Nano. Это трюк без пайки - вы можете использовать отвертку, чтобы прикрепить провода. Если вместо этого вы хотите припаять три провода, вы можете пропустить это и заказать платы Arduino Nano с незакрепленными контактами, чтобы вы могли паять непосредственно на плату Nano.
- светодиоды. Я использовал нити WS2811, которые программируются так же, как светодиодные ленты WS2812b. Они водонепроницаемы, и у меня есть некоторые с черными проводами, чтобы они были менее заметны на растениях. Также они идут с зелеными проводами. Они поставляются с 50 светодиодами на каждую жилу и имеют разъемы, чтобы вы могли подключить их последовательно. Я использую 100-200 светодиодов, то есть от 2 до 4 ниток. Я питаю их от регулятора Arduino 5v для простоты.
- Аккумулятор. Я питал свою батарею от любого USB-аккумулятора, но вы также можете подключить его к любому USB-источнику. - Базовая батарея - Большая батарея - Огромная батарея - вероятно, перебор Последние два отлично подходят для роботов и светодиодного освещения, поскольку у них есть выходы 5 В и 12 В.
- Разъем JST - идут в комплекте с жилами светодиодов, но на всякий случай это те, которые нужны.
Шаг 2: Сборка
Сборка очень проста.
Подключите Arduino Nano к клеммной колодке. Убедитесь, что контакты установлены правильно, как указано на этикетках - его можно вставить задним ходом.
Используйте запасной разъем JST, поставляемый со светодиодами. Подключите 5v и Gnd к этим контактам на Arduino. Подключите линию передачи данных к выводу 6 (при желании можно изменить в коде).
Жилы светодиодов имеют зачищенные и луженые провода питания. Они могут привести к короткому замыканию аккумулятора, поэтому отрежьте их или заклейте лентой (или используйте термоусадочную трубку, если она у вас есть). Я срезаю консервированные кончики и обрезаю один короче другого, чтобы они не соприкасались.
Теперь вы можете подключить шнур к Arduino.
Вот и все!
Количество светодиодов и мощность
Каждый из 5050 светодиодов в цепи может потреблять 60 мА при полном включении. Поскольку имеется три светодиода (красный / зеленый / синий), и каждый может иметь значение 0-256 (в коде), полное включение будет 256 + 256 + 256 = 768 для интенсивности красного, зеленого и синего цветов. В моем коде я использую 50 для красного, 50 для зеленого и 0 для синего, поэтому каждый включенный светодиод будет потреблять примерно 60 мА * 100/768 = 7,8125 мА на каждый светодиод, когда они включены.
Ключевым моментом является то, сколько светодиодов будет гореть одновременно. Мой код в настоящее время просто включает их с очень низкими случайными шансами - 5/10 000. На практике я видел только несколько включенных одновременно, но теоретически все они могут работать одновременно. Я мог бы добавить код, чтобы ограничить число за один раз, но шансы очень малы. Количество включенных светодиодов частично зависит от количества светодиодов, и коэффициенты рассчитываются для каждого светодиода, поэтому по мере добавления светодиодов загорается больше светодиодов.
Регулятор Arduino 5v может потреблять около 500 мА, а некоторые из них используются для самой Arduino, поэтому, возможно, доступно около 450 мА. При 7,8 мА на светодиод, это позволяет одновременно включать около 57 светодиодов, и даже когда светодиод горит, он в основном гаснет или гаснет, потребляя еще меньше энергии. Так что практически адаптер питания Arduino USB подходит для многих светодиодов.
Количество светодиодов и память Arduino
При компиляции программы со 100 светодиодами Arduino IDE сообщила, что используется 21% DRAM (в основном для массива состояния светодиодов), для 300 светодиодов это было 60%. Итак, несколько прядей - это нормально. Если вам нужно намного больше светодиодов, вы можете просто сохранить список светодиодов, которые действительно включены - это было бы намного эффективнее, но с таким количеством нитей вы также столкнетесь с проблемами питания - падением напряжения и потребуются такие методы, как мощность впрыска. Я использовал это в других инструкциях, но это выходит за рамки этого быстрого проекта. На 100-200 светодиодов хватает DRAM и мощности.
Шаг 3: запрограммируйте Arduino
Прикрепленный скетч будет мигать светодиодами как светлячки. Код немного прокомментирован, но главное - установить количество светодиодов на то, сколько вы используете.
Шаг 4: расположение, мощность, защита от атмосферных воздействий
Этот проект питается от порта USB на Arduino, поэтому можно использовать любой источник питания USB. Для более постоянного отображения вы можете использовать настенный USB-адаптер.
Если объект будет находиться на улице какое-то время, его следует гидроизолировать. Водонепроницаемый ящик для электроники или даже контейнер для еды подойдут.