Подключить несколько светодиодов RGB, используя минимальное количество выводов ШИМ на Arduino?

У меня сейчас есть анод RGB подключен к 11, 10, & 9 PWM контактов на моем Arduino. Тем не менее, я хотел бы добавить еще 3 светодиода в свой проект, но я не хочу задействовать каждый вывод PWM. Могу ли я подключить все 4 светодиода, используя минимальное количество выводов? Имейте в виду, что я хочу использовать все 12 резисторов для 4 светодиодов. О, и все светодиоды будут делать одно и то же (все они будут красными, и все станут синими и т. Д.), Если это поможет.

Вот как выглядит моя доска прямо сейчас:

введите описание изображения здесь

Если бы кто-нибудь мог мне помочь, это было бы здорово !!!! Ценю помощь!

Постскриптум Я прикрепил файл .fzz, так что если кто-то из вас захочет отредактировать схематическое изображение, это будет очень просто. кликните сюда.

0

Решение

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

Если это потребляет много энергии с 4 светодиодами, вы должны использовать транзистор в качестве усилителя. Я хотел бы отправить вам схему, но у меня нет программного обеспечения для рисования таких. Тем не менее, использование транзистора для усиления выхода Arduino является довольно распространенным явлением …

Надеюсь, я смогу помочь!

1

Другие решения

Независимо от того, подключаете ли вы светодиод RGB последовательно или параллельно от одних и тех же линий ШИМ, основной проблемой будет ток, извлекаемый из каждой линии ШИМ. Линии Arduino обычно поддерживают до 40 мА от каждого вывода GPIO (максимум 200 мА / чип). Светодиоды обычно позволяют до 20 мА для каждого канала, если вы хотите максимальную яркость. Это означает, что вам не следует размещать более двух каналов на каждом выводе GPIO, если вы хотите максимальную яркость для каждого светодиода. Этот расчет говорит о том, что единственным разумным результатом является использование транзисторов для реального питания светодиодов и использование Arduino для управления транзисторами. Вот одно описание о том, как это сделать, но я уверен, что вы можете найти гораздо больше.

Что касается подключения светодиодов, у вас действительно есть два варианта:

  • Подключите светодиоды последовательно, как Кай Бенджамин Хайнц предполагает
  • Подключите их параллельно

Я предпочитаю параллельную конфигурацию: ее легче отлаживать и легче обеспечить надлежащие пределы тока для всех светодиодов. Существует также проблема прямого напряжения на светодиодах: большинству светодиодов требуется от 1,8 В до 3 В прямого напряжения на них. Если у вас есть только 5 В для работы, то вы можете подключить только до двух светодиодов последовательно, прежде чем сможете обеспечить правильное прямое напряжение на каждом из них. Если вы попытаетесь поставить три в ряд, вы можете либо получить результат, что некоторые из них тусклее, чем другие, или все это вообще не загорается.

1

В зависимости от детализации вашего времени на светодиодах, вы можете сделать следующее:

Arduino => регистр сдвига => транзисторы => резисторы => светодиодный вывод.

Посмотрите на библиотеки сдвиговых сдвигов для Arduino. Это позволит вам использовать только несколько контактов: часы, сигнал и фиксатор.

Вы можете последовательно соединять регистры последовательного входа, параллельного выхода, чтобы увеличить количество светодиодов, которыми вы можете управлять таким образом. Тогда произойдет следующее: вы отправляете поток битов, который представляет, какие биты вы хотите включить / выключить, а затем переключаете защелку для обновления значений. Таким образом, вы можете PWN управлять большим количеством трехцветных светодиодов без риска выгорания вывода IO.

Обратите внимание, что время становится критическим. Как и предполагали другие, вы можете получить специализированную ИС драйвера RGB, но если вы хотите найти легкие в поиске детали, регистры сдвиговой блокировки — хороший способ.

Если вы ищете, есть много хороших учебных пособий по ШИМ’ам по сменным регистрам, а также библиотекам.

0
По вопросам рекламы [email protected]