Omet navegació

6.3) NeoPixels 8x8

Cas d'estudi: NeoPixels

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 de 8x8.

Primer del tot, cal soldar 6 pins a les exides GND (x2), 5V (x2) , DIN (Digital Input), i DOUT (Digital Output), per poder connectar cables al nostre Arduino Uno i fer el muntatge següent:

Arduino NeoPixels Breboard
C. Ferrando (CC BY-NC-SA)

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 64 leds RGB que té definits per omplir de color.

Mira el dibuix de baix per veure quins leds s'ompliràn de color.

NeoPixels 8x8 HOLA

Escriu el programa provaNeoPixel8x8.
NeoMatrix_8x8
El programa equivalent en Arduino IDE és:
#include <Adafruit_NeoPixel.h>

Adafruit_NeoPixel MATRIX_RGB = Adafruit_NeoPixel(64, 6, NEO_GRB + NEO_KHZ800);

void setup() {
  Serial.begin(9600);
  pinMode(6, OUTPUT);
  MATRIX_RGB.begin();

}

void loop() {
    MATRIX_RGB.setPixelColor(0, 0x009900);
    MATRIX_RGB.setPixelColor(2, 0x009900);
    MATRIX_RGB.setPixelColor(4, 0x009900);
    MATRIX_RGB.setPixelColor(5, 0x009900);
    MATRIX_RGB.setPixelColor(6, 0x009900);
    MATRIX_RGB.setPixelColor(8, 0x009900);
    MATRIX_RGB.setPixelColor(9, 0x009900);
    MATRIX_RGB.setPixelColor(10, 0x009900);
    MATRIX_RGB.setPixelColor(12, 0x009900);
    MATRIX_RGB.setPixelColor(14, 0x009900);
    MATRIX_RGB.setPixelColor(16, 0x009900);
    MATRIX_RGB.setPixelColor(18, 0x009900);
    MATRIX_RGB.setPixelColor(20, 0x009900);
    MATRIX_RGB.setPixelColor(21, 0x009900);
    MATRIX_RGB.setPixelColor(22, 0x009900);
    MATRIX_RGB.setPixelColor(32, 0x009900);
    MATRIX_RGB.setPixelColor(36, 0x009900);
    MATRIX_RGB.setPixelColor(37, 0x009900);
    MATRIX_RGB.setPixelColor(38, 0x009900);
    MATRIX_RGB.setPixelColor(40, 0x009900);
    MATRIX_RGB.setPixelColor(44, 0x009900);
    MATRIX_RGB.setPixelColor(45, 0x009900);
    MATRIX_RGB.setPixelColor(46, 0x009900);
    MATRIX_RGB.setPixelColor(48, 0x009900);
    MATRIX_RGB.setPixelColor(49, 0x009900);
    MATRIX_RGB.setPixelColor(50, 0x009900);
    MATRIX_RGB.setPixelColor(52, 0x009900);
    MATRIX_RGB.setPixelColor(54, 0x009900);
    MATRIX_RGB.show();
    delay(2000);
    MATRIX_RGB.setPixelColor(0, 0xff0000);
    MATRIX_RGB.setPixelColor(2, 0xff0000);
    MATRIX_RGB.setPixelColor(4, 0xff0000);
    MATRIX_RGB.setPixelColor(5, 0xff0000);
    MATRIX_RGB.setPixelColor(6, 0xff0000);
    MATRIX_RGB.setPixelColor(8, 0xff0000);
    MATRIX_RGB.setPixelColor(9, 0xff0000);
    MATRIX_RGB.setPixelColor(10, 0xff0000);
    MATRIX_RGB.setPixelColor(12, 0xff0000);
    MATRIX_RGB.setPixelColor(14, 0xff0000);
    MATRIX_RGB.setPixelColor(16, 0xff0000);
    MATRIX_RGB.setPixelColor(18, 0xff0000);
    MATRIX_RGB.setPixelColor(20, 0xff0000);
    MATRIX_RGB.setPixelColor(21, 0xff0000);
    MATRIX_RGB.setPixelColor(22, 0xff0000);
    MATRIX_RGB.setPixelColor(32, 0xff0000);
    MATRIX_RGB.setPixelColor(36, 0xff0000);
    MATRIX_RGB.setPixelColor(37, 0xff0000);
    MATRIX_RGB.setPixelColor(38, 0xff0000);
    MATRIX_RGB.setPixelColor(40, 0xff0000);
    MATRIX_RGB.setPixelColor(44, 0xff0000);
    MATRIX_RGB.setPixelColor(45, 0xff0000);
    MATRIX_RGB.setPixelColor(46, 0xff0000);
    MATRIX_RGB.setPixelColor(48, 0xff0000);
    MATRIX_RGB.setPixelColor(49, 0xff0000);
    MATRIX_RGB.setPixelColor(50, 0xff0000);
    MATRIX_RGB.setPixelColor(52, 0xff0000);
    MATRIX_RGB.setPixelColor(54, 0xff0000);
    MATRIX_RGB.show();
    delay(2000);

}


Fes la pràctica NeoPixels 8x8_1