Paso 2: Paso 2: Arduino y el Neopixels
¿Suena como una banda derecha? No bien. Para empezar Adafruit tiene una biblioteca maravillosa que se puede utilizar para empezar. Comenzamos con la atadura de cables de puente al principio de su Neopixels. Todas las flechas apuntarán al final. El principio es la sección que los puentes conectan y luego conectan al Arduino Uno. Usando cables básicos, roja es energía, es negro y blanco datos. El rojo estará en 5V, negro irá a uno de los pines GND, luego el blanco es de donde provienen los datos como 6.
Una vez que tengas conectado adelante y gancho de la placa de circuito de Arduino a un ordenador y su software de programación de Arduino el arranque. El código es aquí:
#include
#define PIN 6
Tira de Adafruit_NeoPixel = Adafruit_NeoPixel (60, PIN, NEO_GRB + NEO_KHZ800);
void setup() {strip.begin(); strip.show(); / / inicializar todos los píxeles en 'off' / / Serial.begin(115200);}
void loop() {}
Obtener datos de acelerómetro cruda para cada eje int rawX = analogRead(A0); rawY int = analogRead(A1); rawZ int = analogRead(A2);
Imprimir crudo X, Y, Z las lecturas del acelerómetro / / Serial.print ("X:"); Serial.println(rawX);
Si (rawX > = 650|| rawY > = 650 || rawZ > = 650) {theaterChaseRainbow(25);} else {rainbow(1);}}
Llene los puntos uno tras otro con un colorWipe vacío de color (uint32_t c, uint8_t espera) {para (uint16_t i = 0; i
sin efecto arco iris (uint8_t espera) {uint16_t i, j;
para (j = 0; j < 256; j ++) {para (i = 0; i
Ligeramente diferente, esto hace que el arco iris, igualmente distribuido por vacío rainbowCycle (uint8_t espera) {uint16_t i, j;
para (j = 0; j < 256 * 5; j ++) {/ / 5 ciclos de todos los colores en la rueda para (i = 0; i < strip.numPixels(); i ++) {strip.setPixelColor (i, rueda (((i * 256/strip.numPixels()) + j) y 255));} strip.show(); delay(wait);}}
Luces de arrastre tipo teatro. anular theaterChase (uint32_t c, uint8_t espera) {para (int j = 0; j < 10; j ++) {//do 10 ciclos de perseguir para (int q = 0 q < 3; q ++) {para (uint16_t me = 0; i < strip.numPixels(); i = i + 3) {strip.setPixelColor (i + q, c); //turn cada píxel tercera en} strip.show();
Delay(Wait);
para (uint16_t i = 0; i < strip.numPixels(); i = i + 3) {strip.setPixelColor (i + q, 0); //turn cada tercer pixel apagado}}}}
Arrastrándose en estilo teatro luces con arco iris efecto void theaterChaseRainbow (uint8_t esperar) {para (int j = 0; j < 256; j ++) {/ ciclo todos los 256 colores en la rueda de (int q = 0 q < 3; q ++) {para (uint16_t me = 0; i < strip.numPixels(); i = i + 3) {strip.setPixelColor (i + q, rueda ((i + j) % 255)); //turn cada píxel tercera en} strip.show();
Delay(Wait);
para (uint16_t i = 0; i < strip.numPixels(); i = i + 3) {strip.setPixelColor (i + q, 0); //turn cada tercer pixel apagado}}}}
Un valor de 0 a 255, para obtener un valor de color de entrada. Los colores son una transición r - g - b - a r. rueda de uint32_t (bytes WheelPos) {WheelPos = 255 - WheelPos; if(WheelPos < 85) {return tira. Color (255 - WheelPos * 3, 0, WheelPos * 3); } if(WheelPos < 170) {WheelPos-= 85; tira de vuelta. Color (0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos-= 170; volver la tira. Color (WheelPos * 3, 255 - WheelPos * 3, 0);