#include "Adafruit_NeoPixel.h" #define PIN 6 enum { WIDTH=16, HEIGHT=16, N=WIDTH*HEIGHT*3 }; // 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(WIDTH * HEIGHT, PIN, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); strip.show(); // Initialize all pixels to 'off' Serial.begin(115200); } int j = 0; int counter = 0; char buf[3*WIDTH*HEIGHT]; void loop() { int incomingByte = 0; while((Serial.available() > 0) && (incomingByte != -1)) { incomingByte = Serial.read(); if (incomingByte != -1) { if(incomingByte == 254) counter = 0; else{ buf[counter] = incomingByte; counter++; if (counter >= N) counter = 0; } } } if (counter >= N-1) { for (int i = 0; i < WIDTH*HEIGHT; i++) { strip.setPixelColor(i, strip.Color(buf[3*i], buf[3*i+1], buf[3*i+2])); } strip.show(); } } // Fill the dots one after the other with a color void colorWipe(uint32_t c, uint8_t wait) { for(uint16_t i=0; i