Подскажите как продумать алгоритм работы

verhmax
Offline
Зарегистрирован: 21.12.2014

Добрый день, делаю управление гирляндой ws2811 (управление каждым светодиодом по отдельнойсти) через arduino. Хочу сделать режим мигания по такому типу:

светодиоды 1 - 50 загораются все с наростающей яркостью, т.е. первый слабо, последний максимально, потом нужно сделать движение со смещением по одному, т.е. третий будет слабо, а первый максимально и так по кругу. подскжите как алгоритм циклами продумать. у меня получилось вот так:

for(int cc_led=0; cc_led<NUM_PIXELS; cc_led++){ // от 0 светика до максимального
          int cc_rad=0; // сдвиг светика
       for (int rad_led = cc_led; rad_led < NUM_PIXELS; rad_led++) {
if(cc_rad>=200){cc_rad=0;}else{cc_rad+=7;} // присваиваем значение яркости каждому светику со смещением (максимальная яркость = 200)
         setHue(cc_rad,0,cc_rad, rad_led); // отправили значение в ленту
         ws2811.sendLedData(); // отправили значение в ленту
       }delay(200);
     }

получилось правильно, но доходя до последнего все ок, а первые так и остаются светится минимально, т.е. по кругу не работает :(

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012