Cómo se puede reducir líneas de código

Antes que nada disculpar si hago algo mal. Espero hacer lo correcto.

Tengo una tira led ws2812s de 144 leds que quiero utilizar para ambientar un diorama pasando por las diferentes fases de dia y noche.

Libreria Adafruit_Neopixel. Arduino UNO.

La tira de leds se alimenta independientemente de la placa.

Entre el amanecer y el dia, la luz pasa por diferentes fases de luz. Lo mismo para el resto de las 24 horas.

La primera luz (amanecer) es de color naranja (144 leds). Va despuntando el dia y cambian 48 leds no consecutivos de color naranja a blanco. Continua avanzando el día y otros 48 leds pasan de naranja a blanco tambien intercalados, para finalmente, con otras 47 líneas de código, encenderse todos los leds de color blanco.

Me ocupa mucha memoria y es un engorro escribir 144 líneas de color naranja, 48 líneas de color blanco, otras 48 líneas, tambien de color blanco, para escribir las últimas 47 líneas, tambien de color blanco, para que toda la tira sea del mismo color. Repetimos este proceso diversas veces en las 24 horas.

No apago los leds, así que voy incorporando colores tapando los anteriores.

Llevo un montón de horas intentando resolver esta incidencia (no tengo experiencia) intentando descubrir cómo solucionarlo pero no lo he conseguido.

¿Cómo puedo reducir esta cantidad de lineas?

Exemplo de una parte de código para encender 48 leds no consecutivos:

tira.setPixelColor(2 ,tira.Color(255,255,255));
tira.setPixelColor(5 ,tira.Color(255,255,255));
tira.setPixelColor(11 ,tira.Color(255,255,255));
tira.setPixelColor(14 ,tira.Color(255,255,255));
tira.setPixelColor(17 ,tira.Color(255,255,255));
tira.setPixelColor(20 ,tira.Color(255,255,255));
tira.setPixelColor(23 ,tira.Color(255,255,255));
tira.setPixelColor(26 ,tira.Color(255,255,255));
tira.setPixelColor(29 ,tira.Color(255,255,255));
tira.setPixelColor(32 ,tira.Color(255,255,255));
tira.setPixelColor(35 ,tira.Color(255,255,255));
tira.setPixelColor(38 ,tira.Color(255,255,255));
tira.setPixelColor(41 ,tira.Color(255,255,255));
tira.setPixelColor(44 ,tira.Color(255,255,255));
tira.setPixelColor(47 ,tira.Color(255,255,255));
tira.setPixelColor(50 ,tira.Color(255,255,255));
tira.setPixelColor(53 ,tira.Color(255,255,255));
tira.setPixelColor(56 ,tira.Color(255,255,255));
tira.setPixelColor(59 ,tira.Color(255,255,255));
tira.setPixelColor(62 ,tira.Color(255,255,255));
tira.setPixelColor(65 ,tira.Color(255,255,255));
tira.setPixelColor(68 ,tira.Color(255,255,255));
tira.setPixelColor(71 ,tira.Color(255,255,255));
tira.setPixelColor(74 ,tira.Color(255,255,255));
tira.setPixelColor(77 ,tira.Color(255,255,255));
tira.setPixelColor(80 ,tira.Color(255,255,255));
tira.setPixelColor(83 ,tira.Color(255,255,255));
tira.setPixelColor(86 ,tira.Color(255,255,255));
tira.setPixelColor(89 ,tira.Color(255,255,255));
tira.setPixelColor(92 ,tira.Color(255,255,255));
tira.setPixelColor(95 ,tira.Color(255,255,255));
tira.setPixelColor(98 ,tira.Color(255,255,255));
tira.setPixelColor(101 ,tira.Color(255,255,255));
tira.setPixelColor(104 ,tira.Color(255,255,255));
tira.setPixelColor(107 ,tira.Color(255,255,255));
tira.setPixelColor(110 ,tira.Color(255,255,255));
tira.setPixelColor(113 ,tira.Color(255,255,255));
tira.setPixelColor(116 ,tira.Color(255,255,255));
tira.setPixelColor(119 ,tira.Color(255,255,255));
tira.setPixelColor(122 ,tira.Color(255,255,255));
tira.setPixelColor(125 ,tira.Color(255,255,255));
tira.setPixelColor(128 ,tira.Color(255,255,255));
tira.setPixelColor(137 ,tira.Color(255,255,255));
tira.setPixelColor(138 ,tira.Color(255,255,255));
tira.setPixelColor(141 ,tira.Color(255,255,255));
tira.setPixelColor(143 ,tira.Color(255,255,255));

Grácias.

Hola

for (int n = 2; n < 144; n += 3){
tira.setPixelColor(n ,tira.Color(255,255,255));
}

Saludos.

Moderador:
Por favor, lee las Normas del foro.
Por favor, no posteen consultas simples en la sección Proyectos.
Hay 1 hilo explicando que cósas se permiten postear aquí.
Movido a Software.