Paso 2: Programar el Arduino
Descargar el código aquí
El código que utiliza es simple una vez que entienda
Primero debe definir los parámetros de la tira:
Tira de Adafruit_NeoPixel = Adafruit_NeoPixel (cuenta, PIN, NEO_GRB + NEO_KHZ800);
A continuación, iniciar la biblioteca de la tira:
Strip.Begin();
So finalmente puede controlar el color de cada píxel:
color de uint32_t = tira. Color (R2, G2, B2);
strip.setPixelColor (Pixel, color);
Strip.Show();
Este es el código que escribí - comentó sobre cada parte para que pueda entender cómo funciona!
#include
#define pasador 3 / / el pin su múltiple está conectado a
#define 36 cuenta / / cuántos LEDs están en esa franja
Tira de Adafruit_NeoPixel = Adafruit_NeoPixel (cuenta, PIN, NEO_GRB + NEO_KHZ800); define las propiedades de las tiras
int R;
int G;
int B;
void colores (int Pixel, int R2, int G2, int B2) {}
color de uint32_t = tira. Color (R2, G2, B2); hacer que un color
strip.setPixelColor (Pixel, color); establecer un color de píxel
Strip.Show(); actualización de los colores
}
void doShow() {}
para (int i = 0; i < COUNT; i ++) {}
Colores (i, 0, 0, 0);
}
para (int i = 0; i < COUNT; i ++) {}
Colores (i, 255, 0, 0); vuelta todo al rojo
Delay(50);
}
para (int i = 0; i < COUNT; i ++) {}
Colores (i, 0, 255, 0); girar a todos al azul
Delay(50);
}
para (int i = 0; i < COUNT; i ++) {}
Colores (i, 0, 0, 255); vuelta a verde
Delay(50);
}
para (int i = 0; i < COUNT; i ++) {}
Colores (i, 247, 255, 0); vuelta a amarillo
Delay(50);
}
para (int i = 0; i < COUNT; i ++) {}
Colores (i, 100, 255, 0); vuelta a orange
Delay(50);
}
para (int i = 0; i < COUNT; i ++) {}
Colores (i, 255, 0, 205); girar a todos a púrpura
Delay(50);
}
para (int i = 0; i < COUNT; i ++) {}
Colores (i, 0, 213, 255); vuelta a turquesa
Delay(50);
}
Si (Serial.available() < 0) {}
doShow();
}
}
void setup() {}
Strip.Begin(); iniciar la tira
Strip.Show(); fijar la tira a negro (porque nosotros no lo dijimos a hacer nada todavía)
Serial.Begin(9600);
Serial.println ("listo para cambiar de color");
}
void loop() {}
Si (Serial.available() > 0) {/ / si los bytes están disponibles a través del puerto serial
char c = Serial.read(); leer el primer byte
Si (c == 'R') {}
R = Serial.parseInt(); obtener la INT
}
Si (c == 'G') {}
G = Serial.parseInt(); obtener la INT
}
Si (c == 'B') {}
B = Serial.parseInt(); obtener la INT
}
Si (c == 'P') {}
setColor(Serial.parseInt(), R, G, B);
}
Si (c == de ') {}
doShow();
}
}
}