Hook up your rings to the FLORA main board with alligator clips and load up the NeoPixel test code to ensure they're working properly before proceeding.
Below is the animation code we used for the headphones, which is just a very minor modification to the standard strandtest sketch, altered to wipe the pixels to various colors. Copy and paste this code into the Adafruit Arduino IDE:
Below is the animation code we used for the headphones, which is just a very minor modification to the standard strandtest sketch, altered to wipe the pixels to various colors. Copy and paste this code into the Adafruit Arduino IDE:
#include <Adafruit_NeoPixel.h> // Parameter 1 = number of pixels in strip // Parameter 2 = pin number (most are valid) // Parameter 3 = pixel type flags, add together as needed: // NEO_RGB Pixels are wired for RGB bitstream // NEO_GRB Pixels are wired for GRB bitstream // NEO_KHZ400 400 KHz bitstream (e.g. FLORA pixels) // NEO_KHZ800 800 KHz bitstream (e.g. High Density LED strip) Adafruit_NeoPixel strip = Adafruit_NeoPixel(14, 6, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); strip.show(); // Initialize all pixels to 'off' } void loop() { // Some example procedures showing how to display to the pixels: colorWipe(strip.Color(255, 0, 0), 50); // Red colorWipe(strip.Color(0, 255, 0), 50); // Green colorWipe(strip.Color(200, 0, 218), 50); // Blue colorWipe(strip.Color(17, 249, 230), 50); // Blue colorWipe(strip.Color(235, 249, 17), 50); // Blue colorWipe(strip.Color(17, 93, 249), 50); // Blue colorWipe(strip.Color(255, 164, 56), 50); // Blue colorWipe(strip.Color(255, 56, 112), 50); // Blue colorWipe(strip.Color(56, 164, 255), 50); // Blue colorWipe(strip.Color(255, 56, 140), 50); // Blue //rainbow(20); //rainbowCycle(20); } // Fill the dots one after the other with a color void colorWipe(uint32_t c, uint8_t wait) { for(uint16_t i=0; i<strip.numPixels(); i++) { strip.setPixelColor(i, c); strip.show(); delay(wait); } } void rainbow(uint8_t wait) { uint16_t i, j; for(j=0; j<256; j++) { for(i=0; i<strip.numPixels(); i++) { strip.setPixelColor(i, Wheel((i+j) & 255)); } strip.show(); delay(wait); } } // Slightly different, this makes the rainbow equally distributed throughout void rainbowCycle(uint8_t wait) { uint16_t i, j; for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel for(i=0; i< strip.numPixels(); i++) { strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255)); } strip.show(); delay(wait); } } // Input a value 0 to 255 to get a color value. // The colours are a transition r - g - b - back to r. uint32_t Wheel(byte WheelPos) { if(WheelPos < 85) { return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0); } else if(WheelPos < 170) { WheelPos -= 85; return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3); } else { WheelPos -= 170; return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3); } }
Text editor powered by tinymce.