Treppenbeleuchtung, unterschiedlich breite Stufen

Hallo,
ich brauche Hilfe beim erstellen eines Programms für eine Treppenbeleuchtung.
Programmier- Kenntnisse habe ich wenig. technisches Verständnis gut.

Diese hat 15 Stufen, unterschiedlich in der Breite 1-1,5m ( geht um 180 grad)
Die Stufen sollen nach einem analogen Signal einzeln angehen. ( Bwegungsmelder oder Lichtschalter 24V, da würde ich einen Wiederstand zwischen schalten um die Spannung zu senken)

Ich habe ein LED Band WS2812B in Zick Zack Form verlegt.

Somit brauche ich ein Programm, dass jede Stufe als Block behandelt wo ich sagen kan : Stufe 1
LED 1-100 , Stufe 2 LED101-110 usw. auch die farbe und animation sollen wählbar sein, wie etwa vom Rand zu mitte aufleuchten.

Ich wäre sehr dankbar wenn mir jemand wenigstens ein Grundgerüst für die Blöcke schreiben würde, den ich sitze seit Tage dran und komme nicht weiter.

Wieviele Pixel sind es zusammen?

Welchen µC verwendest Du?

const int groups [] = {0, 100, ..., ...};
uint32_t color1 = CRGB(farbe rot, farbe grün, der Rest);
for (int i = groups [0]; i < groups [1]; i++)leds[i] = color1 ;

UNO R3 ,
Pixel insgesamt etwa um die 1700

ich bezweifle, dass Uno schafft 1700 LEDs Kette. 1000-1200 wahrsheinlich erreichbar.

welcher Controller würde die 1700 können?

Teensy, ESPs. Aber wozu? trenne eine Kette in zwei. Sie werden ja sowieso nach einander eingeschaltet werden

Zwei Probleme:

  1. Dafür hat der UNO zu wenig Speicher: 3 Byte/Pixel * 1700 Pixel = 5100 Byte

  2. Außerdem ist das Timing der WS2812 kritisch, bei ca. 1000 Pixeln soll es kritisch werden. Langsam ist es dann sowieso. Nimm mal ein Bibliotheksbeispiel und laß ein Pixel laufen, damit Du weißt, was ich meine.

Lösung:

  1. µC mit mehr Speicher, hast Du noch was rumliegen?
  2. µC in die Treppenmitte setzen und zwei Pins nutzen, einen nach oben, einen nach unten.

Beispielsweise:

  • Teensy: leider recht teuer und nicht alle sind lieferbar
  • ESP32: gutes Preis/Leistungsverhältnis, braucht aber etwas Einarbeitung

Beide 3,3 V an den IOs und eigene Erweiterung der Arduino-IDE.

Welche Bibliothek möchtest Du nutzen?

Mit einem µC dürfte die Programmierung einfacher werden :slightly_smiling_face:

ich kenne mich mit den Möglichkeiten der mikro Controller überhaut nicht aus.
habe angenommen dass kann am Stück funktionieren.
wenn ich die 1700 Pixel, sagen wir in 1000 und 700 aufteilen kann, dafür nur eine weitere Leitung dem 1001 Pixel zuführen muss , bin auch damit einverstanden.
nur habe ich keine Ahnung wie ich dass programmieren soll

ich meinte nicht mehrere µC zu nehmen, sondern die Kette zu teilen. UNO hat 17 pins an di man eine einzelne Stufe anschliessen kann. und eine Stufe wird nicht viel RAM brauchen.

wenn Hardware stimmt (physikalisch schafft die Anforderungen), wäre die Software das einfachste.

Das stimmt leider nicht, da wir hier über WS2812B reden. Da benötigt jedes Pixel für jede Farbe ein Byte, bei RGB also drei Byte.

Diese Möglichkeit gefällt mir.
Wie kann ich das Programmieren?

doch-doch, schau, z.B. eine Stufe hat insgesamt 100 LEDs, das sind 300 bytes. 2K RAM absolut ausreichend

die sind verschieden groß, manche z.b. 130

das macht kein Unterschied, es ist schaffbar sowieso.
beschreibe dann wie viel muss es an jeder Stufe sein
und welche Bibliothek du planst zu nutzen.

Das hängt von der von Dir gewünschten Animation ab.

  • alle Pixel einer Stufe haben dieselbe Farbe und Helligkeit
  • innerhalb einer Stufe gibt es z, B. einen Farbverlauf
  • alle Stufen zusammen sollen ein "Bild" ergeben

Von oben nach unten wird es komplizierter :slightly_smiling_face:

Wenn Du je Stufe einen UNO nimmst, stimmt das.

jede stufe mit eigener Leitung, geht nicht, weil die Kabel Kanäle schon verputzt sind ,
ich habe da zusätzlich nur noch 2 Leitungen parallel liegen . abgesehen von der Stromleitung

ich habe einem geholfen, der für jede Midi-Taste ein LED einschalten wollte. Er hat am ende eine Kette von 1200 geschafft.

Das würde schon vollkommen reichen.
Helligkeit alle Stufen gleich, animation z.b vom Rand zur mitte hin aufleuchten , alle gleich,
oder Farbverlauf , gleich für alle stufen