Go Down

Topic: Wieviel LEDs sind für ein Lauflicht möglich ? (Read 2594 times) previous topic - next topic

postmaster-ino

Hi

So ein Nano ist ein Rudel-Chip - alleine schon, um mit Amnesty International keinen Ärger zu bekommen, sollte man die Dinger nicht einzeln halten ;)
... oder anders ausgedrückt:
Man kann die Dinger auch einzeln kaufen??
Warum sollte ich so was tun?

Ok, zurück zu Deinem Sketch:
Wenn jetzt immer eine LED nach der Anderen hochdimmt, wird Das wohl so in Deinem Sketch stehen - analysiere, was in Deinem SKetch passiert, dann ist die Anpassung, daß Alle gleichzeitig hochdimmen, keine größere Änderung mehr.
Vll. passiert Es Dir, daß der Stripe dann so oft hochdimmt, wie LEDs vorhanden sind ... ;)

MfG
anscheinend ist Es nicht erwünscht, einen Foren-internen Link als 'Homepage' einzubinden, damit JEDER nur einen Klick von combie's Liste zum Thema State-Maschine entfernt ist.
... dann eben nicht ...

agmue

beim Fade lädt er aber nach und nach eine LED aufhellen und abdunkeln. nicht alle zusammen.
Das ist meiner Kreativität geschuldet. Einfach nur nachmachen ist ja langweilig.

Ich stellte mir diese Animation an meiner Bar vor. Da fände ich es schön, wenn eine Flasche nach der nächsten illuminiert wird, am besten in zufälliger Reihenfolge. Immer von  links nach rechts ist fade und alle zusammen auch. Aber die Geschmäcker sind verschieden. Du könntest mehrere Varianten Deinen Gästen zur Abstimmung geben. Du wirst sehen, bei 20 Gästen gibt es 25 Meinungen.
Wahnsinn und Verstand trennt nur eine dünne Wand. (Daniel Düsentrieb)

Aceli

#92
Apr 20, 2019, 08:18 pm Last Edit: Apr 20, 2019, 08:20 pm by Aceli
naja einzeln nicht gekauft, aber bin beruflich unterwegs und hab halt nicht meinen ganzen Baukasten mit xD

aber ein zweiter hatte sich ja wegen der Rudel Chip geschichte in die tasche geschlichen....

ja werd das ganze mal versuchen zu analysieren.
;)

----------------------------
da hast du recht. ich werd mal sehen ob ich das rausfinde wo du Kreativ warst..... :)

also warst du auch für dich etwas kreativ ja !? ;)

agmue

also warst du auch für dich etwas kreativ ja !? ;)
Ich bin hier aktiv, um was zu lernen, also ja!
Wahnsinn und Verstand trennt nur eine dünne Wand. (Daniel Düsentrieb)

Aceli

da gebe ich mir auch große mühe bei....
leider nicht immer mit erfolg :/


zufällige Reihenfolge wäre natürlich auch cool......

agmue

zufällige Reihenfolge wäre natürlich auch cool......
Da möchte ich Dir jetzt nicht den Spaß verderben, es selbst zu probieren. Schaue mal bei random().
Wahnsinn und Verstand trennt nur eine dünne Wand. (Daniel Düsentrieb)

Aceli

Danke ;)

Aber ehrlich , ich finde momentan echt nicht deine Kreativität wo das einzelne aufleuchten vermerkt ist .

Ich glaub ich muss morgen nochmal ran

postmaster-ino

Hi

Im case '3' wird kommt als Einziges fade in der aufgerufenen Funktion vor.
Dort wird für jede einzelne LED (Du merkst was?) die Fade-Funktion aufgerufen.
Diese wiederum fadet diese eine LED hoch und wieder runter.
Nun kommt die 2.te LED an die Reihe ...
Danach das Ganze mit einer anderen Farbe ... gesamt sind's 4 Farben (weiß, rot, grün, blau - ggf. Reihenfolge abweichend) und bei Jeder wird jede LED einzeln angesprochen.

MfG
anscheinend ist Es nicht erwünscht, einen Foren-internen Link als 'Homepage' einzubinden, damit JEDER nur einen Klick von combie's Liste zum Thema State-Maschine entfernt ist.
... dann eben nicht ...

Aceli

#98
Apr 21, 2019, 05:22 pm Last Edit: Apr 21, 2019, 05:24 pm by Aceli
Also muss der Hund ja hier begraben sein oder...

Code: [Select]
case 3:
      for (uint16_t n = 0; n < N_LEDS; n++) FadeInOut(n, 0xff, 0xff, 0xff);
      for (uint16_t n = 0; n < N_LEDS; n++) FadeInOut(n, 0xff, 0x00, 0x00);
      for (uint16_t n = 0; n < N_LEDS; n++) FadeInOut(n, 0x00, 0xff, 0x00);
      for (uint16_t n = 0; n < N_LEDS; n++) FadeInOut(n, 0x00, 0x00, 0xff);


Dachte es hätte was mit der led zu tun hier

Code: [Select]
void FadeInOut(uint16_t [b]led[/b], byte red, byte green, byte blue) {
  float r, g, b;

  for (int k = 0; k < 256; k = k + 1) {
    r = (k / 256.0) * red;
    g = (k / 256.0) * green;
    b = (k / 256.0) * blue;
    strip.setPixelColor([b]led[/b], r, g, b);
    if (!ohneVerzoegerung) strip.show();
    verzoegerung(INTER_FADE_DELAY);
  }

  for (int k = 255; k >= 0; k = k - 2) {
    r = (k / 256.0) * red;
    g = (k / 256.0) * green;
    b = (k / 256.0) * blue;
    strip.setPixelColor([b]led[/b], r, g, b);
    if (!ohneVerzoegerung) strip.show();
    verzoegerung(INTER_FADE_DELAY);


aber das änderte leider nix.

_____

Random werde ich wohl nicht noch mit einbinden, weil die LEDS ja über einander sind. d.h. wenn sie zufällig an geht. gehen auch genau die drei obendrüber mit an also immer 4 in einer Vertikalen Linie. Das würde mir nicht gefallen

Aceli

ich komme nicht drauf. Sitze seit 1 1/2 std davor und teste und versuche es zu verstehen.
aber nix ändert sich.

in Case 3 wird es doch definiert.
darunter in void FadeInOut wird darauf zu gegriffen oder... und es hängt ja mit dem "Led" und dem "n" in FadeinOut zusammen.

lieg ich da richtig? aber egal was ich durchspiele.... hab keine Ahnung mehr.

agmue

Also muss der Hund ja hier begraben sein oder...
Ja.

Dachte es hätte was mit der led zu tun hier
Auch.

in Case 3 wird es doch definiert.
darunter in void FadeInOut wird darauf zu gegriffen oder... und es hängt ja mit dem "Led" und dem "n" in FadeinOut zusammen.

lieg ich da richtig?
Ja.

In der Variablen led steht die Nummer vom Lichtpunkt, in k die Helligkeit beim Faden.

aber egal was ich durchspiele....
Was willst Du denn erreichen?
Wahnsinn und Verstand trennt nur eine dünne Wand. (Daniel Düsentrieb)

Aceli

#101
Apr 21, 2019, 07:47 pm Last Edit: Apr 21, 2019, 07:48 pm by Aceli
gut dann habe ich nur noch nicht den passenden Knackpunkt gefunden. MAN.

ich möchte erreichen, dass alle LEDS zusammen aufhellen .
K habe ich verstanden. das dies die Helligkeit ist. ( ist 256 eigentlich das Hellste?)

agmue

ich möchte erreichen, dass alle LEDS zusammen aufhellen .
In der von mir verwendeten Vorlage wird genau das gemacht, da kannst Du den Unterschied sehen.

( ist 256 eigentlich das Hellste?)
Nein 255, denn der Wertebereich geht von 0 bis 255. Das entspricht einem vorzeichenlosen Byte.
Wahnsinn und Verstand trennt nur eine dünne Wand. (Daniel Düsentrieb)

Aceli

ich bitte um Entschuldigung, aber in dieser vorläge von dir,
Code: [Select]

case 3:
   
      for (uint16_t n = 0; n < N_LEDS; n++) FadeInOut(n, 0xff, 0xff, 0xff);
      //for (uint16_t n = 0; n < N_LEDS; n++) FadeInOut(n, 0xff, 0x00, 0x00);
      //for (uint16_t n = 0; n < N_LEDS; n++) FadeInOut(n, 0x00, 0xff, 0x00);
      //for (uint16_t n = 0; n < N_LEDS; n++) FadeInOut(n, 0x00, 0x00, 0xff);
      break;
    default:
      lichtmodus = 0;
      Serial.print(F("Neuer Lichtmodus: "));
      Serial.println(lichtmodus);
  }
}

void FadeInOut(uint16_t led, byte red, byte green, byte blue) {
  float r, g, b;

  for (int k = 0; k < 256; k = k + 1) {
    r = (k / 256.0) * red;
    g = (k / 256.0) * green;
    b = (k / 256.0) * blue;
    strip.setPixelColor(led, r, g, b);
    if (!ohneVerzoegerung) strip.show();
    verzoegerung(INTER_FADE_DELAY);
  }

  for (int k = 255; k >= 0; k = k - 2) {
    r = (k / 256.0) * red;
    g = (k / 256.0) * green;
    b = (k / 256.0) * blue;
    strip.setPixelColor(led, r, g, b);
    if (!ohneVerzoegerung) strip.show();
    verzoegerung(INTER_FADE_DELAY);
  }



geht die erste Led an wieder aus , dann die zweite an und aus und so weiter.

wo hab ich den nun mein Denkfehler.

agmue

Du hast keinen Denkfehler, denn genau so wollte ich es ja haben.
Wahnsinn und Verstand trennt nur eine dünne Wand. (Daniel Düsentrieb)

Go Up