for (int i = 0; i < 7; i++) {
for (int n = 0; n < PIXELS_DIGITS; n++){
writeSeg(n, 5);
}
strip.show();
delay(100);
for (int n = 0; n < PIXELS_DIGITS; n++){
writeSeg(n, 0);
}
strip.show();
delay(100);
for (int n = 0; n < PIXELS_DIGITS; n++){
writeSeg(n, 2);
}
strip.show();
delay(100);
for (int n = 0; n < PIXELS_DIGITS; n++){
writeSeg(n, 0);
}
strip.show();
delay(100);
for (int n = 0; n < PIXELS_DIGITS; n++){
writeSeg(n, 5);
}
strip.show();
delay(100);
}
из адресной ленты ws2812 построены большие 7 сегментные дисплеи, в этом коде пройсходит анимация то есть включаеться и выключается разные сегменты через 100 миллисекунд, как видно из кода сначала включаеться 5 сегмент потом 0 потом 2 потом снова 0 и потом 2 и снова 5(в функций writeSeg(int n, int seg ) где seg это номер сегмента). переключенте идет через 100миллисекунд с помощью функциий delay и теперь вопрос как заменить его на millis()?