Настройка 10 RGB-лент независимо от одного Arduino
Я хочу управлять 10 различными светодиодными лентами RGB 12 В независимо с одного Arduino.
В качестве пояснения - я настроил кучу NeoPixels и понимаю, как подключать и управлять ими независимо. Так что теперь я хочу сделать что-то похожее, но вместо того, чтобы задавать цвет отдельных светодиодов, я хочу задать цвет светодиодных лент.
Я уже провел все исследования, чтобы понять, как использовать MOSFET для управления одной полосой, но для этого требуется 3 выхода ШИМ на плате Arduino, а я не вижу ни одной платы с 3 * 10 = 30 выходами ШИМ.
Существуют ли контроллеры, которые могут абстрагировать преобразование мощности и управление напряжением, чтобы я мог просто отправлять настройки цвета и яркости с Arduino на каждую полоску?
@Dan B, 👍3
Обсуждение2 ответа
Лучший ответ:
Вы можете использовать такие цепочечные драйверы RGB:

Они основаны на чипе P9813 и могут использоваться с библиотекой FastLED.
Вы можете найти их на Aliexpress или eBay, если введете в поиск «STM32 rgb».
Проводка:

Пример кода:
#include <FastLED.h>
#define NUM_LEDS 10
#define DATA_PIN 3
#define CLOCK_PIN 2
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds<P9813, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
}
int hue = 0;
void loop(){
for(int i = 0; i < NUM_LEDS; i++) {
leds[i] = CHSV(hue + i*255/NUM_LEDS , 255, 255);
}
FastLED.show();
delay(20);
hue += 2;
}
Вам понадобится внешняя схема для управления светодиодами.
Существует чип WS2811, который может управлять 3 каналами 12-вольтовых светодиодных лент, управляемых через один провод, и вы можете соединить их последовательно, управляя каждой полосой по отдельности. Протокол точно такой же, как и в индивидуально адресуемых RGB-светодиодах. Фактически, это та же самая микросхема, которая встроена в эти светодиоды.
- RGB светодиодная лента 100м.
- Библиотека FastLED: Как настроить яркость одного пикселя в абсолютном масштабе?
- Адресная RGB-полоса работает по отдельности, но не может настроить все светодиоды на полностью белый цвет.
- FastLED fill_rainbow - Неожиданный красный пиксель
- Как читать текстовый файл построчно
- Быстродействующий массив fill_solid
- Управление светодиодной лентой с помощью ИК-контроллера с помощью Arduino
- Что сделать, чтобы увеличить количество светодиодов, которые можно запитать с помощью pro micro?
Сколько светодиодов на полосу (т.е. какой ток на полосу)?, @Gerben
Как насчёт использования дополнительной микросхемы в качестве драйвера? Что-то вроде [этого](https://www.adafruit.com/product/815). Или, если вы ещё не купили микросхемы, можно купить микросхемы с индивидуальной адресацией. Им не нужен ШИМ, а нужен только один вывод для передачи данных., @chrisl
@chrisl — спасибо за ответ. Чип в качестве драйвера выглядит интересно. Нужно ли мне подключать по одному МОП-транзистору к каждому выходу R/G/B чипа, чтобы управлять цветом RGB-ленты? Я хочу отказаться от неопиксельных лент, так как для этого проекта они излишни. То есть мне не нужно управлять отдельными светодиодами, но я хочу управлять несколькими отдельными лентами., @Dan B
@Gerben — Я надеюсь соединить много полос вместе, чтобы получились более крупные. Примерно 10 полос, по 60–300 светодиодов в каждой., @Dan B
Да, конечно, вам нужен МОП-транзистор на каждую линию ШИМ, поскольку светодиодные ленты с таким количеством светодиодов могут легко потреблять несколько ампер. Я упомянул Neopixels, потому что, несмотря на то, что индивидуальная адресация может быть излишней, вам не нужны дополнительные компоненты (кроме конденсатора и резистора). Так что это может быть более дешёвым решением, в зависимости от лент., @chrisl