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.
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 ;
Dafür hat der UNO zu wenig Speicher: 3 Byte/Pixel * 1700 Pixel = 5100 Byte
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:
µC mit mehr Speicher, hast Du noch was rumliegen?
µ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
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.
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
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