l'éclairage des deux extrémités de la bande de LED à l'aide d'Arduino fastLED bibliothèque

J'ai une bande de LED(WS2812B) de 60 LED. J'ai le code suivant qui s'allume une LED au début de la bande et l'envoie vers la fin, une fois qu'il atteint la fin il "rebondit" et renvoie vers le bas la bande de gaza pour le départ.

Ce que j'essaie de faire c'est d'avoir les deux extrémités de la LED bande de lumière avec une led et un petit sentier derrière elle, ces LED, puis déplacer vers le bas de la bande aux extrémités opposées et quand ils se rencontrent.

Je suis à essayer de comprendre comment faire pour exécuter les deux lignes de code à la fois, comme actuellement, il envoie les lumières vers le bas dans un sens, puis il exécute le code des autres. Toute aide serait appréciée

Ci-dessous mon code jusqu'à présent.

#include "FastLED.h"

//How many leds in your strip?
#define NUM_LEDS 57

//For led chips like Neopixels, which have a data line, ground, and power, you just
//need to define DATA_PIN.  For led chipsets that are SPI based (four wires - data, clock,
//ground, and power), like the LPD8806, define both DATA_PIN and CLOCK_PIN
#define DATA_PIN 4
#define CLOCK_PIN 13

//Define the array of leds
CRGB leds[NUM_LEDS];
int end_led = 55;
void setup() { 
    FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
}

void loop() { 

    //First slide the led in one direction
    for(int i = 0; i < NUM_LEDS; i++) {
        //Set the i'th led to
        leds[i] = CRGB::Red;
        //Show the leds
        FastLED.show();
        //now that we've shown the leds, reset the i'th led to black
        leds[i] = CRGB::Black;
        //Wait a little bit before we loop around and do it again
        delay(30);
    }

    //Now go in the other direction.  
    for(int i = NUM_LEDS-1; i >= 0; i--) {
        //Set the i'th led to red 
        leds[i] = CRGB::Red;
        //Show the leds
        FastLED.show();
        //now that we've shown the leds, reset the i'th led to black
        leds[i] = CRGB::Black;
        //Wait a little bit before we loop around and do it again
        delay(30);
    }

}

InformationsquelleAutor user3650687 | 2014-05-18