MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Selectrix

Bereich für alle Themen rund um Modellbahn-Software, sowie der nötigen Hardware (PCs, Bildschirme, etc.).

rolfha
Regionalbahn (RB)
Beiträge: 46
Registriert: Do 14. Feb 2019, 22:20
Nenngröße: N
Stromart: digital
Steuerung: Lenz
Gleise: Fleischmann
Wohnort: Kronberg
Alter: 69
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung

#226

Beitrag von rolfha » Di 26. Mär 2019, 08:41

Hallo Hardi, alle,
gerade saß ich wieder am Lötkolben und habe 4polige Wannenstecker verlötet. Dabei kam mir ein Gedanke, den ich hier gerne auch ins unreine äußern würde.
Vom Arduino an die Verteilerplatine ist doch ein Draht frei, richtig? Was, wenn man den D7 als einen Taster mit zur Verteilerplatine (In einer zukünftigen Version) führt und einen Anschluss für einen Taster an der Verteilerplatine vorsieht? Nur so eine Idee. Wenn dann die 6poligen kommen, hätte man 3 pole und könnte (wenn man wollte) die Tastenmatrix mit über dieses eine 6er Kabel führen. Auch nur was mir eben so durch den Kopf schoss und vielleicht nonsense, vielleicht schon längst vorbereitet. In meinem Alter sag ich es aber lieber gleich, bevor ich es vergesse.
Grüße an die Stummis
Rolf


rolfha
Regionalbahn (RB)
Beiträge: 46
Registriert: Do 14. Feb 2019, 22:20
Nenngröße: N
Stromart: digital
Steuerung: Lenz
Gleise: Fleischmann
Wohnort: Kronberg
Alter: 69
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung

#227

Beitrag von rolfha » Di 26. Mär 2019, 08:48

Keine Werbung sondern nur Hilfe für die, denen das Löten an der kleinen Platine schwer fällt. Ihr müsst dann nur noch von der letzten LED in der Reihe wieder zurück da die Kabel nur 3 polig sind.
https://de.aliexpress.com/item/50x-Pre- ... 4c4dXk8Cxy


rolfha
Regionalbahn (RB)
Beiträge: 46
Registriert: Do 14. Feb 2019, 22:20
Nenngröße: N
Stromart: digital
Steuerung: Lenz
Gleise: Fleischmann
Wohnort: Kronberg
Alter: 69
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung

#228

Beitrag von rolfha » Di 26. Mär 2019, 10:08

Noch eine Chinesische Überraschung:
https://ohoe12-my.sharepoint.com/:i:/g/ ... g?e=yuigc7

Ich hatte ja am Anfang WS2812b in 5050 Gehäuse ohne Platine bestellt weil ich von nichts anderem wusste. Was geliefert wurde, seht ihr auf dem Foto. 1. ist eine alte 5050 WS2812 mit 6 Lötpunkten. 2. ist was geliefert wurde. Die B Variante aber doch höchstens 3030. Bei 3, seht ihr, was ich mit dem 104 Kondensator zusammengezittert habe. Das ist wirklich zu klein zum normalen löten.

Benutzeravatar

Threadersteller
Hardi
InterRegio (IR)
Beiträge: 246
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 56
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung

#229

Beitrag von Hardi » Di 26. Mär 2019, 11:11

Hallo Rolf,
rolfha hat geschrieben:
Di 26. Mär 2019, 08:41
Vom Arduino an die Verteilerplatine ist doch ein Draht frei, richtig? Was, wenn man den D7 als einen Taster mit zur Verteilerplatine (In einer zukünftigen Version) führt und einen Anschluss für einen Taster an der Verteilerplatine vorsieht? Nur so eine Idee. Wenn dann die 6poligen kommen, hätte man 3 pole und könnte (wenn man wollte) die Tastenmatrix mit über dieses eine 6er Kabel führen.
Das ist eine sehr gute Idee die man ausbauen könnte. Ja, wir haben „eigentlich“ eine ungenutzte Leitung vom Arduino welche sogar bis zur letzten Verteilerplatine geht!
Bild
Die Leitung ganz unten im Bild (SO) braucht man nicht. Ich habe geplant, dass damit geprüft wird ob die Kette irgendwo unterbrochen ist. Das würde man natürlich auch erkennen wenn die LEDs nicht leuchten aber die Abfrage per Programm funktioniert auch wenn die LEDs per Programm ausgeschaltet sind. Aber braucht man das unbedingt?

Auf der Hauptplatine ist diese Leitung dafür auch schon an Pin D2 angeschlossen:
Bild
(Edit:31.03.19: Schaltplan aktualisiert)
Aber man könnte die Leitung natürlich auch für andere Zwecke verwenden.

Das einlesen eines, oder nach Möglichkeit mehrerer, Taster wäre sehr schön. Zum einlesen mehrerer Taster könnte man verschiedene Widerstände an die Taster löten. Damit können Problemlos 10 Taster erkannt werden. Diese dürfen aber nicht gleichzeitig gedrückt werden. Bei den Sound Modulen wird das auch so gemacht:
Bild
(Siehe #141: https://www.stummiforum.de/viewtopic.ph ... 6#p1942596)

Das gefällt mir. Schade, dass ich auf der Hauptplatinen keinen analogen Eingang zum einlesen dieses Signals verwendet habe. Aber das kann man ja mit einer Brücke auf der Platine schnell ändern. Die Taster können leider auch nicht an jeder Verteilerplatine angeschlossen werden. Im ersten Bild sieht man, dass es nur an den unteren beiden Verteilern möglich ist. An der letzten Verteilerplatinen kann man sogar anstelle eines Jumpers einen 4-poligen Stecker verwenden an dem man die Taster Anschließt. Das ist richtig gut! Eine kleine Brücke auf der Hauptplatine, ein bisschen Hirnschmalz und schon können 10 „Push-Button“ Aktionen eingebaut werden ohne dass man zusätzliche Kabel verlegen muss!!!
=> Sehr gute Idee!

Alternativ könnte man bei einem 6-poligen Kabel die beiden zusätzlichen Leitungen zum einlesen vieler Taster über zusätzliche 4017 IC’s verwenden wie ich das mit dieser Platine mache:
Bild
Für das einlesen von Tastern benötigt man nur den CD4017 (Im Bild unten). Wenn man weitere Taster anschließen will, dann braucht man auch noch das NAND Gatter IC CD4011 (Im Bild nicht bestückt und mit dem Gelb/Braunen Kabel überbrückt). Das könnte man noch auf eine Verteilerplatine unterbringen.

Aber eigentlich reichen 10 „Push-Button“ Aktionen für eine Hobby Anlage. => Die Widerstandskodierung der Taster ist ausreichend. Und wenn man doch mehr Taster benötigt, dann verwendet man einen zweiten analogen Eingang und kann weitere 10 Taster anschließen…

Rolf: Das ist eine sehr schöne Idee! Ich hoffe Du lötest noch viele Verteilerplatinen und bekommst solche Inspirationen…

Hardi

Benutzeravatar

Threadersteller
Hardi
InterRegio (IR)
Beiträge: 246
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 56
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung

#230

Beitrag von Hardi » So 31. Mär 2019, 23:01

Hallo Knopf Drücker,

die Idee von Rolf hat mir keine Ruhe gelassen. Darum habe ich das ganze mal aufgebaut und getestet.
Zum Einlesen von bis zu 10 Tastern benötigt man nur zwei Kabel und 9 Widerstände! Die Platine aus dem letzten Post braucht man nicht, oder nur dann, wenn gleichzeitig betätigte Taster einzeln erkennen will.
So sieht das doch schon viel einfacher aus:
Bild

Leider ist es nicht möglich, so wie Rolf das vorgeschlagen hat, die Rückleitung der LEDs zu verwenden. Das wäre eine pfiffige Lösung gewesen. Das Problem ist der Spannungsabfall in der Masseleitung zu den LEDs. Diese können unterschiedlich viel Strom verbrauchen abhängig davon wie viele LEDs aktiv sind und mit welcher Helligkeit sie leuchten. Dadurch kommt es zu einem variablen Spannungsabfall in der GND Leitung welche die gemessene Spannung U_Inp verändert.
Bild
Ich habe versucht dieses durch einen großzügigen Toleranzbereich zu kompensieren, aber es ist mir nicht gelungen. Bei 10 verschiedenen Tastern kommt es zu schnell zu Überschneidungen was dazu führt, dass der falsche Taster erkannt wird. Darum müssen zwei separate Kabel benutzt werden.
Aber das ist nicht so schlimm. Zwei zusätzlich Kabel wird das Modellbahn Budget nicht zu sehr belasten.

Man kann mit dieser Lösung bis zu 80 Taster mit einem Arduino einlesen. Dazu benötigt man nur 8 analoge Eingänge. Ich finde das ist Sensationell.

Damit Ihr das Testen könnt habe ich ein Beispielprogramm geschrieben:
25.Analog_Push_Button.zip
Bei der nächsten Version der Bibliothek wird dieses Beispiel integriert sein.

Es liest 10 Taster ein und steuert damit „Druck Knopf Aktionen“ wie im Wunderland. Für das Beispiel habe ich nur die ersten 5 Taster benutzt damit Ihr noch Platz für Eure Aktionen habt.
Die Taster werden gemäß dem oberen Bild an den Nano angeschlossen. Vergesst den 22k Widerstand gegen +5V und den Kondensator nicht.

Der erste Taster steuert 6 Gas Straßenlaternen welche zufällig nacheinander an gehen und dabei ihre volle Helligkeit erst langsam erreichen. Durch Druckschwankungen oder Windböen passiert es manchmal das eine Lampe flackert. Bei einer der Lampen sind einige Glühstrümpfe defekt. Darum leuchtet sie schwächer als die anderen.

Mit dem zweiten Taster werden die Lichter in einem Bürogebäude welches mit Neonröhren beleuchtet ist ein und ausgeschaltet. Hier werden die Lichter in den verschiedenen Räumen zufällig nacheinander eingeschaltet. Abhängig davon welches Helligkeitsbedürfnis die Preiser in den Büros haben.

Der Taster 3 aktiviert die Beleuchtung eines Feuerwehrfahrzeugs. Hier blitzen die Blaulichter mit geringfügig unterschiedlicher Frequenz und Frontscheinwerfer und Warnblinker blinken.

Wenn ein Sound Modul an die LED 15 angeschlossen wird wie das hier (#13: https://www.stummiforum.de/viewtopic.ph ... 3#p1912437) gezeigt wird, dann wird mit jedem Tastendrück ein zufälliger Sound wiedergegeben. Das macht den Besuchern besonders viel Spaß. Wenn Ihr anstelle eines Sound Moduls eine RGB LED anschließt, dann wird diese kurz aufblitzen.

Mit dem letzten belegten Taster wird auf unserer Anlage die Beleuchtung der verfallene Bug aktiviert. Die „Knopf Druck Aktion“ hat zwei verschiedene Funktionen. Beim ersten Druck auf den Taster werden nacheinander Weiße Strahler aktiviert. Mit dem zweiten Druck wird eine Bunte Illumination eingeschaltet. Das ist etwas kitschig, gefällt mir aber trotzdem sehr gut.

Jeder Taster hat eine eigene Status LED welche anzeigt ob die Aktion gerade aktiv ist. Die LEDs leuchten normalerweise Blau und Wechsel ihre Farbe bzw. blinken wen die Taster gedrückt wurden.
Über ein Timeout im Programm kann angegeben werden wie lange so eine Aktion dauern soll.

Probiert es aus und fügt euere eigenen Aktionen hinzu.
Wenn Ihr dazu Hilfe benötigt sagt Bescheid…

Hardi
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


rolfha
Regionalbahn (RB)
Beiträge: 46
Registriert: Do 14. Feb 2019, 22:20
Nenngröße: N
Stromart: digital
Steuerung: Lenz
Gleise: Fleischmann
Wohnort: Kronberg
Alter: 69
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung

#231

Beitrag von rolfha » Do 4. Apr 2019, 12:01

Hallo,
ich habe mich mal an einem Video versucht. Es ist kein Hollywood-Streifen geworden. Es ist halt ein Versuch und ich nehme jede Kritik an. Mein Ziel ist es, zu zeigen, wie einfach der Umgang mit der Hardware für Hardis Bibliothek ist, und dass man sehr einfach Häuser mit den WS2812 LEDs ausrüsten kann.
Ich habe eine Lösung gewählt, die mir lag und bei der ich das Material rumliegen hatte. Es gibt viele andere Lösungen. Ihr könnt sie gerne vorschlagen. Schauts euch einfach an und kommentiert.


Viele Grüße
Rolf


Railcar
RegionalExpress (RE)
Beiträge: 64
Registriert: Do 15. Nov 2018, 09:41

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung

#232

Beitrag von Railcar » Do 4. Apr 2019, 13:33

" Sorry, this Video does not exist"

:?:

Edith: Nu geht's :D
Zuletzt geändert von Railcar am Do 4. Apr 2019, 16:54, insgesamt 1-mal geändert.


rolfha
Regionalbahn (RB)
Beiträge: 46
Registriert: Do 14. Feb 2019, 22:20
Nenngröße: N
Stromart: digital
Steuerung: Lenz
Gleise: Fleischmann
Wohnort: Kronberg
Alter: 69
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung

#233

Beitrag von rolfha » Do 4. Apr 2019, 13:56

Jetzt geht es wieder. Wie gesagt, ich bin da Anfänger. Obwohl ich das Video mit dem iPhone im Landscape aufgenommen habe, hatte es in Portrait angezeigt. Dann hatte ich es in Photoshop Elements (auch neu für mich) gedreht und nicht gesehen, dass es nur einen Teil der Fläche benutzt hat. Ich hab das Video dann skaliert, das alte gelöscht und das neue hochgeladen. Da kommt dann Vimeo und lässt mich warten, wenn ich nicht bezahlen will. Jetzt ist die Wartezeit vorbei und es geht wieder.
Ich lerne mit diesen Erfahrungen. Teil 2 wird schon einfacher für mich werden. Dann zeige ich "Verkabelung" mit Kupferfolie.
Also, bis demnächst in diesem Theater.
Rolf

Benutzeravatar

Threadersteller
Hardi
InterRegio (IR)
Beiträge: 246
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 56
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung

#234

Beitrag von Hardi » Do 4. Apr 2019, 13:58

Hallo Rolf,

ganz vielen Dank für das Video. Es zeigt sehr schön wie einfach der Einbau der LEDs in die Häuser sein kann. Es zeigt auch, dass man es noch viel ordentlicher geht als wir das mit unseren Pappwänden machen.
Bitte zeig uns dann auch ein Video wenn die Beleuchtung funktioniert.

Ich habe bei meinen bisherigen Umbauten zwei defekte LEDs gehabt (von über 100 verbauten). Das ist besonders dann ärgerlich wenn man den Fehler erst feststellt wenn alles zusammengeklebt ist (Siehe #113: https://www.stummiforum.de/viewtopic.ph ... 9#p1928729 und #224: https://www.stummiforum.de/viewtopic.ph ... 2#p1956522). Darum teste ich die fertig angeschlossenen LEDs noch vor dem Einbau. Bei den beiden Fehlerhaften LEDs hat da aber nicht gereicht. Das Problem ist erst nach einer gewissen Zeit durch Eigenerwärmung aufgetreten. Darum habe ich mir fest vorgenommen die LEDs zusätzlich vor dem Einbau mit dem Heißluftfön zu erwärmen und mit Kältespray abzukühlen.
Bei dem ersten Fehler habe ich auch 4 Hauser zusammengefasst und mit einem einzigen Kabel an den Verteiler angeschlossen. Das hat die Fehlersuche zusätzlich erschwert. Wenn jedes Haus einen eigenen Stecker hat, dann kann man jedes Haus einfach schnell Aussteckern und überbrücken. Auf diese Weise ist der Fehler dann schnell lokalisiert und man muss nicht erst bei zwei anderen Häusern die Dächer abreißen. Darum werde ich jetzt nimmer nur wenige LEDs zusammenfassen. Der Burg Berg (#224) hat einen eigenen Verteiler in dem die 6 LEDs einzeln eingesteckt sind (Was für eine Stecker Verschwendung).

Ich muss mal mein LED Testprogramm in das Forum stellen. Dazu verwende ich einen Arduino mit drei Tasten mit denen man die Farben einzelner LEDs oder aller LEDs verändern kann.

Vielen Dank, dass Du Dir die die Zeit genommen hast das Video zu erstellen, es zu schneiden und hochzuladen. Das dauert alles sehr lange. Da geht schnell mal die zehnfache Zeit der Videodauer drauf.

@Alle: Es würde mich freuen wenn Ihr Eure Einbauten vorstellen würdet.
Manchmal habe ich den Eindruck, dass all das technische Zeug hier im Thread die Kollegen abschreckt. Das Löten der kleinen LEDs trägt sicherlich auch dazu bei. Aber Rolf hat gezeigt, dass das sehr einfach geht. Wichtig ist, dass man beide Seiten verzinnt und mit einem guten Lötkolben arbeitet. => Kauft euch unbedingt eine Lötstation und feine Lötspitzen. Mit einem ungeregelten Lötkolben geht das gar nicht!
Ich verwende für die Arbeiten auch immer eine große Lupenlampe.

Hardi


Mark
S-Bahn (S)
Beiträge: 20
Registriert: Di 15. Jan 2019, 21:21
Nenngröße: H0
Stromart: digital
Steuerung: FMZ
Gleise: Fleischmann
Wohnort: Rhoihesse

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung

#235

Beitrag von Mark » Do 4. Apr 2019, 22:03

Hardi hat geschrieben:
Do 4. Apr 2019, 13:58
Wenn jedes Haus einen eigenen Stecker hat, dann kann man jedes Haus einfach schnell Aussteckern und überbrücken.
Hi Hardi und Stummis,
ich habe den Thread nicht komplett mitverfolgt.
Hat sich vielleicht zwischenzeitlich an der Adressierung der LEDs was geändert? Wie verhält sich das, wenn LEDs zwischengesteckt werden oder eben entfernt werden (müssen)? Bleibt die Adressierung der restlichen LEDs bestehen oder muss dann immer noch im Code Hand angelegt werden?

Ich konnte die MoBaLEDLib leider noch nicht ausprobieren, habe auch noch wenig Ahnung davon, aber ich stelle mir das ziemlich nervig vor, wenn die Adressen bei Hardwareänderungen (Ergänzungen/Reduktionen) jedesmal verschoben werden.

Trotz der kritischen Frage (nicht böse gemeint):
Meinen Respekt zu diesem genialen Framework !!!

Mark

Benutzeravatar

Threadersteller
Hardi
InterRegio (IR)
Beiträge: 246
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 56
Deutschland

MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: LED Test

#236

Beitrag von Hardi » Do 4. Apr 2019, 22:29

Hallo Zusammen,
Hardi hat geschrieben:
Do 4. Apr 2019, 13:58
Ich muss mal mein LED Testprogramm in das Forum stellen. Dazu verwende ich einen Arduino mit drei Tasten mit denen man die Farben einzelner LEDs oder aller LEDs verändern kann.
Das will ich hiermit machen…

Das Testprogramm ist schon auf Euren Rechnern versteckt (Es ist bald Ostern). Es muss nur noch aktiviert werden. Dazu müssen in der Datei "Lib_Config.h", welche Ihr unter "Dokumente\Arduino\libraries\MobaLedLib\src" findet, die Kommentarzeichen "//" von den folgenden zwei Zeilen entfernt werden:

Code: Alles auswählen

#define _TEST_BUTTONS               // Enable this to use three buttons connected to the Arduino pins for testing (04.08.18: FLASH: 1390, RAM 18 without DEBUG_PRINT_BUTTONS())

#define _PRINT_DEBUG_MESSAGES       // Enable this line to print debug messages to the PC (USB)
und in der "setup()" Routine des Programms an dem Ihr arbeitet muss folgendes eingefügt werden:

Code: Alles auswählen

  #ifdef _PRINT_DEBUG_MESSAGES
    Serial.begin(9600); // Attention: The serial monitor in the Arduino IDE must use the same baudrate
  #endif 
Anschließend muss die Bibliotheksverwaltung mit STRG+UMSCHALT+I geöffnet werden oder die Arduino IDE neu gestartet werden damit die Bibliothek neu kompiliert wird.
Danach könnt Ihr die LEDs mit drei Tasten testen. Diese müssen entsprechend diesem Schaltplan angeschlossen sein:
Bild

Achtung: Wenn der Test aktiviert ist benötigt die Bibliothek deutlich mehr Speicher. Das bei großen Konfigurationen könnte das zu Engpässen führen. Darum ist der Test standardmäßig deaktiviert.

Verwendung des Tests:
Durch drücken der linken Taste wird der "LED Test“ aktiviert. Das erkennt man daran, dass die Gelbe LED angeht. Wenn Ihr den seriellen Monitor (mit STRG+UMSCHALT+M) mit der richtigen Baudrate (9600) aktiviert habt, dann zeigt dieser:

Code: Alles auswählen

LED Test 0 Mode 0 (127,127,127)
und die erste RGB LED leuchtet Weiß.
Jetzt könnt Ihr mit der rechten oder linken Taste die aktive RGB LED wechseln. Der serielle Monitor zeigt dann z.B.:

Code: Alles auswählen

LED Test 1 Mode 0 (127,127,127)
LED Test 2 Mode 0 (127,127,127)
LED Test 3 Mode 0 (127,127,127)
LED Test 2 Mode 0 (127,127,127)
LED Test 1 Mode 0 (127,127,127)
Die rechte Taste erhöht die LED Nummer, die Linke verringert sie. Achtung, wenn Ihr zu weit nach "links geht" wird die maximale LED Nummer (z.B. 32) aktiviert. Diese ist aber u.U. nicht in Eurem Testobjekt vorhanden => Es Leuchtet keine LED mehr ;-(

Mit der mittleren Taste kann man die Farbe und die Helligkeit der LED verändern. Das wird mit der Mode Nummer und den RGB Werten angezeigt:

Code: Alles auswählen

LED Test 0 Mode 0 (127,127,127)
LED Test 0 Mode 1 (63,0,0)
LED Test 0 Mode 2 (0,63,0)
LED Test 0 Mode 3 (0,0,63)
LED Test 0 Mode 4 (255,0,0)
Wenn man die rechte und die linke Taste gleichzeitig betätigt gehen alle LEDs an. Auch hier kann mit der mittleren Taste die Farbe und die Helligkeit der LEDs verändert werden. Mit der rechten oder linken Taste wird wieder zurück auf eine LED geschaltet.

Auf diese Weise kann man schnell testen ob alle LEDs richtig angeschlossen sind und ob sie auch bei extremen Temperaturen richtig funktionieren (Heißluftfön oder Kältespray). Diesen Test könnte man auch zusätzlich mit verschiedenen Spannungen durchführen. Damit reduziert man das Risiko, dass die LEDs später Probleme machen.

Zum beenden des Tests drückt man die Mittlere Taste für 3 Sekunden. Dann läuft wieder das normale Programm.

Zusammenfassung der Tasten:
  • Aktivieren des LED Tests: Linke Taste, Gelbe LED geht an
  • Wechsel der LED: Rechte oder Linke Taste
  • Wechsel der Farbe und Helligkeit: Mittlere Taste
  • Alle LEDs: Rechte und Linke Taste gleichzeitig
  • Beenden des Test Modes: Mittlere Taste für 3 Sekunden
Neben dem LED Test Mode gibt es noch zwei weitere Test Modis. Sie werden von der Ausgangsposition (Nach dem Programmstart) über die Mittlere bzw. Rechte Taste aktiviert. Diese Modis habe ich für die Programmentwicklung eingebaut. Für Euch sind sie vermutlich nicht so interessant. Darum werde ich auch nur kurz darauf eingehen.

Button Test Mode
Die Mittleren Taste wird der Button Test Mode aktiviert. Das wird mit der Weißen LED angezeigt. In diesem Mode können läuft das normale Programm wieder normal und die drei Tasten steuern die Inputs 0 bis 3. Auch dieser Mode wird mit einem langen Druck auf die Mittlere Taste wieder beendet.

Input Test Mode
Dieser Test kann dazu verwendet werden beliebige, in der Konfiguration benutzte, Eingangsvariablen zu verändern. Er wird mit der Rechten Taste aktiviert und über die Blaue LED gemeldet. Der Test ist dann hilfreich, wenn man z.B. Daten über den CAN Bus oder das DCC Protokoll zur Steuerung der LEDs verwendet, aber gerade keinen passenden Input (CAN/DCC) zur Verfügung hat. Auch dieser Mode wird mit einem langen Druck auf die Mittlere Taste wieder beendet.

Habe ich Euch wieder mal komplett verwirrt mit all den Tasten?
Probiert es einfach mal aus und meldet Euch bei Problemen…

Hardi

Benutzeravatar

Threadersteller
Hardi
InterRegio (IR)
Beiträge: 246
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 56
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung

#237

Beitrag von Hardi » Do 4. Apr 2019, 22:54

Hallo Mark,
Mark hat geschrieben:
Do 4. Apr 2019, 22:03
Hat sich vielleicht zwischenzeitlich an der Adressierung der LEDs was geändert? Wie verhält sich das, wenn LEDs zwischengesteckt werden oder eben entfernt werden (müssen)? Bleibt die Adressierung der restlichen LEDs bestehen oder muss dann immer noch im Code Hand angelegt werden?
Ich konnte die MoBaLEDLib leider noch nicht ausprobieren, habe auch noch wenig Ahnung davon, aber ich stelle mir das ziemlich nervig vor, wenn die Adressen bei Hardwareänderungen (Ergänzungen/Reduktionen) jedesmal verschoben werden.
Nein, an der Ansteuerung der LEDs kann ich nichts ändern. Das ist fest vom Chip in der LED vorgegeben.

Ich finde es aber nicht so schrecklich, wenn man die Konfiguration im Programm ändern muss wenn sich die LED Anzahl verändert. Das ist ja sowieso nötig, weil man den neuen LEDs ja eine gewisse Funktion zuweisen muss. Das Programm kann ja (noch) nicht ahnen ob die LED in einem Haus eingebaut ist oder in einer Ampel. Und es kann genau sowenig feststellen ob die LED in einem Wohnzimmer oder im Treppenhaus sitzt...
Beim Entfernen einer LED verhält es sich so ähnlich. Dann muss man die entsprechenden Teile in der Konfiguration entfernen oder deaktivieren. Wenn man so wie ich das z.B. in dem Beispiel "03.Switched_Houses" gezeigt habe symbolische Namen für die LEDs definiert, dann geht auch das nummerieren recht einfach.

Code: Alles auswählen

#define HOUSE_A      0   // Define names for the LED numbers of the houses.
//      HOUSE_A      1   // In a real setup the names could be: "RailwayStation", "Town_Hall", "Pub", ...
//      HOUSE_A      2   // Each room get's an own name.
//      HOUSE_A      3   // Only the first LED numbers are used in the configuration,
//      HOUSE_A      4   // But it's a good practice to list the other rooms to because
//      HOUSE_A      5   // then the corrosponding numbers are increasing without gaps.
//      HOUSE_A      6   // This is usefull if a aditional house is inserted.
#define HOUSE_B      7   // In this case th sequence could easyly be checked / updated and
//      HOUSE_B      8   // the aditional lines could be used for documentation
//      HOUSE_B      9
//      HOUSE_B      10
#define HOUSE_C      11
#define HOUSE_C_SHOP 12  // There is a shop in the house which is controlled separately
//      HOUSE_C      13
//      HOUSE_C      14
//      HOUSE_C      15
Dazu kann man die Zeilen in Excel verwalten und die Nummerierung von dem Rechenknecht machen lassen. Das wollte ich auch schon immer mal vorbereiten, aber nicht mehr heute…

Generell kann man sagen, dass sich die Anzahl der LEDs nicht plötzlich verändert. Auch wenn Rolf uns in seinem Video gezeigt hat, das das sehr schnell geht…

Wenn man mal zu Testzwecken ein Haus absteckt, dann muss man es eben durch einen Dummy mit der gleichen LED Anzahl ersetzen. Ich will mir mal eine Kiste basteln in der man per Drehschalter die Anzahl der aktiven LEDs variieren kann.

Es ist Gut, wenn Du so eine Frage stellst. Das muss einem einfach klar sein. Dann kann man sich entsprechend darauf einstellen.

Vielen Dank für das Lob zu meiner Bastelei…

Hardi


rolfha
Regionalbahn (RB)
Beiträge: 46
Registriert: Do 14. Feb 2019, 22:20
Nenngröße: N
Stromart: digital
Steuerung: Lenz
Gleise: Fleischmann
Wohnort: Kronberg
Alter: 69
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung

#238

Beitrag von rolfha » Fr 5. Apr 2019, 12:10

Hallo,
nachdem ich das von Hardi beschriebene Flackern auch hatte und teilweises Abschalten aller LEDs hinter der ersten LED, habe ich LEDs getauscht und andere Fehlersuch Versuche unternommen. Ich war am verzweifeln, hatte doch bis jetzt alles gelappt. Ich habe zu einem Zeitpunkt mein Netzteil unter Verdacht gehabt und die Lichtanlage an eine Powerbank angeschlossen. Mit der Powerbank hat es funktioniert. Was war falsch mit dem Netzteil? Da ich keinen Oszi habe, habe ich mal die Spannung an der LED gemessen: Mit Powerbank 3,8 V mit Netzteil 4,96 V. Das kann nicht sein, habe ich mir gedacht, die LEDs haben im Datenblatt 5 V. Aber nachdem ich an meinem Netzteil vor 3 Stunden die Spannung auf 4,82 V reduziert habe (tiefer geht es nicht) läuft alles einwandfrei. Ich hatte bestimmt 5 LEDs getauscht um eine defekte LED zu finden. Jetzt das. Wenn die Reduzierung der Spannung langfristig hilft, lasse ich es euch noch einmal wissen.

Was ich gestern noch begonnen hatte, war ein freien Platz auf der Anlage für 2 kleine Häuschen und eine Kleingartenanlage vorzubereiten. Den LED Teil, der ja in diesem Forum interessiert. Hier, was ich getan habe und jetzt auch einwandfrei funktionier, bei 4,82 V.



Viele Grüße
Rolf


TecnoWorld
InterRegioExpress (IRE)
Beiträge: 266
Registriert: Mi 11. Mär 2015, 15:49
Nenngröße: TT
Stromart: digital
Gleise: TT
Wohnort: Chiclana
Alter: 51
Kontaktdaten:
Spanien

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung

#239

Beitrag von TecnoWorld » Fr 5. Apr 2019, 20:18

Dann stimmt das Timing nicht.
Die LEDs haben einen Oszillator drin, der stark spannungsabhängig ist.
Wenn du die Spannung her unternehmen musst, dann ist das Timing zu langsam.

LG,
Ingolf
__________________________
LG aus Andalusien.
RailSolution - das Lichtprojekt von Modellbahnern für die Modellbahn

Benutzeravatar

Threadersteller
Hardi
InterRegio (IR)
Beiträge: 246
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 56
Deutschland

MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: "Böse LEDs"

#240

Beitrag von Hardi » So 7. Apr 2019, 00:00

Hallo Ingolf,
TecnoWorld hat geschrieben:
Fr 5. Apr 2019, 20:18
Dann stimmt das Timing nicht.
Die LEDs haben einen Oszillator drin, der stark spannungsabhängig ist.
das habe ich noch nirgend wo gelesen. Hast Du einen Link dazu oder selber schon Messungen gemacht?
Ich habe die Frequenz bei meinem Aufbau mal untersucht. Sie ist laut meinem PicoScope 799.5 Hz. Nach dem WS2812B Datenblatt soll die Frequenz 800 Hz sein. Der zulässige Bereich ist zwischen 715 Hz und 909 Hz.
Aber eigentlich wird die Frequenz ja von Arduino generiert. Die LEDs übernehmen die steigende Flanke und erzeugen die fallende Flanke abhängig vom zu generierenden Bit früher oder später. Dafür benötigen sie sicherlich einen Timer. Das habe ich mir genauer angeschaut. Hier ist das Signal nicht ganz so gut. Ein einer LED habe ich z.B. für T1H 891us gemessen. Das Datenblatt gibt 900us +/-150us an. Nicht ganz so gut, aber immer noch fast perfekt. Die Signallänge bleibt auch dann konstant, wenn man die Versorgungsspannung zwischen 3.9V und 5.3V variiert.

Es gibt aber auch LEDs mit anderem Timing. Bei einer „kaputten“ LED habe ich z.B. 649us an DOUT gemessen. 750us währe der minimal erlaubte Wert ;-( Zusätzlich war die Ausgangsspannung der LED nur 3.4V. Diese niedrige Spannung trat aber nur bei bestimmten Farben auf (Weiß mit voller Helligkeit, bei halber Helligkeit nicht). Die LED selber und auch die folgenden LEDs leuchteten dabei noch richtig.
Ein andere LED zeigte eine ähnliche Spannungsempfindlichkeit wie die LED von Rolf. Unter 4.9V funktionierte diese LED gut. Darüber nicht mehr. Wenn die LED mit Kältespray gekühlt wurde, dann lief sie wieder für eine Weile (Das war die LED welche ich in dem Video in Post #224: https://www.stummiforum.de/viewtopic.ph ... 2#p1956522 gezeigt habe). Damals habe ich noch nicht erkannt, dass die eine Reduktion der Spannung auch funktioniert. Wenn man die LED einzeln angeschlossen hat lief sie problemlos ?!? Erst in Verbindung mit einer bestimmten Vorgänger LED traten die Probleme auf.
=> Die LEDs „reparieren“ in gewissen Bereichen tatsächlich das Signal so wie es das Datenblatt verspricht.

So eine Spannungsabhängigkeit habe ich dann noch bei einer weiteren LED beobachtet.

In Summe sind bei mir mindestens 5 LEDs irgendwie schlecht. So wie es aussieht stammen sie alle aus meiner zweiten 100er Charge ;-(. Ich fürchte, dass ich da eine Montagsproduktion erhalten habe. Da ich Rolf letztens ein paar dieser LEDs mitgegeben habe könnte es sein, dass bei Ihm auch genau diese Teile den Ärger machen. Sorry Rolf, das wusste ich nicht.

Ich werde diese LEDs nicht mehr verwenden. Ich habe eine dritte Charge mit 100 LEDs da. Diese unterscheiden sich auch optisch von den „Bösen“ LEDs. Hier sind die Lötpads länger und die Bauteilbeschriftungen größer. Interessanterweise lassen sich die schlechten Platinen auch schlechter verzinnen. Diese werden jetzt erst mal verbannt.

=> Die LEDs sind super Billig, aber es kann sein, dass man keine optimale Qualität bekommt
=> So wie ich das gesehen habe funktionieren die schlechten LEDs bei einer niedrigeren Versorgungsspannung einigermaßen.

5-6 Stunden hat mich der Mist gekostet ;-(((


Ich hoffe, dass Ihr nicht solche Probleme habt.

Hardi


Mark
S-Bahn (S)
Beiträge: 20
Registriert: Di 15. Jan 2019, 21:21
Nenngröße: H0
Stromart: digital
Steuerung: FMZ
Gleise: Fleischmann
Wohnort: Rhoihesse

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung

#241

Beitrag von Mark » So 7. Apr 2019, 00:32

Es ist ja bekannt, dass LEDs je nach Charge, oder auch innerhalb einer Charge, in ihrer Farbtemperatur streuen. Deswegen werden die LEDs für professionelle Beleuchtung/Scheinwerfer "handverlesen", sprich gemessen, bevor sie eingebaut werden. Das spiegelt sich dann natürlich auch im Preis wieder. 3000€ für eine einzelne "Lampe" sind da gar kein Problem.

Anscheinend trifft die Problematik auch auf die in den WSxxxx verwendete Elektronik zu!?
Für mich persönlich grenzt es sowieso schon an Wunder, was da im LED Gehäuse selbst noch untergebracht wird. Womöglich bewegt sich die Technik hier tatsächlich an der Grenze des Machbaren.

EDIT:
Ich hatte vor einigen Tagen eine 2700 Kelvin LED Stripe bei Reichelt gekauft (12V). Es stand schon in der Beschreibung, dass die Farbtemperatur abweichen kann. OK. Dass jedoch sämtliche LEDs deutlich darüber leuchten, vielleicht 4000 Kelvin, hatte ich nicht erwartet. Außerdem sieht man auch eine leichte Differenz zwischen einzelnen LEDs.
CTO Folie (Orange-Korrekturfolie) hilft da etwas, lässt es aber bei diesen LEDs angewendet leicht krank (grünlich) aussehen.


rolfha
Regionalbahn (RB)
Beiträge: 46
Registriert: Do 14. Feb 2019, 22:20
Nenngröße: N
Stromart: digital
Steuerung: Lenz
Gleise: Fleischmann
Wohnort: Kronberg
Alter: 69
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung

#242

Beitrag von rolfha » Mo 8. Apr 2019, 06:57

Hallo,
Hardi, du musst dich bei mir nicht wegen der LED entschuldigen, wenn das der Chinese tut er sie produziert hat, ist es OK, du kannst da nix für. Dafür ist ja so ein Forum auch da, gemeinsam Probleme lösen.
Ich habe inzwischen in microcontroller.net und an anderen Stellen lange Beschreibungen von Fehlern gelesen. Da haben Nutzer die kleinen Dinger unter dem Mikroskop untersucht und bei den inneren Verbindungen Unterschiede ausgemacht.
Ich hatte ja das Glück, dass bei mir mit der niedrigeren Spannung für jetzt lösen zu können.

Alle anderen: das sind seltene Probleme mit bestimmten Chargen der LEDs. Meine Lösung: für ca. 8,00 Euro pro 100 Stück bei Aliexpress bei unterschiedlichen Händlern 2 oder 3 dieser 100er Platten bestellen und schnell aussortieren, was nicht geht. Die Ergebnisse mit dieser Technik sind einfach zu schön, um sich davon aufhalten zu lassen.
Ich fiebere jetzt der Lieferung der Platinen von Alf entgegen. Sound und die Steuerung über DCC sind die nächsten Sachen, die mich begeistern und natürlich die Verwendung der sechser Wannenstecker mit 2 weiteren Leitungen für Spielereien.
Viele Grüße
Rolf

Benutzeravatar

Threadersteller
Hardi
InterRegio (IR)
Beiträge: 246
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 56
Deutschland

MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Überblick

#243

Beitrag von Hardi » Di 9. Apr 2019, 22:20

Hallo Wissbegierige,

ja, ich weiß heutzutage liest kein Mensch mehr. Man informiert sich heutzutage über Videos… Aber ich bin Altmodisch ;-(

Bei einem Text kann man per „Augen-steuerung“ vor- und zurückspulen, kann „die Zeitlupenfunktion“ intuitiv aktivieren und sogar nach Stichworten suchen. Aber das interessiert die wischenden Analphabeten nicht.

Vielleicht seid Ihr ja anders…

Wenn ja, dann habe ich hier einen kurzen Überblick der einzelnen Beispiele der MobaLedLib zusammengestellt. Viel Spaß beim Lesen.
Der Text ist jetzt als erstes Beispiel in der Bibliothek zu finden. Dort existiert dann auch die unten erwähnte Zeile "#define EXAMPLE_NR".
Außerdem ist dort auch eine englische Übersetzung dieser Beschreibung.

Hardi


-------------------------------------------------------------------------------------------------------------------------------------


Überblick aller Beispiele:
Dieses Dokument enthält Liste aller Beispielprogramme und erklärt diese stichpunktartig. Details findet man in den entsprechenden Programmen. Dieses Beispiel wurde eingefügt, weil es manchmal schwierig zu verstehen ist was sich unter den kurzen Namen im Menü der Arduino IDE verbirgt.
Es bietet außerdem die Möglichkeit die Programme ganz schnell zu testen ohne dass man jedes einzelne Programm laden muss. Dazu trägt man einfach die Nummer des gewünschten Beispiels in die "#define EXAMPLE_NR" Zeile ganz oben ein und startet das Programm mit STRG+U.
Achtung einige Beispiele benötigen neben mehreren RGB LEDs noch zusätzliche Komponenten. Dies wird jeweils in Klammern unten angegeben.

01.Heartbeat: (Eine LED)
Dieses Beispiel ist das „Hello World“ Programm der WS281x LEDs. Es zeigt Eindrucksvoll wie einfach man mit der Bibliothek eine LED mit wechselnden Farben sanft auf und abblenden kann. Dieses Blinken kann auch in einem eignen Programm zur Funktionskontrolle eingesetzt werden.

02.House: (7 LEDs)
In einem „belebten“ Haus sind nicht immer alle Zimmer beleuchtet. Je nachdem in welchen Räumen sich die Benutzer aufhalten wird das Licht ein- und ausgeschaltet. Außerdem kann die Art der Beleuchtung ganz unterschiedlich sein. Mit der MobaLedLib können verschiedene Varianten simuliert werden. Räume mit warmem oder kaltem Licht, Räume welche von Neonröhren beleuchtet werden und Zimmer in denen ein Fernseher läuft und vieles mehr. Das Beispiel zeigt einen Teil davon.

03.Switched_Houses: (16 LEDs, opt. 4 Kippschalter)
Mit diesem Beispiel wird gezeigt wie man mehrere Häuser über Kippschalter Ein- und Ausschaltet. Es zeigt, dass langsam nacheinander die verschiedenen Lichter aktiviert werden. Eigentlich benötigt man zum Test 4 Kippschalter. Wenn keine Schalter angeschlossen sind, dann werden die Lichter in allen drei Häusern zufällig eingeschaltet.

04.Gaslights: (6 LEDs)
Gas betriebene Straßenbeleuchtungen gehörten früher zum Straßenbild. Sie wurden nicht alle gleichzeitig angezündet, sondern nacheinander. Ursprünglich war das die Aufgabe eines „Laternenanzünders“. Später wurden diese durch Zünduhren aktiviert. Auch heute noch werden Gaslampen nacheinander per Lichtsensor gestartet (http://www.gaswerk-augsburg.de/fernzuendung.html). Dieses Beispiel zeigt wie das auf der Modelleisenbahn nachempfunden werden kann. Dabei werden auch das langsam heller werdende Licht und das Flackern mancher Lampen nachgebildet.

05.St.AndrewsCross: (2 LEDs)
Auf einer Modelleisenbahn gibt es natürlich auch Bahnübergänge. Diese werden über Wechselblinker gesichert. Dabei werden die Lichter langsam heller und dunkler wie in der Realität was einen schönen Effekt ergibt.

06.Sound: (MP3-TF-16P oder JQ6500 Sound Modul & Taster)
Für dieses Beispiel wird entweder ein MP3-TF-16P Sound Modul oder ein JQ6500 Modul benötigt. Außerdem werden noch einige weitere Bauteile eingesetzt. Im Programm findet man die benötigten Schaltpläne als ASCII Grafik und im „extras“ Verzeichnis der Bibliothek als PDF Datei. Anstelle eines Sound Moduls kann auch eine RGB LED angeschlossen werden. Diese Blitzt kurz auf, wenn die Befehle an das Sound Modul geschickt werden.

07.Macro_Fire_truck: (5 LEDs)
Die Feuerwehr darf natürlich auch im Model nicht fehlen. Dieses Beispiel zeigt wie man das Blitzen des Blaulichts und das Blinken von Frontscheinwerfern und Warnblinkern nachbilden kann. Das Beispiel kann entweder mit RGB LEDs oder über WS2811 Module auch mit kleinen im Fahrzeug eingebauten LEDs betrieben werden. Letzteres sieht natürlich viel realistischer aus. Da man normalerweise kein entsprechendes Fahrzeug zur Hand hat, wenn man das Beispiel testet sind Standardmäßig die RGB LEDs aktiviert.

08.Constr.Warn.Light_Pattern_Func: (9 LEDs)
Zur Absicherung von Baustellen werden oft Lauflichter eingesetzt. Solch einen Effekt kann man wunderschön mit der MobaLedLib erzeugen. Die Leuchtmuster sind dabei beliebig konfigurierbar. In dem Beispiel wird kurz erklärt wie das gemacht wird. Es lohnt sich einen Blick in das Programm zu werfen.

09.TrafficLight_Pattern_Func: (6 LEDs)
Die Muster einer Verkehrsampel können ebenfalls sehr einfach über die Bibliothek konfiguriert werden. Das Beispiel zeigt eine einfache Kreuzung mit zwei Ampeln. Es ist aber auch möglich viel kompliziertere Ampeln mit mehreren Spuren und Fußgängerampeln zu erstellen. Im Programm wird beschrieben wie das geht.

10.RailwaySignal_Pattern_Func: (3/5 LEDs, 1 oder 2 Taster)
Mit diesem Beispiel wird gezeigt wie man Lichtsignale mit der MobaLedLib ansteuert. Es benötigt neben den LEDs noch einen oder zwei Taster mit denen die Signalbilder gewechselt werden. Standardmäßig wird ein Einfahrtsignal mit den drei Aspekten Hp0, Hp1 und Hp2 dargestellt. Durch ein/auskommentieren zweier Zeilen kann auch ein Ausfahrtsignal generiert werden. Im Beispiel wird erklärt wie solche Signale konfiguriert werden so dass man in der Lage ist beliebige Signalbilder zu erstellen.
Der Wechsel von einem Bild zum nächsten geschieht fließend. Dazu wird die Helligkeit der LEDs langsam auf- und abgeblendet.

11.CAN_Bus_MS2_RailwaySignal: (3/5 LEDs, CAN Modul)
Dieses Beispiel entspricht dem vorangegangenen. Allerdings werden hier die Signalbilder mit einer Märklin MS2 über den CAN Bus gesteuert. Zum Testen wird ein MCP2515 CAN Modul für 1.50€ benötigt. Im Programm findet man die dazu benötigten Verbindungen.

12.CAN_Bus_MS2_Switch_Lights: (16 LEDs, CAN Modul)
Mit diesem Beispiel wird gezeigt wie man die Lichter verschiedener Häuser mit einer Märklin MS2 über den CAN Bus gesteuert. Das Beispiel entspricht bis auf die Steuerung dem Beispiel 03. Zum Testen benötigt man ebenso wie im letzten Beispiel ein CAN Modul.

13.FlipFlop_Counter: (32 LEDs, 2 Taster)
Mit Flip-Flops und Zählern lassen sich die verschiedensten Effekte realisieren. Mit diesem Beispiel werden ein Paar Funktionen demonstriert. Das Beispiel wird über zwei Taster gesteuert.

14.Switches_80_and_more: (viele LEDs, Taster und CD4017)
Das Beispiel zeigt wie man mit einem Arduino über nur 10 Prozessor Pins und einem zusätzlichen IC für 31 Cent (CD4017) 80 Schalter einlesen kann. Mit zwei weiteren CD4017 können 208 Schalter gelesen werden. Die Bibliothek unterstützt zwei Gruppen von Schaltern. Eine kann z.B. in einem Weichenstellpult untergebracht sein. Die zweite Gruppe ist für „Druck-Knopf“ Aktionen am Anlagenrand gedacht.
Bei der Methode werden beliebig viele gleichzeitig aktive Schalter erkannt. Die Anzahl und welche Pins benutzt werden ist frei konfigurierbar.
In dem Beispiel Programm werden 146 LEDs über die Schalter gesteuert. Das Beispiel zeigt auch mit welcher unglaublichen Geschwindigkeit die Bibliothek mit dieser großen Menge an Ein- und Ausgabeoperationen zurechtkommt.

15.Sound_and_Keyboard: (Sound Modul, Taster und CD4017)
Mit diesem Programm wird gezeigt wie man die verschiedenen Funktionen eines Sound Moduls nutzt. Es kann mit einem MP3-TF-16P oder einem JQ6500 Sound Modul benutzt werden. Über die einzelnen Taster können gezielt einzelne Sounds abgerufen werden. Beim MP3-TF-16P sind das 14 verschiedene Geräusche (5 beim JQ6500). Zusätzlich können einige weiter Funktionen per Tastendruck abgerufen werden.

16.Illumination_Pattern_Func: (13 LEDs, Taster)
"Knopf-Druck" Aktionen sind eine Attraktion für jede Anlage. Mit der MobaLedLib kann man das einfach umsetzen. Dieses Beispiel stammt aus unserer Anlage. Per Knopfdruck kann man die Beleuchtung unserer Höhle aktivieren. Beim ersten Druck auf den Taster wird eins der beiden Lagerfeuer "angezündet". Mit dem zweiten Tastendruck illuminieren verschiedene bunte Strahler die Höhle. Dabei wechseln die Farben langsam. Mit dem dritten Druck wird ein ähnlicher Effekt aktiviert bei dem allerdings mehr LEDs gleichzeitig aktiv sind.

17.Darkness_Detection: (28 LEDs, LDR, Schalter)
Das automatische Ein- und Ausschalten der Beleuchtung auf der Modelleisenbahn kann über einen LDR (Licht abhängiger Widerstand) gelöst werden. Wenn die Beleuchtung im Moba Zimmer langsam herunter gedimmt wird werden automatisch die verschiedenen Lichter auf der Anlage eingeschaltet. Entsprechend werden sie wieder abgeschaltet, wenn es "Tag" wird. Auf diese Weise kann man sehr einfach eine automatische Lichtsteuerung umsetzen. Mit einem Schalter kann auch Manuel auf Tag oder Nacht geschaltet werden. Dann werden die Effekte Zeitgesteuert aktiviert.

18.Schedule: (28 LEDs)
Das Schedule Beispiel entspricht dem vorangegangenen Beispiel. Allerdings wird hier das Ein- und Ausschalten der Beleuchtung über eine Modellbahnzeit gesteuert. Damit lassen sich viel realistischerer Abläufe erzeugen. Für das Beispiel wird eine interne Modellbahnzeit benutzt. Diese kann natürlich auch durch eine globale Zeit eine Steuerungssoftware ersetzt werden. Dann können Beleuchtungen und Umgebungslicht gemeinsam beeinflusst werden.

19.Logic: (8 LEDs, 4 Taster, 1 Kippschalter)
Mit der MobaLedLib können auch beliebige logische Verknüpfungen implementiert werden. In diesem Beispiel wird gezeigt wie man die Ansteuerung eines Andreaskreuzes in einem Bereich einer Weiche in Abhängigkeit der Weichenstellung aktiviert.

20.Huge_Configuration: (256 LEDs, CAN Bus)
Dieses Beispiel zeigt, das man tatsächlich 256 RGB LEDs (= 786 einzelne LEDs) mit einem Arduino ansteuern kann. Dabei können die einzelnen LEDs immer noch so schnell geschaltet werden, dass Effekte wie das doppelte Blitzen eines Blaulichts möglich sind. Die Update Zeit bei dieser Riesigen Konfiguration liegt bei 14ms! Das ist schneller als das Menschliche Auge wahrnehmen kann.
Außerdem zeigt das Beispiel, dass die Bibliothek so sparsam ist, dass nur 63% des FLASH Speichers benötigt werden.
Für Tests ist es nicht nötig das tatsächlich 256 LEDs angeschlossen sind. Es spielt für die Performance keine Rolle ob die generierten Signale an einer LED ankommen oder nicht.
Wenn alle LEDs eingeschaltet sind würde ein Strom von 14A fließen. Darum nutzt das Beispiel die "setMaxPowerInVoltsAndMilliamps()" Funktion zur Begrenzung des Maximalen Stromes.

21.Advanced: (…)
Dieses Beispiel zeigt, dass mit der Bibliothek fast alles möglich ist. Details findet man im Programm.

22.Burning_House: (16 LEDs, Taster, ...)
Hier wird gezeigt wie eine komplexe "Druck Knopf" konfiguriert werden kann. Durch mehrfaches drücken auf einen Taster können verschiedene Funktionen aktiviert werden (LEDs, Rauchgenerator und Sound).
Mit dem ersten Druck auf den Taster wird das Feuer "entzündet". Der zweite Knopfdruck aktiviert den Rauchgenerator. Und mit dem dritten Druck auf den Taster kommt die Feuerwehr mit Blaulicht und Martinshorn. Weil Kinder gerade an den Geräuschen Spaß haben kann man mit jedem weiteren Tastendruck eine andere MP3 Datei abrufen. Das Video im Post #58: https://www.stummiforum.de/viewtopic.ph ... 0#p1924210 zeigt das sehr schön.

23_A.DCC_Rail_Decoder_Transmitter: (6N137)
Die Bibliothek kann auch Befehle einer Zentrale über das DCC Protokoll empfangen. Dazu benötigt man allerdings zwei Arduinos. Das ist nötig, weil die Interrupts während der Aktualisierung der LEDs für einige Millisekunden gesperrt werden müssen. In dieser Zeit können DCC Pakete verloren gehen. Der erste Arduino empfängt die DCC Signale und sendet sie "Häppchenweise" an den zweiten Arduino welcher die LEDs ansteuert.
Für den schnellen Test dieses Programms trägt man in die Zeile "#define EXAMPLE_NR" oben 231 ein und lädt das Programm auf den ersten Arduino. Das zweite Programm wird mit 232 auf dem zweiten Prozessor gespielt. Die elektrische Verbindung der beiden Module findet man im Programm als ASCII Grafik.

23_B.DCC_Rail_Decoder_Receiver: (24-64 LEDs)
Auf dem zweiten Arduino läuft das Programm "23_B.DCC_Rail_Decoder_Receiver". Es zeigt wie man verschiedene Verbraucher über DCC Zubehörbefehle schalten kann. Dabei gibt es zwei verschiedene Modis.
Licht Signale werden über "Taster" gesteuert. Ein DCC Kanal steuert zwei Eingänge der MobaLedLib. Diese Eingänge sind nur so lange aktiv wie die Taste der DCC Steuerung gedrückt wird. Hier werden je nach Anzahl der Signal Aspekte mehrere DCC Kanäle belegt.
Zum Ein- und Ausschalten von Häusern wird jeweils ein DCC Kanal benutzt. Mit "Rot" wird die Funktion Ausgeschaltet, mit "Grün" wird sie eingeschaltet.

24.DCC_and_Sound: (Sound Modul MP3-TF-16P oder JQ6500)
Dieses Beispiel erweitert das Programm "06.Sound" um eine Steuerung per DCC Zubehör Befehle. Damit ist es möglich, dass man die verschiedenen Geräusche von einer Zentrale aus steuert. Es kann entweder mit dem Sound Modul "MP3-TF-16P" oder dem Modul "JQ6500" benutzt werden. Im "extras" Verzeichnis der Bibliothek findet man die dazu benötigten Schaltungen und Platinen. Diese können auch über liebe Kollegen im Stummi Forum bestellt werden.

25.Analog_Push_Button: (32 LEDs, Taster, Widerstände)
In den vorangegangenen Beispielen wurde zum einlesen mehrerer Taster das zusätzliches Zähler IC (CD4017) benutzt. Es geht aber auch einfacher. An einem analogen Eingang eines Arduinos kann man bis zu 10 Taster anschließen welche einfach über verschiedene Widerstände kodiert werden. Für bis zu 10 „Druck Knopf“ Aktionen recht damit ein zweipoliges Kabel welches von einem zum nächsten Schalter läuft. Der Nachteil dieser sehr einfachen Schaltung ist, dass es zu falschen Signalen kommt, wenn mehrere Taster gleichzeitig betätigt werden.
Das Beispiel zeigt 5 verschiedene „Druck Knopf“ Aktionen (Gaslaternen, Belebtes Haus, Feuerwehr Auto, Sound und Burg Beleuchtung)

Geschafft! Du bist der erste der so weit gekommen ist (Oder hat vor Dir jemand auf den „Bedanken“ Knopf gedrückt).

Benutzeravatar

Bernie-Bärchen
Regionalbahn (RB)
Beiträge: 27
Registriert: Sa 4. Feb 2006, 10:30
Nenngröße: H0
Stromart: digital
Alter: 64
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Überblick

#244

Beitrag von Bernie-Bärchen » Do 11. Apr 2019, 11:50

:lol: Ich habe "nix Ahnung" wie die "Bedanken-Funktion" funktioniert, daher möchte ich mich auf diesem Weg bei Dir für diesen für mich sehr lehrreichen Thread bedanken. Ich habe viel hinzu gelernt ( :mrgreen: eigentlich weiß ich nun erst wirklich was ich mit einem Arduion anfangen kann) und werde diesen Thread weiter verfolgen.

:wink: BB

Benutzeravatar

Threadersteller
Hardi
InterRegio (IR)
Beiträge: 246
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 56
Deutschland

MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Danke

#245

Beitrag von Hardi » Do 11. Apr 2019, 12:31

Hallo Belesene, Hallo BB,

vielen Dank, dass Ihr mein Gestammel bis zum Ende durchgehalten habt.

Es fällt mir manchmal schwer mich zu motivieren Stundenlang an dem Zeug zu sitzen ohne dass ich sehe dass es gebraucht wird. Anhand des Zugriffszählers (aktuell 18328) kann man ein bisschen abschätzen ob es Euch interessiert. Aber das ist nicht alles. Wenn ich dann eine ZIP Datei hoch lade und sie wird nur ein einziges Mal heruntergeladen dann frage ich mich…

Darum finde ich inzwischen den „Bedanken“ Knopf ganz gut. Solange ich selber nichts im Internet veröffentlicht habe dachte ich dass diese „Like-Buttons“ auf all den Plattformen Unsinn sind. Aber wenn man sich selber die Mühe macht etwas zu veröffentlichen dann lernt man die Dinger zu schätzen.
Deswegen drücke ich den Knopf jetzt auch immer häufiger wenn ich etwas von anderen lese. Ja, das führt zu einer gewissen Inflation, aber der Schreiber fühlt sich belohnt…

Darum noch mal ganz vielen Dank an alle die sich für meine schreibereien bedanken.

Das motiviert mich für die nächsten Projekte:
  • Ansteuerung von Servos
  • Dokumentation der Pattern Funktion (Mist jetzt habe ich es sogar öffentlich geschrieben; dann werde ich es wohl auch mal machen müssen)
  • Disco Lichter (zusammen mit Mark)
@BB:
Der besagte Knopf ist rechts oben über jedem Beitrag:
Bild
Ich habe ihn auch nicht gleich entdeckt und es gibt sicherlich noch viele Knöpfe im Forum die ich noch nicht zur Kenntnis genommen habe.

Hardi

Benutzeravatar

Threadersteller
Hardi
InterRegio (IR)
Beiträge: 246
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 56
Deutschland

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Überblick

#246

Beitrag von Hardi » Do 11. Apr 2019, 14:56

Hallo Danksager,

es gibt so viele Leute hier im Forum die sich unglaubliche Mühe geben. Ein praktisch nicht beachteter Thread ist dieser: https://www.stummiforum.de/viewtopic.ph ... 4#p1917884

=> Wenn Ihr noch einen Dank übrig habt, dann schaut mal da vorbei.

Gibt es eigentlich auch einen „Danke“ Button für die Administratoren des Forums? Ich drücke diesen Knopf hiermit 1000 Mal.

Hardi


Railcar
RegionalExpress (RE)
Beiträge: 64
Registriert: Do 15. Nov 2018, 09:41

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Überblick

#247

Beitrag von Railcar » Do 11. Apr 2019, 18:45

Hi Hardi,
nur Mal so als Vorschlag - nicht jeder nutzt Excel und in anderen Tabellenkalkulationsprogrammen läuft der Konfigurator nun Mal nicht, noch nicht einmal in der online Version.
Vielleicht könntest du da Mal dran arbeiten, daß die non-Excel User auch was davon haben - nur Mal so gefragt.........

Davon ab - mach weiter so, ich wusste gar nicht was mit dem Nano alles möglich ist.

Ulrich


Mark
S-Bahn (S)
Beiträge: 20
Registriert: Di 15. Jan 2019, 21:21
Nenngröße: H0
Stromart: digital
Steuerung: FMZ
Gleise: Fleischmann
Wohnort: Rhoihesse

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Überblick

#248

Beitrag von Mark » Do 11. Apr 2019, 19:22

Railcar hat geschrieben:
Do 11. Apr 2019, 18:45
nur Mal so als Vorschlag - nicht jeder nutzt Excel und in anderen Tabellenkalkulationsprogrammen läuft der Konfigurator nun Mal nicht, noch nicht einmal in der online Version.
Vielleicht könntest du da Mal dran arbeiten, daß die non-Excel User auch was davon haben - nur Mal so gefragt.........
Libre Office is very, very welcome!
Von Open Office bin ich weg, da dort das Developing (und auch OO selbst) etwas hakelt.


Mark
S-Bahn (S)
Beiträge: 20
Registriert: Di 15. Jan 2019, 21:21
Nenngröße: H0
Stromart: digital
Steuerung: FMZ
Gleise: Fleischmann
Wohnort: Rhoihesse

Re: MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Danke

#249

Beitrag von Mark » Do 11. Apr 2019, 19:50

Hardi hat geschrieben:
Do 11. Apr 2019, 12:31
Es fällt mir manchmal schwer mich zu motivieren Stundenlang an dem Zeug zu sitzen ohne dass ich sehe dass es gebraucht wird. Anhand des Zugriffszählers (aktuell 18328) kann man ein bisschen abschätzen ob es Euch interessiert. Aber das ist nicht alles. Wenn ich dann eine ZIP Datei hoch lade und sie wird nur ein einziges Mal heruntergeladen dann frage ich mich…
Das glaube ich dir gerne! Und meine Hochachtung, dass du trotzdem dranbleibst.
Viele potentiellen und dankbare User werden sich auch erst über die Jahre ergeben. Deshalb, denke ich, ist es wichtig, dass du dein Framework um die MoBaLedLib an einem gesonderten Ort, meinetwegen eine eigene Homepage, veröffentlichst. Developing, Tests, Meinungen sollten dort draußen bleiben. Nur die konkrete Anleitung zur Anwendung, etc., vielleicht auch ein Bausatz-Shop!
Dieser Thread hat inzwischen 249 Posts. Da ist es ziemlich schwierig alle nötigen Informationen rauszuziehen.
Ich persönlich habe immer noch keine wirkliche Übersicht über alles. Ich bin allerdings auch deswegen noch verwirrt, da wir ja zeitgleich auch noch privat über die Möglichkeiten zum Weichenstellpult reden.
Deine bisher geposteten Fotos oder Screenshots finde ich nicht immer ganz ausreichend um daraus die Hardware aufzubauen (z.B. 4017), dafür waren sie, denke ich, allerdings auch noch nicht gedacht. Den 4017 haben wir inzwischen per Mail geklärt, wobei mir dabei allerdings auch noch nicht alles 100%ig klar ist. Aber das sehen wir dann später, wenn die Teile da sind.

Also summa summarum, m.E. fehlt eine zusammenhängende Doku. Wahrscheinlich geht es noch anderen interessierten so?
Ich verstehe schon, dass das ganze System noch im Aufbau ist. Die ersten Hauptplatinen und LED-Verteilerplatinen wollen nun getestet werden, aber vielleicht ist ja dann Zeit für die DAU-Doku?

Wichtig ist, das Ergebnis nicht in diesem Entwicklungs-Thread untergehen zu lassen.
LG Mark

Benutzeravatar

Threadersteller
Hardi
InterRegio (IR)
Beiträge: 246
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 56
Deutschland

MobaLedLib: Arduino Bibliothek zum Ansteuern von LEDs und anderen Komponenten über eine Signalleitung: Libre Office

#250

Beitrag von Hardi » Fr 12. Apr 2019, 00:23

Hallo Kleinweich Gegner,
Mark hat geschrieben:
Do 11. Apr 2019, 19:22
Railcar hat geschrieben:
Do 11. Apr 2019, 18:45
nur Mal so als Vorschlag - nicht jeder nutzt Excel und in anderen Tabellenkalkulationsprogrammen läuft der Konfigurator nun Mal nicht, noch nicht einmal in der online Version.
Vielleicht könntest du da Mal dran arbeiten, daß die non-Excel User auch was davon haben - nur Mal so gefragt.........
Libre Office is very, very welcome!
Von Open Office bin ich weg, da dort das Developing (und auch OO selbst) etwas hakelt.
Das finde ich eine sehr Gute Idee. Ich habe mich auch gleich dran gemacht und es waren nur wenige Änderungen nötig. Das ist Unglaublich! Das Makro läuft jetzt in Libre Office.

Aber…
Man muss es immer etwas anschubsen…
Wenn man die Datei neu öffnet, dann werden die Makros nicht berechnet, wenn man eine Änderung in der Tabelle macht. Auch wenn man die Sicherheitseinstellungen über „Extras/Optionen/Sicherhei/Makrosicherheit“ auf „Niedrig“ gestellt hat.
Zum Testen ändert man z.B. die Zelle E5 (Anzahl der Ausgabekanäle). Dann erscheinen überall „###“ Zeichen, weil Calc die Makros nicht ausführt ;-(

Damit das geht muss man den Basic Editor öffnen „Extras/Makros/Makros verwalten/LibreOffice Basic…“ und dort dieses Modul „Patterb_Configurator.ods/VBAProject/Module/Main“ bearbeiten. Anschließend muss man die Zelle E35 bearbeiten (Z.B. die letzte Klammer löschen und wieder hinzufügen). Damit wird dann das Erste Makro „Calculate_Goto“ aktiviert. Das gleiche Spiel macht man mit Zelle E32. Und schon geht alles ?!?!
Ab dann werden alle Berechnungen richtig ausgeführt.

Und jetzt seid Ihr dran. Vielleicht findet Ihr heraus wie man Calc sagen kann, dass es gleich bereit ist die Makros zu berechnen. Ich habe heute das erste Mal mit Calc gearbeitet. Es muss doch einen da Draußen geben der sich mit Libre Office auskennt.

Pattern_Configurator.zip
Edit: Diese Version ist alt. Inzwischen funktioniert das Programm auch unter Libre Office ohne Probleme. Ich lasse sie trotzdem an dieser Stelle falls jemand das Problem nachvollziehen will.
Die neue Version findet ihr hier: #262: https://www.stummiforum.de/viewtopic.ph ... 0#p1963590
Die aktuelle Version ist auch immer auf GitHub verfügbar: https://github.com/Hardi-St/MobaLedLib




@Mark:

Es gibt eine zusammenhängende Doku. In Deutsch und in Englisch. Und die befindet sich sogar schon auf Deinem Rechner im Hauptverzeichnis der MobaLedLib (C:\Users\<USERNAME>\Documents\Arduino\libraries\MobaLedLib\MobaLedLib Ein kurzer Ueberblick.pdf). Es sind schon 60 Seiten, allerdings ist die Beschreibung noch längst nicht fertig. Darum habe ich der Bibliothek auch noch eine 0.x.x Versionsnummer gegeben. Erst wenn die Doku fertig ist gibt es eine Version 1.0.0. Dort fehlen noch viele Kapitel. Vor allem die Beschreibung der Pattern Funktion. Außerdem wollte ich alle wichtigen Fragen/Antworten des Forums dort festhalten…

@Alle: Ihr seid herzlich dazu eingeladen daran mitzuarbeiten…

Hardi
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Hardi am So 14. Apr 2019, 18:52, insgesamt 1-mal geändert.

Antworten

Zurück zu „Software und Hardware“