Управление лентой ARGB с помощью Arduino UNO
Есть вентилятор с подсветкой ARGB. Внутри лента с количеством диодов 12шт. Снизу предоставил код, где 6 диодов статично светят красным, 6 - желтым. Как сделать вращение по кругу из этих двух цветов?
Фото вентилятора: https://i.stack.imgur.com/IZrBO.jpg
#include "FastLED.h"
#define LED_PIN 5
#define LED_PIN 6
#define LED_NUM 12
CRGB strip[LED_NUM];
void setup()
{
FastLED.addLeds<WS2812, 5, GRB>(strip, LED_NUM);
FastLED.addLeds<WS2812, 6, GRB>(strip, LED_NUM);
FastLED.setBrightness(255);
}
void loop()
{
for (int i = 0; i < LED_NUM; i++) {
strip[0] = CRGB::Red;
strip[1] = CRGB::Yellow;
strip[2] = CRGB::Yellow;
strip[3] = CRGB::Yellow;
strip[4] = CRGB::Yellow;
strip[5] = CRGB::Yellow;
strip[6] = CRGB::Yellow;
strip[7] = CRGB::Red;
strip[8] = CRGB::Red;
strip[9] = CRGB::Red;
strip[10] = CRGB::Red;
strip[11] = CRGB::Red;
}
FastLED.show();
}
Ответы (1 шт):
Автор решения: Vanyamba Electronics
→ Ссылка
#include "FastLED.h"
#define LED_PIN 5
#define LED_PIN 6
#define LED_NUM 12
CRGB strip[LED_NUM];
int first_led = LED_NUM;
int last_led = LED_NUM - 6;
void setup() {
FastLED.addLeds<WS2812, 5, GRB>(strip, LED_NUM);
FastLED.addLeds<WS2812, 6, GRB>(strip, LED_NUM);
FastLED.setBrightness(255);
for (int i = 0; i < LED_NUM; i++) {
strip[i] = CRGB::Red;
}
}
void loop() {
if (++first_led >= LED_NUM)
first_led = 0;
strip[first_led] = CRGB::Yellow;
strip[last_led] = CRGB::Red;
if (++last_led >= LED_NUM)
last_led = 0;
FastLED.show();
delay(100);
}