#include #define PIN 3 PololuLedStrip leds; #define LED_COUNT 256 #define BAUD 1000000 rgb_color colors[LED_COUNT]; #define BRIGHTNESS 10 void setup() { PololuLedStripBase::interruptFriendly = true; Serial.begin(BAUD); Serial.setTimeout(500); } // main program void loop() { byte buf[1]; unsigned int c=0; do{ c++; if(Serial.readBytes(buf, 1) == 0) { for (uint16_t i = 0; i < LED_COUNT; i++){ colors[i] = rgb_color(0, 0, 0); } leds.write(colors, LED_COUNT); } }while(buf[0] != 255); if(c>1){ Serial.print("Invalid Data Bytes: "); Serial.println(c); } for (uint16_t i = 0; i < LED_COUNT; i++) { char col[3]; Serial.readBytes(col, 3); colors[i] = rgb_color(col[0], col[1], col[2]); } leds.write(colors, LED_COUNT); }