ws2812b 42x7 Fastled TEXT mit 7stripes

Guten Tag
Ich bin anscheinend zu Blöd oder geht das mit FastLED nicht zusammen.
was ich habe ist
7x42 LED am nano und di kann ich auch alle einzel steuern.

#include "FastLED.h"
#define NUM_STRIPS 7
#define NUM_LEDS_PER_STRIP 42
CRGB leds[NUM_STRIPS][NUM_LEDS_PER_STRIP];

void setup() {
  // put your setup code here, to run once:
  FastLED.addLeds<NEOPIXEL, 8>(leds[0], NUM_LEDS_PER_STRIP);
  FastLED.addLeds<NEOPIXEL, 2>(leds[1], NUM_LEDS_PER_STRIP);
  FastLED.addLeds<NEOPIXEL, 3>(leds[2], NUM_LEDS_PER_STRIP);
  FastLED.addLeds<NEOPIXEL, 4>(leds[3], NUM_LEDS_PER_STRIP);
  FastLED.addLeds<NEOPIXEL, 5>(leds[4], NUM_LEDS_PER_STRIP);
  FastLED.addLeds<NEOPIXEL, 6>(leds[5], NUM_LEDS_PER_STRIP);
  FastLED.addLeds<NEOPIXEL, 7>(leds[6], NUM_LEDS_PER_STRIP);
}

void loop() {
  // put your main code here, to run repeatedly:
  // This outer loop will go over each strip, one at a time
  for(int x = 0; x < NUM_STRIPS; x++) {
    // This inner loop will go over each led in the current strip, one at a time
    for(int i = 0; i < NUM_LEDS_PER_STRIP; i++) {
      leds[x][i] = CRGB::Red;
      FastLED.show();
      leds[x][i] = CRGB::Black;
      delay(10);
    }
  }
}

soweit so gut
Ich weis ihr macht das alles mit nur einem pin
Leider ist das Display aber fertig vertratet und funktioniert ohen diese FastLED wunderbar mit 1000 Zeichen als PORT Byte Scroll text AM NANO wohlgemerkt
nun würde ich aber auch gerne mal diese GRAFIK sachen probieren
speziell Rainbow
3Buchstaben links und rechts bouncen

Das ist das Zie
ich hänge aber schon am Anfang
Brauche ich da LEDMatrix und LEDtext beide libs
dann wird der Nano warscheinlich schon voll sein auch ohne nur ein Buchstabe
und die erweiterung auf 84x7 wird dann den ram sprengen.

bitte um Hilfe Danke

Guten Tag
Ich fühle mich irgendwie im stich gelassen!
hängt das an der Fragestellung?

Gibt es kennt jemand ein Beispiel mit der FastLED LEDMatrix LEDtext und einem 7strang Aufbau Horizontal
7 PIN Display

ich suche mich hier verzweifelt durch.

Ich bräuchte wirklich hilfe in dieser sache um diese netten feathers der ibs auch zu nutzen ohne das Display neu zu verlöten.

Hallo,

ich habe bisher WS2812 nur an ESP8266 betrieben uns da als ein Stripe alle in Reihe.
Wäre ja aber vermutlich auch bei Dir so schaltbar oder sind die Dout der letzen LEDs nicht zugänglich?

Es gibt für mich da 2 Gründe:

  • kleine AVR haben zuwenig Ram um da sinnvill z.B. Effekte zu machen.
  • das Timing bei der Ansteuerung ist recht kritsch und bei der Anzahl dürfte kaum noch Zeit für Effeltberechnungen sein.

Gruß aus Berlin
Michael

Hi

Nicht nur, daß Dein Problem nun doch Keines 'von der Stange' ist und hier recht wenig Leute etwas dafür können, daß Du die Stripes so verlötet hast - auch sind nicht Mal 24 Stunden um - ok, in einem Chat durchaus eine Zeit, wo man sich langsam fragen sollte, ob man wirklich online ist :wink:
In einem Forum soll's aber durchaus auch Mal Leute geben, Die ab und zu anderes Zeug machen, als Deinen Thread minütlich per F5 aufzufrischen.

Und von diesen vielen Leuten müsste dann schon Jemand ein größeres Projekt realisiert haben - mit WS2812B.

Wurde ja schon angesprochen - wahrscheinlich ist das Timing dort ein größeres Problem, weshalb bei der Menge an LEDs gerne auf APA102 umgestiegen wird - Diese haben Takt und Daten und sind somit vom Timing wesentlich zahmer - nun könnte also Wer hier hunderte dieser APA102 verbaut haben und Dir trotzdem nicht helfen können - weil's einfach nix mit WS2812B zu tun hat.

Blöde Frage nebenher: Ist Es in der Lib überhaupt vorgesehen, zwei (sieben) separate Stripes in Abhängigkeit zueinander anzusteuern?

MfG

Guten Tag
ENTschuldigung für die ungeduld im FORUM
nach Stunden an Recherche habe ich mal einen Versuch selbst unternommen.

im setup fehlt da was denke ich um die ganzen funktione zu nutzen
ich declariere ja einzelne Pins mit je 42 Led

und die Funktionen scheinen alle nur eine Stripe zu mögen
wenn da jemand helfen könnte

ich wollte sowas nutzen fill_rainbow( leds, NUM_LEDS, gHue, 7);

das setup sieht so aus

#include "FastLED.h"
#define NUM_STRIPS 7
#define NUM_LEDS_PER_STRIP 42
#define NUM_LEDS 294
CRGB leds[NUM_STRIPS][NUM_LEDS_PER_STRIP];
uint8_t gBrightness = 50;   //full brightness = 128

void setup() {
  // put your setup code here, to run once:
  FastLED.addLeds<NEOPIXEL, 8>(leds[0], NUM_LEDS_PER_STRIP);
  FastLED.addLeds<NEOPIXEL, 2>(leds[1], NUM_LEDS_PER_STRIP);
  FastLED.addLeds<NEOPIXEL, 3>(leds[2], NUM_LEDS_PER_STRIP);
  FastLED.addLeds<NEOPIXEL, 4>(leds[3], NUM_LEDS_PER_STRIP);
  FastLED.addLeds<NEOPIXEL, 5>(leds[4], NUM_LEDS_PER_STRIP);
  FastLED.addLeds<NEOPIXEL, 6>(leds[5], NUM_LEDS_PER_STRIP);
  FastLED.addLeds<NEOPIXEL, 7>(leds[6], NUM_LEDS_PER_STRIP);
  FastLED.setBrightness(gBrightness);
}

die selbstgemachte rainbow dann halt direkt auf die pins

void show_rainbow(){
  uint8_t paletteIndex = 0;
  //uint8_t row = 0;
  for (uint8_t row = 0; row < NUM_LEDS_PER_STRIP;row++){
    for (uint8_t s=0; s<NUM_STRIPS; s++) {
      if(paletteIndex == 254){paletteIndex=0;}
      leds[s][row] = ColorFromPalette( myPal, paletteIndex, gBrightness, LINEARBLEND);
      paletteIndex ++;
    }
  }
  FastLED.show();
}

Das frisst mächtig Bytes am kleine uC

vileicht eien matrix oder etwas mit *controllern

so inetwa grgb alle leds
7 controlller initiert mit den 7 stripes
und die controller dann mit den led nummern 0-42 43-.....
aber da findet man garnichts

test_7x42_p2-8.ino (2.56 KB)