diff options
Diffstat (limited to 'Библиотеки/FastLED-master/examples/FirstLight/FirstLight.ino')
-rw-r--r-- | Библиотеки/FastLED-master/examples/FirstLight/FirstLight.ino | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/Библиотеки/FastLED-master/examples/FirstLight/FirstLight.ino b/Библиотеки/FastLED-master/examples/FirstLight/FirstLight.ino new file mode 100644 index 0000000..ce89f64 --- /dev/null +++ b/Библиотеки/FastLED-master/examples/FirstLight/FirstLight.ino @@ -0,0 +1,78 @@ +// Use if you want to force the software SPI subsystem to be used for some reason (generally, you don't) +// #define FASTLED_FORCE_SOFTWARE_SPI +// Use if you want to force non-accelerated pin access (hint: you really don't, it breaks lots of things) +// #define FASTLED_FORCE_SOFTWARE_SPI +// #define FASTLED_FORCE_SOFTWARE_PINS +#include "FastLED.h" + +/////////////////////////////////////////////////////////////////////////////////////////// +// +// Move a white dot along the strip of leds. This program simply shows how to configure the leds, +// and then how to turn a single pixel white and then off, moving down the line of pixels. +// + +// How many leds are in the strip? +#define NUM_LEDS 60 + +// Data pin that led data will be written out over +#define DATA_PIN 3 + +// Clock pin only needed for SPI based chipsets when not using hardware SPI +//#define CLOCK_PIN 8 + +// This is an array of leds. One item for each led in your strip. +CRGB leds[NUM_LEDS]; + +// This function sets up the ledsand tells the controller about them +void setup() { + // sanity check delay - allows reprogramming if accidently blowing power w/leds + delay(2000); + + // Uncomment one of the following lines for your leds arrangement. + // FastLED.addLeds<TM1803, DATA_PIN, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<TM1804, DATA_PIN, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<TM1809, DATA_PIN, RGB>(leds, NUM_LEDS); + FastLED.addLeds<WS2811, DATA_PIN, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS); + // FastLED.addLeds<APA104, DATA_PIN>(leds, NUM_LEDS); + // FastLED.addLeds<WS2811_400, DATA_PIN, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<GW6205, DATA_PIN, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<GW6205_400, DATA_PIN, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<UCS1903, DATA_PIN, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<UCS1903B, DATA_PIN, RGB>(leds, NUM_LEDS); + + // FastLED.addLeds<WS2801, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<SM16716, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<LPD8806, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<P9813, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<APA102, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<DOTSTAR, RGB>(leds, NUM_LEDS); + + // FastLED.addLeds<WS2801, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<SM16716, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<LPD8806, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<P9813, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<APA102, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); + // FastLED.addLeds<DOTSTAR, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS); +} + +// This function runs over and over, and is where you do the magic to light +// your leds. +void loop() { + // Move a single white led + for(int whiteLed = 0; whiteLed < NUM_LEDS; whiteLed = whiteLed + 1) { + // Turn our current led on to white, then show the leds + leds[whiteLed] = CRGB::White; + + // Show the leds (only one of which is set to white, from above) + FastLED.show(); + + // Wait a little bit + delay(100); + + // Turn our current led back to black for the next loop around + leds[whiteLed] = CRGB::Black; + } +} |