| @@ -0,0 +1,60 @@ | |||
| #include <WS2812Serial.h> | |||
| const int numled = 64; | |||
| const int pin = 1; | |||
| // Usable pins: | |||
| // Teensy 3.2: 1, 5, 8, 10, 20, 31 | |||
| // Teensy 3.5: 1, 5, 8, 10, 20, 26, 32, 33, 48 | |||
| // Teensy 3.6: 1, 5, 8, 10, 20, 26, 32, 33 | |||
| byte drawingMemory[numled*3]; | |||
| DMAMEM byte displayMemory[numled*8]; | |||
| WS2812Serial leds(numled, displayMemory, drawingMemory, pin, WS2812_GRB); | |||
| #define RED 0xFF0000 | |||
| #define GREEN 0x00FF00 | |||
| #define BLUE 0x0000FF | |||
| #define YELLOW 0xFFFF00 | |||
| #define PINK 0xFF1088 | |||
| #define ORANGE 0xE05800 | |||
| #define WHITE 0xFFFFFF | |||
| // Less intense... | |||
| /* | |||
| #define RED 0x160000 | |||
| #define GREEN 0x001600 | |||
| #define BLUE 0x000016 | |||
| #define YELLOW 0x101400 | |||
| #define PINK 0x120009 | |||
| #define ORANGE 0x100400 | |||
| #define WHITE 0x101010 | |||
| */ | |||
| void setup() { | |||
| leds.begin(); | |||
| } | |||
| void loop() { | |||
| // change all the LEDs in 1.5 seconds | |||
| int microsec = 1500000 / leds.numPixels(); | |||
| colorWipe(RED, microsec); | |||
| colorWipe(GREEN, microsec); | |||
| colorWipe(BLUE, microsec); | |||
| colorWipe(YELLOW, microsec); | |||
| colorWipe(PINK, microsec); | |||
| colorWipe(ORANGE, microsec); | |||
| colorWipe(WHITE, microsec); | |||
| } | |||
| void colorWipe(int color, int wait) { | |||
| for (int i=0; i < leds.numPixels(); i++) { | |||
| leds.setPixel(i, color); | |||
| leds.show(); | |||
| delayMicroseconds(wait); | |||
| } | |||
| } | |||