Étape 2: Étape 2: Arduino et la Neopixels
On dirait une bande droite ? Bien non. Pour commencer Adafruit dispose d’une magnifique bibliothèque que vous pouvez utiliser pour démarrer. Nous commençons par y attacher les fils de raccordement au début de votre Neopixels. Toutes les flèches pointera vers la fin. Le début est la section qui tous les cavaliers se connecter à et puis connectez-vous à l’Arduino Uno. À l’aide de fils de base, rouge est puissance, noir est au sol et blanches sont données. La rouge ira dans le 5V, Black ira à l’une des broches GND, puis le blanc, c’est où les données proviennent de comme 6.
Une fois que vous l’avez connecté allez-y et fixez la platine Arduino à un ordinateur et d’initialiser votre Arduino, logiciel de programmation. Le code est ici :
#include
#define PIN 6
Bande de Adafruit_NeoPixel = Adafruit_NeoPixel (60, PIN, NEO_GRB + NEO_KHZ800) ;
void setup() {strip.begin() ; strip.show(); / / initialise tous les pixels sur « arrêt » / / Serial.begin(115200);}
void loop() {}
Obtenir les données brutes provenant de chaque axe int rawX = analogRead(A0) ; Siham int = analogRead(A1) ; int rawZ = analogRead(A2) ;
Imprimer des lectures de l’accéléromètre brut X, Y, Z / / Serial.print ("X:") ; Serial.println(rawX) ;
Si (rawX > = 650|| siham > = 650 || rawZ > = 650) {theaterChaseRainbow(25);} else {rainbow(1);}}
Remplir les points un après l’autre avec une colorWipe Sub de couleur (uint32_t c, uint8_t attente) {pour (uint16_t j’ai = 0; i
Sub arc-en-ciel (attente uint8_t) {uint16_t i, j ;
pour (j = 0; j < 256; j ++) {pour (i = 0; i
Légèrement différent, ce qui rend l’arc en ciel également réparti tout au long de Sub rainbowCycle (attente uint8_t) {uint16_t i, j ;
pour (j = 0; j < 256 * 5; j ++) {/ / 5 cycles de toutes les couleurs sur la roue pour (i = 0; j’ai < strip.numPixels(); i ++) {strip.setPixelColor (i, roue (((i * 256/strip.numPixels()) + j) & 255));} strip.show() ; delay(wait);}}
Lumières de ramper en style théâtre. void theaterChase (uint32_t c, uint8_t attente) {pour (int j = 0; j < 10; j ++) {//do 10 cycles de chasse pour (q int = 0; q < 3; q ++) {pour (uint16_t j’ai = 0; j’ai < strip.numPixels(); i = i + 3) {strip.setPixelColor (i + q, c); //turn chaque pixel troisième sur} strip.show() ;
Delay(Wait) ;
pour (uint16_t j’ai = 0; i < strip.numPixels(); i = i + 3) {strip.setPixelColor (i + q, 0); //turn chaque pixel troisième arrêt}}}}
Style théâtre rampant s’allume avec arc-en-ciel effet Sub theaterChaseRainbow (uint8_t attente) {pour (int j = 0; j < 256; j ++) {/ / cycle tous les 256 couleurs dans la roue de (q int = 0; q < 3; q ++) {pour (uint16_t j’ai = 0; j’ai < strip.numPixels(); i = i + 3) {strip.setPixelColor (i + q, roue ((i + j) % 255)); //turn chaque pixel troisième sur} strip.show() ;
Delay(Wait) ;
pour (uint16_t j’ai = 0; i < strip.numPixels(); i = i + 3) {strip.setPixelColor (i + q, 0); //turn chaque pixel troisième arrêt}}}}
Entrer une valeur de 0 à 255 pour obtenir une valeur de couleur. Les couleurs sont un transition r - g - b - retour à r. roue d’uint32_t (WheelPos octets) {WheelPos = 255 - WheelPos ; if(WheelPos < 85) {bande de retour. Couleur (255 - WheelPos * 3, 0, WheelPos * 3) ; } if(WheelPos < 170) {WheelPos-= 85 ; bande de retour. Couleur (0, WheelPos * 3, 255 - WheelPos * 3) ; } WheelPos-= 170 ; retourner la bande. Couleur (WheelPos * 3, 255 - WheelPos * 3, 0) ;