#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); }