Arduino Nano V3, WS2812B, USB Serial Kommunikation - Arduino bleibt hängen

Hallo,

ich habe einen Arduino Nano V3 via USB an meinem Raspberry angeschlossen um mit diesem eine LED Leiste mit dem WS2812B zu steuern.
Der Sketch schaut wie folgt aus.

#include "FastLED.h"

#define NUM_LEDS 7
#define DATA_PIN 3
CRGB leds[NUM_LEDS];

void setup() { 
       Serial.begin(9600);
       FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);
        
}

void loop() { 
  if (Serial.available())  {
    light(Serial.read() - '0');
  }
}

void light(int color) {
    if(color == 0) {
        Serial.println(color);
        for(int i = 0; i < NUM_LEDS; i++) {
          leds[i] = CRGB::Black;
          FastLED.show();
          delay(300); 
          }
        }
    if(color == 1) {
        Serial.println(color);
        for(int i = 0; i < NUM_LEDS; i++) {
          leds[i] = CRGB::Red;
          FastLED.show();
          delay(300); 
        }
      }
    if(color == 2) {
        Serial.println(color);
        for(int i = 0; i < NUM_LEDS; i++) {
          leds[i] = CRGB::Green;
          FastLED.show();
          delay(300); 
        }
      }
    if(color == 3) {
        Serial.println(color);
        for(int i = 0; i < NUM_LEDS; i++) {
          leds[i] = CRGB::Blue;
          FastLED.show();
          delay(300); 
        }
      }
    if(color == 4) {
        Serial.println(color);
        for(int i = 0; i < NUM_LEDS; i++) {
          leds[i] = CRGB::Purple;
          FastLED.show();
          delay(300); 
        }
      }
    if(color == 5) {
        Serial.println(color);
        for(int i = 0; i < NUM_LEDS; i++) {
          leds[i] = CRGB::White;
          FastLED.show();
          delay(300); 
        }
      }    
  }

Funktioniert soweit so gut. Mit einem echo [1-5] > /dev/ttyUSB0 kann ich die Leiste steuern.

Doch nun zum Problem. Der Arduino bleibt immer wieder mal hängen, zum Teil steuert er irgendwann mal die LEDs oder auch garnicht. Lasse ich den Nano via Reset Button neu starten so geht es dann wieder für 30 min oder so. Danach nimmt er keine Kommandos mehr an.

Wo könnte das Problem liegen ?

Viele Grüße

Mark

Keiner ne Idee was es ein könnte ?

Hi, versuch es mal ohne die Serielle-Ausgabe... Ansonsten mit einem anderen Library versuchen (Adafruit-Neopixel)

lg