Adafruit NeoPixel
Los tecnología NeoPixel nos permite enlazar multitud LEDs RGB y controlarlos con un solo cable de datos, ahorrándonos multitud de cables y simplificando la instalación.
Para controlar cada uno de LEDs tendremos que usar biblioteca específica de Adafruit. Dicha biblioteca está disponible su GitHub, bastará con descargarla e instalarla.
Para controlar la tira deberemos crear un objeto Adafruit_NeoPixel
:
Adafruit_NeoPixel * strip = new Adafruit_NeoPixel(LEDS, PIN, NEO_GRB + NEO_KHZ800);
Dónde LEDS
es el número de LEDs de nuestra tira y PIN
el GPIO en el que está conectado. Ha de ser un GPIO del tipo
PWM.
Posterioremente, podremos asignar un color a cada uno de los LEDs mediante setPixelColor
y llamamos a show
para actualizar
la tira.
//Creamos una variable con el color que queramos
uint32_t rojo = Adafruit_NeoPixel::Color(255, 0, 0);
//Asignamos el color al LED número 4
strip->setPixelColor(4, rojo);
//También podemos asignar el color con el patrón RGB directamente,
//en este caso estamos colocando el LED 6 de color verde
strip->setPixelColor(6, 0, 255, 0);
//Finalmente actualizamos la tira llamando a show
strip->show();