Руководство по подключению светодиодных лент к Arduino

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

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

или DIY электроника

, вы сможете сделать это.

Мы также будем использовать Arduino IDE для управления ими. В этом проекте используется Arduino Uno, хотя вы можете использовать практически любую совместимую плату (например, NodeMCU).

).

Выберите свою полосу

При покупке светодиодных лент есть несколько вещей, которые следует учитывать. Во-первых, это функциональность. Если вы планируете использовать полосы в основном для окружающего освещения, то просто 12v RGB LED полоса (SMD5050) будет правильным выбором.

Многие из этих стрипов поставляются с инфракрасным пультом для управления ими, хотя в этом проекте мы будем использовать Arduino вместо этого. Потратьте немного времени на шоппинг, на момент написания статьи можно было получить эти полоски всего за 1 доллар за метр.

Светодиодные лентыИзображение предоставлено: phanu suwannarat через Shutterstock

Если вы хотите что-то немного более высокую технологию, рассмотрите WS2811/12/12B. Эти полоски (иногда называемые Neopixels) имеют встроенные чипсеты, которые позволяют обращаться к ним индивидуально. Это означает, что они способны не только на внешнее освещение.

Вы можете использовать их, чтобы построить дешевый светодиодный пиксель

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

Светодиодный дисплей

Эти полосы требуют только 5В для питания их. Несмотря на то, что их можно питать небольшими порциями непосредственно от платы Arduino, обычно рекомендуется использовать отдельный источник питания 5 В, чтобы уберечь себя от запаха жареного Arduino. Если вы ищете индивидуально программируемые светодиоды, они для вас. На момент написания они доступны по цене около 4 долларов за метр.

Еще одна вещь, чтобы рассмотреть, где эти полосы могут быть использованы. Оба этих типа полос имеют различную длину, плотность светодиодов (количество светодиодов на метр) и различные степени защиты от атмосферных воздействий.

При взгляде на светодиодные ленты обратите внимание на цифры в списке. Обычно первым числом будет количество светодиодов на метр, а буквы IP за ним следуют цифры его атмосферостойкости. Например, если в списке указано 30 IP67, это значит, что будет 30 Светодиоды на метр. 6 означает, что он полностью изолирован от пыли, а 7 означает, что он защищен от временного погружения в воду. (Узнайте больше о погодоустойчивости и IP-рейтингах

. Когда у вас есть выбранная светодиодная лента, пришло время связать ее с Arduino. Давайте начнем с SMD5050.

На связи

Требуются электронные компоненты

Чтобы подключить светодиодную ленту 12 В к Arduino, вам потребуется несколько компонентов:

  • 12v RGB светодиодная лента (SMD5050)
  • 1 х Arduino Uno (подойдет любая совместимая плата)
  • 3 х 10k Ом Резисторы
  • 3 х Уровень логики N-канальные МОП-транзисторы
  • 1 х макет
  • Соединительные провода
  • 12v блок питания

Перед настройкой схемы, давайте поговорим о MOSFETs.

Всякий раз, когда вы управляете чем-то, что находится под более высоким напряжением, чем ваш микроконтроллер, вам нужно что-то среднее, чтобы ваша доска не зажарилась. Один из более простых способов сделать это — использовать MOSFET. Посылая широтно-импульсную модуляцию (PWM) сигналы к Ворота нога, можно контролировать, сколько энергии проходит между истощать а также источник ноги. Пропуская каждый из светодиодных полос через полевой МОП-транзистор, вы можете контролировать яркость каждого отдельного цвета на светодиодной полосе.

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

Настройте свою схему следующим образом:

Arduino MOSFET Circuit

  1. Подключите контакты Arduino 9, 6, а также 5 к Ворота ноги трех MOSFET, и подключите 10k резистор на одной линии с заземляющей шиной.
  2. Подключите Источник ноги на землю рельс.
  3. Подключите Сливной ноги к зеленый, красный, а также синий разъемы на светодиодной полосе.
  4. Подключите шину питания к +12v разъем светодиодной ленты (обратите внимание, что на этом изображении провод питания черный, чтобы соответствовать цветам разъемов на моей светодиодной полосе).
  5. Подключите заземление Arduino к заземляющей шине.
  6. Подключите свой 12v подача питания на силовые рельсы.

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

если вам это нужно.

Мы будем питать нашу плату Arduino через USB для этого проекта. Вы можете включить питание своей платы с помощью VIN-контакта, но перед этим убедитесь, что вы знаете ограничения питания для своей платы.

Когда ваша схема завершена, она должна выглядеть примерно так:

Arduino МОП-транзисторы на макете

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

Fade It Up

Подключите плату Arduino к компьютеру через USB и откройте IDE Arduino. Убедитесь, что у вас есть правильная плата и номер порта, выбранные для вашей платы в Инструменты> Доска а также Инструменты> Порт меню. Откройте новый эскиз и сохраните его под соответствующим именем.

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

Начните с определения которого штырьки будет использоваться для управления МОП-транзисторами.

#define RED_LED 6
#define BLUE_LED 5
#define GREEN_LED 9

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

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

int brightness = 255;
int gBright = 0;
int rBright = 0;
int bBright = 0;
int fadeSpeed = 10;

В вашем настроить Функция мы установим наши выводы Arduino для вывода. Мы также вызовем несколько функций с 5-секундной задержкой между ними. Эти функции еще не существуют, но не волнуйтесь, мы доберемся до них.

void setup() {
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
pinMode(BLUE_LED, OUTPUT);
TurnOn();
delay(5000);
TurnOff();
}

Теперь создайте Включи() метод:

void TurnOn() {
for (int i = 0; i < 256; i++) {
analogWrite(RED_LED, rBright);
rBright +=1;
delay(fadeSpeed);
}
for (int i = 0; i < 256; i++) {
analogWrite(BLUE_LED, bBright);
bBright += 1;
delay(fadeSpeed);
}
for (int i = 0; i < 256; i++) {
analogWrite(GREEN_LED, gBright);
gBright +=1;
delay(fadeSpeed);
}
}

Эти три за петли принимают каждый цвет до его полной яркости в течение времени, указанного fadeSpeed значение.

Наконец, вам нужно создать Выключи() метод:

void TurnOff() {
for (int i = 0; i < 256; i++) {
analogWrite(GREEN_LED, brightness);
analogWrite(RED_LED, brightness);
analogWrite(BLUE_LED, brightness);
brightness -= 1;
delay(fadeSpeed);
}
}
void loop() {
}

Этот метод применяет наш яркость переменная для всех трех цветных пинов и уменьшает их до нуля в течение определенного периода времени. Здесь нам также нужен метод пустого цикла, чтобы избежать ошибок компиляции.

После того, как вы выполнили этот эскиз, сохраните его. Проверьте эскиз и загрузите его на свою плату Arduino. Если вы получаете ошибки, проверьте код снова на наличие досадных опечаток или пропущенных точек с запятой.

Теперь вы должны увидеть, как ваша светодиодная полоса усиливает каждый цвет по отдельности, удерживая белый цвет в течение 5 секунд, а затем равномерно исчезая до нуля:

Светодиодные полосы мигает

Если у вас возникли какие-либо трудности, дважды проверьте свою проводку и еще раз код.

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

, Если вы получили стартовый комплект с вашим Arduino

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

Arduino Motion Controlled Lighting

Теперь, когда мы рассмотрели SMD5050s, давайте перейдем к WS2812B полосы.

Яркие идеи

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

Тебе понадобится:

  • WS2811/12/12B 5v светодиодная лента (все три модели имеют встроенные чипы и работают практически одинаково)
  • 1 х Arduino Uno (или аналогичная совместимая плата)
  • 1 х 220-440 Ом Резистор (что-нибудь между этими двумя значениями в порядке)
  • 1 х 100-1000 мкФ Конденсатор (что-нибудь между этими двумя значениями в порядке)
  • Макет и подключить провода
  • 5В блок питания

Настройте вашу схему, как показано на схеме:

Arduino Circuit

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

На этот раз мы питаем Arduino от источника питания 5В. Это делает проект автономным, когда мы закончим, хотя здесь есть несколько важных моментов.

Во-первых, убедитесь, что ваша плата может получать питание 5 В, прежде чем подключать ее к источнику питания. Почти все платы разработки работают под напряжением 5 В через USB-порт, но контакты питания некоторых могут иногда пропускать регуляторы напряжения и превращать их в тосты.

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

После подключения он должен выглядеть так:

Arduino Законченная цепь

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

Танцующие огни

Для безопасного программирования нашей платы отключите VIN линия от линии электропередач. Вы прикрепите его позже.

Подключите Arduino к компьютеру и откройте IDE Arduino. Проверьте, правильно ли выбрана плата и номер порта в Инструменты> Доска а также Инструменты> Порт меню.

Мы будем использовать FastLED библиотека для проверки нашей установки. Вы можете добавить библиотеку, нажав на Эскиз> Включить библиотеку> Управление библиотеками и поиск FastLED. Нажмите «Установить», и библиотека будет добавлена ​​в IDE.

Под Файл> Примеры> FastLED выберите DemoReel100 эскиз. Этот набросок циклически повторяет различные вещи, которые можно сделать с WS2812 Светодиодные полосы, и это невероятно легко установить.

Все, что вам нужно изменить, это DATA_PIN переменная, чтобы она соответствовала контакт 13, и NUM_LEDS переменная, чтобы определить, сколько светодиодов в полосе, которую вы используете. В этом случае я использую только небольшую линию из 10 светодиодов, вырезанных из более длинной полосы. Используйте больше для большего светового шоу!

Arduino Code

Это оно! Загрузите эскиз на свою плату, отсоедините кабель USB и включите питание 5 В. Наконец, снова подключите VIN Arduino к линии электропередачи и посмотрите шоу!

Ардуино готовой цепи

Если ничего не происходит, проверьте проводку и убедитесь, что вы указали правильный вывод Arduino на демонстрационном эскизе.

Безграничные возможности

Демонстрационный пример демонстрирует некоторые из множества возможных комбинаций эффектов, которые могут быть достигнуты с помощью полосок WS2812. Помимо того, что они отстают от обычных светодиодных лент, они также могут быть использованы на практике. Хорошим следующим проектом будет создание вашей собственной подсветки

для вашего медиа-центра.

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

,

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

,

Кредиты изображений: mkarco / Shutterstock

Ссылка на основную публикацию
Adblock
detector