Paso 7: Programación parte 2: creación de patrones de luz
Ya que mi plan es que mi programación uso un generador para seleccionar uno de los siete patrones luz decidí escribir cada patrón de luz como una función.
La siguiente función es realmente el patrón de inclinación va de rojo a azul. También se puede ver donde se asignan los valores de acelerómetro y establecer una restricción:
void color_tilt() {}
int accel_value = analogRead(ACCEL_PIN);
accel_value = map(accel_value,MIN_AREAD,MAX_AREAD,0,255);
accel_value = constrain(accel_value,0,255);
para (int i = 0; i < strip.numPixels(); i ++) {}
strip.setPixelColor (i, 255-accel_value, 0, accel_value);
Strip.Show();
Delay(2);
}
}
En este ejemplo en realidad debería llamarse LighteningAccel y adivinaron! Debe parecer un poco aclarar! El color parpadea hacia adelante y hacia atrás desde el blanco al amarillo y con retrasos.
void ThunderAccel() {}
para (int i = 0; i < 29; i ++) {}
strip.setPixelColor (i, 255,255,255);
Strip.Show();
}
Delay(200);
para (int i = 0; i < 29; i ++) {}
strip.setPixelColor (i, 0,0,0);
Strip.Show();
}
Delay (100);
para (int i = 0; i < 29; i ++) {}
strip.setPixelColor (i, 255,255,0);
Strip.Show();
}
Delay(200);
para (int i = 0; i < 29; i ++) {}
strip.setPixelColor (i, 0,0,0);
Strip.Show();
}
Delay(50);
para (int i = 0; i < 29; i ++) {}
strip.setPixelColor (i, 255,255,0);
Strip.Show();
}
Delay(40);
para (int i = 0; i < 29; i ++) {}
strip.setPixelColor (i, 0,0,0);
Strip.Show();
}
Delay(20);
para (int i = 0; i < 29; i ++) {}
strip.setPixelColor (i, 255,255,255);
Strip.Show();
}
Delay(200);
para (int i = 0; i < 29; i ++) {}
strip.setPixelColor (i, 0,0,0);
Strip.Show();
}
Delay(1000);
para (int i = 0; i < 29; i ++) {}
strip.setPixelColor (i, 255,255,255);
Strip.Show();
}
Delay(200);
para (int i = 0; i < 29; i ++) {}
strip.setPixelColor (i, 0,0,0);
Strip.Show();
}
Delay (100);
para (int i = 0; i < 29; i ++) {}
strip.setPixelColor (i, 255,255,0);
Strip.Show();
}
Delay(100);
para (int i = 0; i < 29; i ++) {}
strip.setPixelColor (i, 0,0,0);
Strip.Show();
}
Delay(3000);
}
Usted puede encontrar los patrones, incluyendo una brillante tomé prestado (el crédito es en el código), en el paso 9. Otra nota importante, usted notará que el número 29 sube mucho. 29 se refiere al número de neopixels en la luz de la nube. No tengo los 30 completo porque quemé el cobre lejos en uno de los neopixels final en mi primer intento de soldadura. Había acortado simplemente apagado pero si usas la Faja de Neopixel completo 1 metro tienes que cambiar el 29 y 30 y ajustar algunos otros patrones de luz.