Omet navegació

6.3 bis) NeoPíxels corona

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:

Neopixels corona esquema

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.
NeoPíxels-corona 12 leds
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.