Saltar la navegación

Proyectos Neopixel 00 A, B y C

00A Neopixel

Enciende SOLO UN (npixel) del color que le indiquemos (RGB)
En el ejemplo hemos escogido el led numero 4 para que se encienda de color rojo.
OJO! los numeros de los leds empiezan desde  cero, por ello, al querer encender el 4 deberemos poner 3 en la programación

linea de código: int npixel =3;

//enciende un led (npixel) del color que le indiquemos (RGB)
#include <Adafruit_NeoPixel.h>
 
#define PIN 2 // arduino 2 a input Neopixel
 
#define NUMPIXELS      8 // Número de píxels de la tira
 
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
 
int npixel =3;//pixel que se encenderá, el primer píxel es el  0, el segundo 1, etc
//fijar color RGB
int redColor = 255;
int greenColor = 255;
int blueColor = 0;
 
void setup() {
  // Inicializa NeoPixel library.
  pixels.begin();
}
 
void loop() {
//manda el color al píxel
  pixels.setPixelColor(npixel, pixels.Color(redColor, greenColor, blueColor));
  pixels.show();
 
  
 
 }

00 B Neopixel

Enciende y apaga un led (npixel) del color que le indiquemos (RGB) cada cierto intérvalo de tiempo (delay)
En el ejemplo hacemos que aparezca el color amarillo y que se vaya encendiendo y apagando.

//enciende y apaga un led (npixel) del color que le indiquemos (RGB)  cada determinado tiempo(delayval)
#include <Adafruit_NeoPixel.h>
 
#define PIN 2 // arduino 2 a input Neopixel
 
#define NUMPIXELS      8 // Número de píxels de la tira
 
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
 
int delayval = 1000; // intérvalo on/off 
int npixel =3;//pixel que se encenderá, el primer píxel es el  0, el segundo 1, etc
//fijar color RGB
int redColor = 255;
int greenColor = 255;
int blueColor = 0;
 
void setup() {
  // Inicializa NeoPixel library.
  pixels.begin();
}
 
void loop() {
//manda el color al píxel
  pixels.setPixelColor(npixel, pixels.Color(redColor, greenColor, blueColor));
  pixels.show();
 
  // Delay en estado ON
  delay(delayval);
  
 //manda el color (0,0,0,) al píxel
  pixels.setPixelColor(npixel, pixels.Color(0, 0, 0));
  //Actualiza estado píxel
  pixels.show();
  //Delay en estado OFF
  delay(delayval);
 
 }

Neopixel 00 C

Enciendo los 8 leds de colores diferentes al mismo momento.

//enciende un led (npixel) del color que le indiquemos (RGB)
#include <Adafruit_NeoPixel.h>
 
#define PIN 2 // arduino 2 a input Neopixel
 
#define NUMPIXELS      8 // Número de píxels de la tira
 
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
 
void setup() {
  // Inicializa NeoPixel library.
  pixels.begin();
}
 
void loop() {
//manda el color al píxel
  pixels.setPixelColor(0, pixels.Color(0,0,255));
  pixels.show();
  pixels.setPixelColor(7, pixels.Color(0,255,0));
  pixels.show();
  pixels.setPixelColor(3, pixels.Color(255,0,0));
  pixels.show();
  pixels.setPixelColor(1, pixels.Color(255,255,0));
  pixels.show();
  pixels.setPixelColor(4, pixels.Color(255,0,255));
  pixels.show();
  pixels.setPixelColor(6, pixels.Color(0,255,255));
  pixels.show();
  pixels.setPixelColor(2, pixels.Color(0,125,255));
  pixels.show();
  pixels.setPixelColor(5, pixels.Color(255,125,0));
  pixels.show();
  
 
 }

Con la siguiente programación vamos a conseguir que los leds no se iluminen a la vez, y que cada led tarde un tiempo diferente en aparecer.
Este tipo de programación se irá mejorando, ahora solo queremos que veas las opciones de la orden Delay.

void loop() {
//manda el color al píxel
  pixels.setPixelColor(0, pixels.Color(0,0,255));
  pixels.show();
  delay (1000);
  pixels.setPixelColor(7, pixels.Color(0,255,0));
  pixels.show();
  delay (2000);
  pixels.setPixelColor(3, pixels.Color(255,0,0));
  pixels.show();
  delay (3000);
  pixels.setPixelColor(1, pixels.Color(255,255,0));
  pixels.show();
  delay (4000);
  pixels.setPixelColor(4, pixels.Color(255,0,255));
  pixels.show();
  delay (5000);
  pixels.setPixelColor(6, pixels.Color(0,255,255));
  pixels.show();
  delay (6000);
  pixels.setPixelColor(2, pixels.Color(0,125,255));
  pixels.show();
  delay (7000);
  pixels.setPixelColor(5, pixels.Color(255,125,0));
  pixels.show();
  delay (8000);
  
 
 }