Настройка 10 RGB-лент независимо от одного Arduino

power rgb-led led-strip

Я хочу управлять 10 различными светодиодными лентами RGB 12 В независимо с одного Arduino.

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

Я уже провел все исследования, чтобы понять, как использовать MOSFET для управления одной полосой, но для этого требуется 3 выхода ШИМ на плате Arduino, а я не вижу ни одной платы с 3 * 10 = 30 выходами ШИМ.

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

, 👍3


2 ответа


Лучший ответ:

5

Вы можете использовать такие цепочечные драйверы 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;
}
,

1

Вам понадобится внешняя схема для управления светодиодами.

Существует чип WS2811, который может управлять 3 каналами 12-вольтовых светодиодных лент, управляемых через один провод, и вы можете соединить их последовательно, управляя каждой полосой по отдельности. Протокол точно такой же, как и в индивидуально адресуемых RGB-светодиодах. Фактически, это та же самая микросхема, которая встроена в эти светодиоды.

,