Les tires de NeoPixels són agrupacions en forma de tira (strip en anglés) més o menys allargada amb leds RGB que comparteixen el càtode (GND) i l'anòde (+) però tenen un circuit integrat que connectem a un pin digital d'entrada en Arduino, usant les funcions que hi ha programes a les llibreries poden engegar diferents leds RGB. Anem a veure com es connecten les tires NeoPixel en forma de corona de 12 leds
Primer del tot, cal soldar 4 pins a les exides GND , 5V , DI (Digital Input), i DO (Digital Output), per poder connectar cables al nostre Arduino Uno i fer el muntatge següent:
A continuació et cal baixar les llibreries d'Adafruit següents:
Llibreria 1: Adafruit_NeoPixel
LLibreria 2: Adafruit_NeoMatrix-master.zip
Llibreria 3: Adafruit-GFX-Library-master.zip
Descarrega-les i copia-les a la carpeta libraries de la teua /home/«usuari»/Arduino/libraries en lliurex.
El programa passarà les dades pel pin 6 d'Arduino a la tira NeoPixel. I anirà escrivint alguna dels 12 leds RGB que té definits per omplir de color.
Escriu el programa NeoPixel-corona.
Cal tindre en compte que la icona que estem utilitzant al programa és per a una matriu de 8x8 leds.
Al convertir el programa per a Arduino IDE cal canviar la ordre on apareix el número de leds de 64 a 12.
Amb aquest canvi ja ho tenim resolt. Mira el programa per a l'IDE
#include <Adafruit_NeoPixel.h>
//Adafruit_NeoPixel MATRIU_RGB = Adafruit_NeoPixel(64, 6, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel MATRIU_RGB = Adafruit_NeoPixel(12, 6, NEO_GRB + NEO_KHZ800);
void setup() {
Serial.begin(9600);
pinMode(6, OUTPUT);
MATRIU_RGB.begin();
Serial.println("Anem a programar el NeoPixel");
Serial.println("corona de 12 leds.");
Serial.println("Recorda canviar 64 píxels per 12");
}
void loop() {
Serial.println("Provem els colors verd i roig");
MATRIU_RGB.setPixelColor(0, 0x006600);
MATRIU_RGB.setPixelColor(1, 0xff0000);
MATRIU_RGB.setPixelColor(2, 0x006600);
MATRIU_RGB.setPixelColor(3, 0xff0000);
MATRIU_RGB.setPixelColor(4, 0x006600);
MATRIU_RGB.setPixelColor(5, 0xff0000);
MATRIU_RGB.setPixelColor(6, 0x006600);
MATRIU_RGB.setPixelColor(7, 0xff0000);
MATRIU_RGB.setPixelColor(8, 0x006600);
MATRIU_RGB.setPixelColor(9, 0xff0000);
MATRIU_RGB.setPixelColor(10, 0x006600);
MATRIU_RGB.setPixelColor(11, 0xff0000);
MATRIU_RGB.show();
delay(5000);
Serial.println("Provem els colors blau i blanc");
MATRIU_RGB.setPixelColor(0, 0x000099);
MATRIU_RGB.setPixelColor(1, 0xffffff);
MATRIU_RGB.setPixelColor(2, 0xffffff);
MATRIU_RGB.setPixelColor(3, 0xffffff);
MATRIU_RGB.setPixelColor(4, 0xffffff);
MATRIU_RGB.setPixelColor(5, 0xffffff);
MATRIU_RGB.setPixelColor(6, 0xffffff);
MATRIU_RGB.setPixelColor(7, 0xffffff);
MATRIU_RGB.setPixelColor(8, 0xffffff);
MATRIU_RGB.setPixelColor(9, 0xffffff);
MATRIU_RGB.setPixelColor(10, 0xffffff);
MATRIU_RGB.setPixelColor(11, 0x000099);
MATRIU_RGB.show();
delay(5000);
Serial.println("Provem el negre per aturar els leds");
MATRIU_RGB.setPixelColor(0, 0x000000);
MATRIU_RGB.setPixelColor(1, 0x000000);
MATRIU_RGB.setPixelColor(2, 0x000000);
MATRIU_RGB.setPixelColor(3, 0x000000);
MATRIU_RGB.setPixelColor(4, 0x000000);
MATRIU_RGB.setPixelColor(5, 0x000000);
MATRIU_RGB.setPixelColor(6, 0x000000);
MATRIU_RGB.setPixelColor(7, 0x000000);
MATRIU_RGB.setPixelColor(8, 0x000000);
MATRIU_RGB.setPixelColor(9, 0x000000);
MATRIU_RGB.setPixelColor(10, 0x000000);
MATRIU_RGB.setPixelColor(11, 0x000000);
MATRIU_RGB.show();
delay(5000);
}// Final del programa
Fes la pràctica NeoPixels corona 1.