Mehrere Zustände per Taster durchschalten? (oder auch PushButton ohne Abschaltzeit?)

#1 von Jonas7 , 26.11.2021 23:49

Hallo zusammen,

Direkt vorweg entschuldige ich mich, falls meine Frage bereits irgendwo beantwortet wurde, ich habe aber leider noch keine Lösung gefunden

Für mein nächstes Projekt mit der MLL würde ich gerne mehrere LEDs über einen Taster in unterschiedlichen Farben leuchten lassen. Also z.B. 10 oder mehr verschiedene, vorher festgelegte Kombinationen, die ich einfach per Druck auf einen Taster durchspielen kann.
Bsp: alle Leds sind rot -> Druck auf Taster -> alle Leds sind grün -> Druck auf Taster -> alle Leds sind blau -> Druck auf Taster ->....
Am Anfang habe ich es mit dem PushButton Befehl probiert. Problem hierbei ist, dass es eine Abschaltzeit gibt. Ich will aber, dass der Zustand solange der Arduino mit Strom versorgt wird gleich bleibt, außer ich drücke den Taster erneut oder ich schalte den Strom ab. Dass nach jedem Ausschalten des Stroms der Arduino wieder von vorne beginnt ist kein Problem, mir geht es nur darum, "dauerhafte" Zustände durchschalten zu können.
Für ein anderes, ähnliches Projekt hat mir Dominik geholfen mit der Lösung über einen MonoFlop, das funktioniert auch genau so wie ich es mir gewünscht habe, aber leider nur mit 2 verschiedenen Zuständen. Also bräuchte ich eigentlich genau das, nur mit mehreren Zuständen.
Hat mir vielleicht jemand einen Tipp oder ein Beispiel, wie ich das im Programm Generator schaffen kann?
Vielen Dank und Gruß,
Jonas


 
Jonas7
InterRegio (IR)
Beiträge: 196
Registriert am: 27.04.2017


RE: Mehrere Zustände per Taster durchschalten? (oder auch PushButton ohne Abschaltzeit?)

#2 von Jueff , 27.11.2021 21:26

Hallo Jonas,

ich würde es mit dem PatternConfigurator lösen.
PatternConfigurator öffnen, neues Pattern anlegen (ohne Daten zu kopieren), Makroname eingeben und dann Goto Mode auf 1 setzten.
Bild entfernt (keine Rechte)

Nun wird gefragt, wie der Goto Modus aktiviert wird, wir wählen hier Counter

Der Counter wird so eingestellt
Bild entfernt (keine Rechte)

Nun wird noch die Abschaltzeit des Counters auf 0 korrigiert, das ging im vorherigen Dialog leider nicht. Damit schaltet der Counter nicht ab und springt nicht auf den 0 Zustand zurück.

Bild entfernt (keine Rechte)

nun geht es darum, wie die LEDs bei jedem Schritt leuchten sollen.
Ich steuere im Beispiel eine RGB LED (=3 einzel LEDs) an, mein Farbwechsler hat 7 Schritte.
Rot, Gelb, Grün, Türkis, Blau, Violett, Weiß
und schaltet ohne Verzögerung (Dauer = 0) und ohne Überblenden (Analoges Überblenden=0) die Farben um.

Bild entfernt (keine Rechte)

Nun wird das Pattern an den ProgrammGenerator übertragen.

Im ProgrammGenerator wird dem Counter des Makros noch der Auslöser zugewiesen, beim mir SwitchD1 (=Hautplatine Taster 1)
Bild entfernt (keine Rechte)

Nun noch zum Arduino hochladen, mit der Taste wird nun die Farbe einer LED gewechselt.

Diese LED kopiere ich nun mit dem CopyLED Makro (Expertenfunktion!) auf weitere sieben LEDs
Bild entfernt (keine Rechte)

Das ginge auch im PatternConfigurator, diese Variante geht aber schneller

Fertig!

Ein Export des ProgrammGenerators sowie des PatternConfigurators sind als Zip beigefügt.

Jürgen...


Alle Infos zur MobaLedLib findet ihr hier: https://wiki.mobaledlib.de/

Dateianlage:
Sie haben nicht die nötigen Rechte, um die angehängten Dateien zu sehen

Jonas7, RReinehr, 4fangnix, Moba Jo, gerald bock, Hardi und Torsten Ue haben sich bedankt!
 
Jueff
InterRegioExpress (IRE)
Beiträge: 498
Registriert am: 25.03.2020
Homepage: Link
Spurweite H0
Stromart DC, Digital

zuletzt bearbeitet 28.11.2021 | Top

RE: Mehrere Zustände per Taster durchschalten? (oder auch PushButton ohne Abschaltzeit?)

#3 von Jonas7 , 27.11.2021 23:28

Hallo Jürgen,
Vielen Dank für deine Antwort und deine Bemühungen, insbesondere für die angefügten Dateien
Das sieht genau richtig aus für mein nächstes Projekt, da muss ich mich doch direkt beeilen, dass ich es möglichst bald ausprobieren kann.
Bei der MobaLedLib wird einem eben immer schnell geholfen - finde ich absolut super

Nur eine Frage hätte ich noch: Für ein zukünftiges Projekt (falls ich irgendwann dazu komme) müsste ich mehrere, sehr komplexe Lichtbilder mit einem Taster durchschalten können. Also nicht nur wie in meinem jetzt geplanten Projekt einzelne Leds, sondern etwa 50 LEDs die alle unterschiedlich leuchten, alle zurzeit über ConstRGB gesteuert. Das würde glaube ich im PattConfigurator doch zu komplex, zumindest für mich. Gibt es im ProgrammGenerator eine Möglichkeit um "einfach" mehrere Gruppen aus 50(oder mehr) ConstRGB Befehlen über einen Taster durchschalten zu lassen?
Vielen Dank und Grüße,
Jonas


 
Jonas7
InterRegio (IR)
Beiträge: 196
Registriert am: 27.04.2017


RE: Mehrere Zustände per Taster durchschalten? (oder auch PushButton ohne Abschaltzeit?)

#4 von Jueff , 28.11.2021 10:09

Hallo Jonas,

das würde ich mit einem Schrittschaltwerk lösen. Ein Pattern steuert eine virtuelle LED, mit dem Led2Var kann für jeden Schritt eine Variable gesetzt werden.

Zuerst das Pattern, welches bei jedem Counter Schritt die LED Helligkeit um eins erhöht
Bild entfernt (keine Rechte)


Im ProgrammGenerator wird mit dem LED_to_Var Makro abhängig von der LED Helligkeit eine Variable gesetzt.

Diese Variable nutze ich im Beispiel, um eine RGB LED einzuschalten. In deiner Anwendung kann mit der Variable dann auch mehr geschaltet werden, z.B. ein oder mehrere Patterns.

Bild entfernt (keine Rechte)

Dieses Beispiel hat nun 8 Schritte, aber es sind natürlich auch mehr oder weniger möglich.

Beispiele als Zip im Anhang.

Jürgen...


Alle Infos zur MobaLedLib findet ihr hier: https://wiki.mobaledlib.de/

Dateianlage:
Sie haben nicht die nötigen Rechte, um die angehängten Dateien zu sehen

Jonas7, 4fangnix, fbstr, gerald bock und Hardi haben sich bedankt!
 
Jueff
InterRegioExpress (IRE)
Beiträge: 498
Registriert am: 25.03.2020
Homepage: Link
Spurweite H0
Stromart DC, Digital

zuletzt bearbeitet 28.11.2021 | Top

RE: Mehrere Zustände per Taster durchschalten? Nun mit Speicherung des Letztzustands

#5 von Jueff , 28.11.2021 11:57

Hallo Jonas,

mir ist gerade noch eingefallen, dass ich vor langer Zeit auch die Möglichkeit eingebaut hatte, einen Counter Zustand zu speichern.
Um das zu erreichen muss das Counter Makro in einer eigenen Zeile stehen, dazu wird das Pattern Makro, welches aus drei Zeilen besteht, in einzelne Zeilen im ProgrammGenerator aufgeteilt.

Das geht so:

zuerst wird die Counter Goto Aktivierung im PatternConfigurator vom Pattern entfernt und auf "Nothing" gestellt und zum PG übertragen.

Bild entfernt (keine Rechte)

Dann werden im PG 3 Makros vor dem Pattern eingefügt
- "Letzte Zustände speichern"
- "Variable für 256 Zustände erstellen"
- "Zählwerk"

Der Zähler hat die Optionen "CF_ONLY_LOCALVAR|CF_ROTATE" und im letzten Feld wird der maximale Zählerwert eingetragen (hier 8)
Bild entfernt (keine Rechte)
Ein Counter speichert standardmäßig den Zustand nicht ab, das liegt daran, dass er normalerweise eine Abschaltzeit hat und daher immer automatisch abschaltet.
In diesem Anwendungsfall ist das aber nicht so, wird können den Counter nun zwingen, seinen Zustand zu speichern. Siehe auch die Hilfe im Feld "Startwert"
Bild entfernt (keine Rechte)

also wird ein "*" für Startwert in n.der Zählwerk Zeile eingetragen.

Die fertige Konfiguration sieht so aus

Bild entfernt (keine Rechte)

Export als Zip im Anhang

Jürgen....


Alle Infos zur MobaLedLib findet ihr hier: https://wiki.mobaledlib.de/

Dateianlage:
Sie haben nicht die nötigen Rechte, um die angehängten Dateien zu sehen

4fangnix, RReinehr und Jonas7 haben sich bedankt!
 
Jueff
InterRegioExpress (IRE)
Beiträge: 498
Registriert am: 25.03.2020
Homepage: Link
Spurweite H0
Stromart DC, Digital

zuletzt bearbeitet 28.11.2021 | Top

RE: Mehrere Zustände per Taster durchschalten? Nun mit Speicherung des Letztzustands

#6 von Jonas7 , 28.11.2021 19:24

Hallo Jürgen,
Vielen Dank für deine erneute schnelle Hilfe
Super dass es auch eine Möglichkeit im ProgrammGenerator gibt, das hilft mir sehr. Auf die Idee mit dem Schrittschaltwerk wäre ich nie gekommen. Und auch besten Dank für die angehängten Beispiele!
Viele Grüße,
Jonas


Jueff hat sich bedankt!
 
Jonas7
InterRegio (IR)
Beiträge: 196
Registriert am: 27.04.2017


RE: Mehrere Zustände per Taster durchschalten? Nun mit Speicherung des Letztzustands

#7 von Jueff , 28.11.2021 19:43

Zitat von Jonas7 im Beitrag #6
Hallo Jürgen,
Vielen Dank für deine erneute schnelle Hilfe
Super dass es auch eine Möglichkeit im ProgrammGenerator gibt, das hilft mir sehr. Auf die Idee mit dem Schrittschaltwerk wäre ich nie gekommen. Und auch besten Dank für die angehängten Beispiele!
Viele Grüße,
Jonas


Hallo Jonas,

Das wäre doch ein tolles Beispiel für das Wiki, z.B im Bereich "Steuerung der MobaLedLib-Effekte - Der Programmgenerator".
Es wäre sicherlich sehr hilfreich, wenn die Lösung aus Sicht des Anwenders (hier aus deiner Sicht) beschrieben wird. Die Entwickler denken oft mal anders und schreiben dann wirre Dinge, die keiner versteht.

Jeder neue Wiki Eintrag macht es anderen Benutzers einfacher, passende Lösungen für ihre Anliegen zu finden.

Wäre das was dich? Kannst du dir vorstellen, einen Wiki Beitrag zu erfassen?

Infos unter Wiki Schnellstart

Jürgen..


Alle Infos zur MobaLedLib findet ihr hier: https://wiki.mobaledlib.de/


Jonas7, Thomas1911, 4fangnix und Hardi haben sich bedankt!
 
Jueff
InterRegioExpress (IRE)
Beiträge: 498
Registriert am: 25.03.2020
Homepage: Link
Spurweite H0
Stromart DC, Digital


   

Digitele Modellbahn 1/22 mit MLL-Bericht
Gleisbildanzeige mit MLL und CS3 via CAN

  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz