Paso 2: Ir más allá
Como he dicho antes, no importa que la biblioteca de Adafruit enviará datos a pixeles inexistentes, pero si esto te molesta (tal vez usted quiere tamaño del anillo de un rendimiento más alto o memoria libre de comercio) entonces debe ser posible volver a crear instancias lo con las dos líneas siguientes de código, para seguir el código insertado en setup() en el paso anterior.
strip.~Adafruit_NeoPixel();<br>Adafruit_NeoPixel strip = Adafruit_NeoPixel(pixels, PIN, NEO_GRB + NEO_KHZ800);
(Como antes, sustituir sus valores en lugar de NEO_GRB y NEO_KHZ800 si son diferentes).
Lamentablemente esto no siempre parece trabajar, posiblemente porque la asignación de memoria dinámica no está bien adaptado a un dispositivo con memoria RAM muy limitado como un Arduino ATMega328 base. De hecho, hay quienes lo consideran como una idea positivamente mala, y puede conducir a la fragmentación de memoria y por lo tanto no recuperar toda la memoria que esperar.
Si Pin 5 ya está en uso para otra cosa y usted no puede redistribuir, entonces me temo que tendrás que encontrar otro método. Hay 2 otros contadores/temporizadores, pero contador/temporizador 0 ya se utiliza para las funciones de tiempo y contador/temporizador 2 no tiene un externo contador de entrada.