#include <Octagon.h>
Octagon *octagon;
void setup() {
octagon = new Octagon;
}
void ocg_loop() {
// Красный
for (int nColor = 0; nColor < 255; nColor +=50){
FillAllLed(nColor,0,0);
}
// Оранжевый
for (int nColor = 0; nColor < 255; nColor +=50){
FillAllLed(255,nColor,0);
}
// Зеленый
for (int nColor = 0; nColor < 255; nColor +=50){
FillAllLed(255-nColor,255,0);
}
// Голубой
for (int nColor = 0; nColor < 255; nColor +=50){
FillAllLed(0,255,nColor);
}
// Cиний
for (int nColor = 0; nColor < 255; nColor +=50){
FillAllLed(0,255-nColor,255);
}
// Фиолетовый
for (int nColor = 0; nColor < 255; nColor +=50){
FillAllLed(nColor,0,255);
}
}
void FillAllLed(uint8_t R, uint8_t G, uint8_t B){
octagon->RGBcircle_LEDS_COLORS[0] = {R,G,B};
// Сохранили цвет последнего светика
RGBcircle_Color Color = octagon->RGBcircle_LEDS_COLORS[11];
// Перезаписываем цвет из каждого светодиода в следующий
for (byte i=11; i > 0; i--){
octagon->RGBcircle_LEDS_COLORS[i] = octagon->RGBcircle_LEDS_COLORS[i-1];
}
// В первый записываем цвет последнего
octagon->RGBcircle_LEDS_COLORS[0] = Color;
// Отобразить массив цветов
octagon->updateGRBcircle();
delay(40);
}