#include "Adafruit_NeoPixel.h" #define PIN 6 enum { WIDTH=16, HEIGHT=16, N=WIDTH*HEIGHT*3 }; Adafruit_NeoPixel strip = Adafruit_NeoPixel(WIDTH * HEIGHT, PIN, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); Serial.begin(115200); strip.setPixelColor(0, strip.Color(10,10,10)); strip.show(); // Funktionstest: zeige einen einzigen Pixel an } 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) { // Lesefehler gibt -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(); } }