MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... 3D-Druck für LEDs

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

Threadersteller
Hardi
InterRegioExpress (IRE)
Beiträge: 342
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: Hauptplatine

#196

Beitrag von Hardi » Mi 27. Feb 2019, 00:33

Hallo Zusammen,

ich hab noch mal ein bisschen Kupfer flachgeklopft und hübsch angeordnet…

Das Ergebnis ist die Hauptplatine für die MobaLedLib. Diese Platine braucht man nur wenn man mehr als nur ein paar LEDs ansteuern will.
Wenn man die Lichter über einen LDR (Lichtabhängiger Widerstand) oder einen Schalter steuern will, dann reicht das hier:
Bild

Aber das währe ja zu einfach.

Mit der im folgenden vorgestellten Platine kann man außerdem:
  • DCC Signale zur Steuerung der LEDs benutzen
  • CAN Botschaften einlesen und damit die LEDs steuern
  • LocoNet Nachrichten empfangen und …
Außerdem können:
  • optional zwei RGB LEDs angesteuert werden. Die erste ist ganz am Anfang der Kette, die zweite am Ende. Mit der Ersten kann überprüfen ob das Programm regulär läuft. Mit der Zweiten hat man eine Visuelle Kontrolle ob die Kette unterbrochen ist
  • die LEDs und das Programm über drei Taster auf der Platine getestet werden
  • mit dem Arduino Achtzig und mehr Schalter oder Taster eingelesen werden
  • weiter LEDs in einer zweiten Kette angeschlossen werden (Z.B. im Weichenstellpult)
  • zusätzliche Komponenten per I2C angesprochen werden


Das klingt schon wieder mächtig kompliziert. Aber keine Sorge. Die Platinen kann auch für die ganz einfache Anwendung bei der nur ein Helligkeitssensor und die LEDs verwendet werden eingesetzt werden. Ich werde die einzelnen Anwendungsfälle weiter unten beschreiben und zeigen was dazu bestückt werden muss.

Hier zunächst mal zur Abschreckung der Gesamtschaltplan:
Bild

Das LocoNet Interface habe ich von hier kopiert und geringfügig modifiziert:
http://nh-finescale.nl/fremo/dcc/fremo- ... hield.html
Bild


Nochmal als PDF zum Ausdrucken…
Schaltpläne_MobaLedLib_Master.zip


In Kupfer ist das dann 82 x 63 mm groß und sieht so aus:
Bild

Bild

In der minimalen Ausbaustufe werden nur diese Teile bestückt:

Bild

Wenn man die Signale über DCC lesen will benötigt man zwei Nanos:

Bild

Für den CAN Bus benötigt man ein CAN Modul mit dem MCP2515 für 1.42€ (z.B.: https://www.ebay.de/i/152667796088?chn=ps):

Bild

Das LocoNet Interface kann ich nicht testen, weil ich keine Steuergeräte besitze die LocoNet sprechen. => Die Inbetriebnahme dieses Teils darf einer von Euch übernehmen. Danke schon mal im Voraus.

Bild

Mit dieser Bestückung können 80 und mehr Schalter oder Taster eingelesen werden. Das wird im Beispiel „14.Switches_80_and_more“ und „15.Sound_and_Keyboard“ verwendet:

Bild

Und dann gibt es noch zwei Bilder mit optional zu bestückenden Teilen. Diese können mit allen oben gezeigten kombiniert werden. Es ist natürlich auch möglich alle Teile zu bestücken. Das CAN Modul muss dann allerdings mit verlängerten Steckern montiert werden.

Mit diesen drei Tastern können die LEDs auf die schnelle getestet werden. Das verwende ich z.B. wenn ich einem Haus neue Lichter verpasse. Mit den Tastern kann man schnell ohne PC einzelne LEDs An- und Ausschalten oder in Farbe und Helligkeit verändern. Die Taster habe ich auch zu der Entwicklung viele Beispielprogramme verwendet („03.Switched_Houses“, „04.Gaslights“, „06.Sound“, …). Es können entweder diese https://www.reichelt.de/eingabetaster-s ... stct=pol_7 oder diese https://www.reichelt.de/kurzhubtaster-6 ... D_BwE&&r=1 Taster verwendet werden (Natürlich auch von anderen Herstellern). Bei dem billigen Taster wird einfach eine normale LED in die vorgesehenen Löcher gelötet (Pluspol Links).

Bild


Mit diesen zwei RGB LEDs kann geprüft werden ob die Kommunikation funktioniert.

Bild


Risiko:
Die Platine ist recht komplex geworden. Dabei kann sich natürlich der ein oder andere Fehler einschleichen. Ich kann nicht garantieren, dass alles so funktioniert wie gedacht und übernehme darum keine Garantie. => Es kann sein, dass die erste Charge der Platinen nicht 100% funktionieren. Es währe schön, wenn wir uns die dadurch entstehenden Kosten Teilen könnten. Konkret heißt das u.U., dass Ihr trotzdem 2 € oder was die Platine dann kostet zahlen dürft auch wenn nicht alles so geht wie ich mir das gedacht habe. Aber bevor Alf die Teile bestellt habt Ihr ja die Möglichkeit alles genau zu prüfen.

Wir, Alf und ich, machen das ganze komplett ohne dass wir etwas daran verdienen wollen. Einfach als Dankeschön an Euch alle die Ihr das Forum so wundervoll mit Leben füllt.

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


Ingolf
InterRegio (IR)
Beiträge: 248
Registriert: So 30. Aug 2015, 10:15
Nenngröße: H0
Stromart: digital
Steuerung: Z21
Gleise: Piko A
Wohnort: 39629 Bismark
Alter: 64
Deutschland

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

#197

Beitrag von Ingolf » Mi 27. Feb 2019, 07:17

Hallo Hardi,

:gfm:

ich verneige mich vor deiner Leistung !

Ich bin begeistert !

Grüße Ingo

Benutzeravatar

ThKaS
EuroCity (EC)
Beiträge: 1378
Registriert: Do 28. Apr 2005, 08:37
Wohnort: München
Kontaktdaten:
Jamaika

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

#198

Beitrag von ThKaS » Mi 27. Feb 2019, 07:32

Hallo Hardi,
topp!
Auch wenn ich z.Zt. berufsbdedingt keine Zeit zur Umsetzung habe, freue ich mich über jeden Fortschritt.
:gfm:
lieben Gruss von südlich des Weisswurst-Äquators
Thomas

guckst: www.thkas-moba.de ‹(•¿•)› www.mucis.de

Bild

Mä-K-Gleis, Tams MC, Multi-Kulti Decoder, WDP


Railcar
InterRegio (IR)
Beiträge: 100
Registriert: Do 15. Nov 2018, 09:41
Alter: 67

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

#199

Beitrag von Railcar » Mi 27. Feb 2019, 11:26

Hi Hardi,
Viel Arbeit :gfm:

Nur - welche Platine kommt jetzt als Verteilerplatine, nur Wanne, nur RJ10 oder die Universalplatine (da ist ein klitzekleiner Fehler drin :shock: )

und ein Problem habe ich noch, die Hardware sieht gut aus, aber ist die Software für die Nanos auch aktuell. Wo setze ich für DCC und Loconet die Adressen? oder habe ich das nur überlesen?

Ulrich

Edit:

Grade hat der gelbe Postbote meine Lieferung vom freundlichen Chinesen gebracht. Was will ich mir denn da antun :bigeek: . Da werd ich wohl das Raster-Elektronenmikroskop wieder auspacken müssen um diese kleinen Dinger mit Anschlüssen zu versehen :wink: Da brauch ich ja ne Klinikpackung Valium um die Dingerchen zu verarbeiten.
Zuletzt geändert von Railcar am Mi 27. Feb 2019, 12:46, insgesamt 1-mal geändert.


ditohan
Beiträge: 4
Registriert: Sa 23. Feb 2019, 18:43
Nenngröße: H0
Stromart: digital
Steuerung: DigiKeijs DR5000, TC Gold
Gleise: Rocoline
Wohnort: Erlach, Schweiz
Alter: 75
Niederlande

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

#200

Beitrag von ditohan » Mi 27. Feb 2019, 11:49

@ Hardi,

Hallo Hardi,

Und da heisst es, Du bist Krank! Chapeau! :gfm:
Ich überlege mich noch wegen WS2811 Platinen...

Aber zu meine Platinen: Ich bestelle
5 Verteilerplatinen (universal)
3 Platinen für JQ6500 - wenn es die gibt...
1 Hauplplatine - zum Ausprobieren.

Lieferung usw können wir abmachen - und es ist nicht eilig!

Besten Dank,

Han


aftpriv
InterCity (IC)
Beiträge: 793
Registriert: Di 3. Apr 2012, 10:01
Nenngröße: H0
Stromart: digital
Steuerung: Gleisbox+RocRail-RN-Node
Gleise: K-Gleis|:|(3-Leiter)
Wohnort: 636xx Hessen/Main-Kinzig-Kreis
Alter: 68

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

#201

Beitrag von aftpriv » Mi 27. Feb 2019, 14:14

Hallo Forianer,

um Euch ein ungefähres Gefühl zu geben was ein Satz Verteilerplatine_Universal_LoetJumper_2019-02-25
bestehend aus (siehe Liste) kosten wird: ca. €12,50 pro Teilesatz.

Anz Benennung
1 Platine
11 Stecker 6-P (Wanne)
11 Buchse 6-P (für Flachbandkabel)
1 Versand

Die anderen Bauteile müsst Ihr Euch selbst besorgen und auch selber löten.

Bild

Gruß
Alf
Pickel-Bahner seit 1958 / K-Gleis + ZIMO-Decoder (MX633P22/MX645P22)
RocRail & RocNetNode
Email bezüglich MobaLedLib-Belange: LedLib@yahoo.com


Railcar
InterRegio (IR)
Beiträge: 100
Registriert: Do 15. Nov 2018, 09:41
Alter: 67

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

#202

Beitrag von Railcar » Mi 27. Feb 2019, 14:51

@aftpriv

Genau was ich dir geschrieben hatte. Out 7 - RJ 10 - pin 1 .

Da wird mal wohl in der Anleitung einen Satz zu schreiben müssen.

Ulrich


aftpriv
InterCity (IC)
Beiträge: 793
Registriert: Di 3. Apr 2012, 10:01
Nenngröße: H0
Stromart: digital
Steuerung: Gleisbox+RocRail-RN-Node
Gleise: K-Gleis|:|(3-Leiter)
Wohnort: 636xx Hessen/Main-Kinzig-Kreis
Alter: 68

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

#203

Beitrag von aftpriv » Mi 27. Feb 2019, 14:57

Hallo Ulrich,

Wird noch vor Bestellung korrigiert

Gruß Alf
Pickel-Bahner seit 1958 / K-Gleis + ZIMO-Decoder (MX633P22/MX645P22)
RocRail & RocNetNode
Email bezüglich MobaLedLib-Belange: LedLib@yahoo.com

Benutzeravatar

Threadersteller
Hardi
InterRegioExpress (IRE)
Beiträge: 342
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: Verteilerplat

#204

Beitrag von Hardi » Mi 27. Feb 2019, 20:28

Hallo Ulrich,
Railcar hat geschrieben:
Mi 27. Feb 2019, 11:26

Nur - welche Platine kommt jetzt als Verteilerplatine, nur Wanne, nur RJ10 oder die Universalplatine (da ist ein klitzekleiner Fehler drin :shock: )

und ein Problem habe ich noch, die Hardware sieht gut aus, aber ist die Software für die Nanos auch aktuell. Wo setze ich für DCC und Loconet die Adressen? oder habe ich das nur überlesen?
Vielen Dank, dass Du den Fehler noch gefunden hast:
Bild

Ich habe tatsächlich vergessen die 5V anzuschließen ;-(
Ganz vielen Dank!
So wie ich das gelesen habe konnte Alf die Bestellung noch mal stornieren.
Railcar hat geschrieben:
Mi 27. Feb 2019, 11:26
und ein Problem habe ich noch, die Hardware sieht gut aus, aber ist die Software für die Nanos auch aktuell. Wo setze ich für DCC und Loconet die Adressen? oder habe ich das nur überlesen?
Die Software Version 0.7.7 ist die neueste. Du kannst Sie über die Arduino IDE installieren wenn Du sie noch nicht bereits hast (Siehe: viewtopic.php?p=1913636#p1913636)
Die erste verwendete DCC Adresse gibt man in den Beispielprogrammen über die Konstante „DCC_FIRST_LOC_ID“ an. Aber generell gilt, dass es nur Beispiele sind. Es gibt 1001 verschiedene Möglichkeiten die Bibliothek zu nutzen. Schaue es Dir noch mal an, und wenn Du nicht weiterkommst, dann beschreibe Deinen Wunsch, und dann finden wir eine Lösung für Dich.

Für LocoNet gibt es noch kein Beispiel. Hier hoffe ich auf Eure Mithilfe. Eigentlich sollte das kein Problem sein. Franz-Peter hat mit seinem Zubehördecoder gezeigt wie das geht: https://www.stummiforum.de/viewtopic.php?f=5&t=144916
Es muss sich nur noch jemand finden der das an die MobaLedLib anpasst. Da mir die Hardware dazu fehlt kann ich das nicht testen.

Railcar hat geschrieben:
Mi 27. Feb 2019, 11:26
Grade hat der gelbe Postbote meine Lieferung vom freundlichen Chinesen gebracht. Was will ich mir denn da antun :bigeek: . Da werd ich wohl das Raster-Elektronenmikroskop wieder auspacken müssen um diese kleinen Dinger mit Anschlüssen zu versehen :wink: Da brauch ich ja ne Klinikpackung Valium um die Dingerchen zu verarbeiten.
Meinst Du die WS2812 LEDs? Die sind doch kein Problem. Ich spanne Die LED mit einer Kroko-Klemme ein und dann geht das ganz einfach (Vorher Platine und Kabel verzinnen).
Das hier war wirklich ein Kandidat für ein Mikroskop: viewtopic.php?p=1943108#p1943108
Aber es hat auf Anhieb funktioniert…

Danke auch an Alf, dass Du so schnell reagiert hast.

Hardi


aftpriv
InterCity (IC)
Beiträge: 793
Registriert: Di 3. Apr 2012, 10:01
Nenngröße: H0
Stromart: digital
Steuerung: Gleisbox+RocRail-RN-Node
Gleise: K-Gleis|:|(3-Leiter)
Wohnort: 636xx Hessen/Main-Kinzig-Kreis
Alter: 68

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

#205

Beitrag von aftpriv » Do 28. Feb 2019, 17:59

Hallo Forianer

die ersten Verteilerplatinen sind bestellt und werden ca. Ende März hier eintreffen. Nach gründlichem Test durch Hardi kann dann die Bestellerei losgehen.

Voraussichtlich gibt es
- einen Bausatz mit allen darauf verbauten Teilen einschließlich der Kabel-Schneidklemm-Buchsen 6-polig (selbst löten) [ca. € 16,- pro Bausatz]
- die nackten Platinen [ca. € 5,- pro Platine]
Die genannten Preise sind einschließlich Versand.

Da das alles nicht kommerziell betrieben wird, sondern nur von Moba-Freund zu Moba-Freund erfolgt,und daher nur die Unkosten abgedeckt sind, ist die etwaig fällige MWSt bereits mit den Komponenten bezahlt worden.

Gruß
Alf

PS: wenn ihr schon mal (unverbindlich/verbindlich) vorbestellen wollt, bitte PM an mich.
Gebt unbedingt Eure Email-Adresse an, dahin bekommt Ihr ein Formblatt mit allen Abwicklungsdetails und ein Bestellformular geschickt.
Bezahlung per Paypal oder Überweisung auf mein Bankkonto, bitte auch die Zahlart unbedingt angeben.
Pickel-Bahner seit 1958 / K-Gleis + ZIMO-Decoder (MX633P22/MX645P22)
RocRail & RocNetNode
Email bezüglich MobaLedLib-Belange: LedLib@yahoo.com


Railcar
InterRegio (IR)
Beiträge: 100
Registriert: Do 15. Nov 2018, 09:41
Alter: 67

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

#206

Beitrag von Railcar » Mi 6. Mär 2019, 15:49

Hi Hardi,

Bisher alles gut - nur ein klitzekleines Problemchen ist mir aufgefallen:

Wen jemand die Mobaledlib auf einem Linuxrechner, bzw. dem Raspberry Pi bearbeiten will steigt der Compiler mit einem Error aus. :evil:

In der Datei Dprintf.h im Verzeichnis MobaLedLib-Master/src in Zeile 49 wird Wstring.h inkludiert.

Code: Alles auswählen

#include <Wstring.h>
Diese Datei heisst aber WString.h, mit einem grossen W und einem grossen S.

Bild

Auf Windoof Systemen ist das egal, Microsoft kennt keinen Unterschied zwischen Groß- und Kleinschreibung, andere Systeme aber schon. Um die MobLeds auf einem Raspi zum Laufen zu bringen muß das s in der Dprint.h in einen Großbuchstaben geändert werden - dann klappts auch mit dem Compiler. :D

Vielleicht änderst du das ja mal in deinen Github distros, das erspart viel Sucherei..... :wink:

Ich hoffe daß da nicht noch mehr so Klein-/Großschreibfehler drin sind, aber wenn, dann weiss ich jetzt wo ich suchen muss.

Ulrich

Benutzeravatar

Threadersteller
Hardi
InterRegioExpress (IRE)
Beiträge: 342
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: Verteilerplat

#207

Beitrag von Hardi » Do 7. Mär 2019, 11:47

Hallo Ulrich,

vielen Dank für die Rückmeldung. Ich werde habe es in der Bibliothek geändert.

Hardi

Benutzeravatar

Threadersteller
Hardi
InterRegioExpress (IRE)
Beiträge: 342
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: 4-pol Stecker

#208

Beitrag von Hardi » So 10. Mär 2019, 00:17

Hallo Kontaktsucher,

es gibt die 4-poligen Wannenstecker inzwischen wieder bei Conrad:

Anzahl verfügbar 139: https://www.conrad.de/de/fci-pfosten-st ... 01800.html
Anzahl verfügbar 407: https://www.conrad.de/de/fci-pfosten-st ... 01764.html

Sie sind zwar immer noch sehr teuer, aber mir gefallen sie am besten.

Die Verteilerplatinen welche Alf bestellt hat können wahlweise mit 4 oder 6 poligen Wannensteckern oder mit RJ10 Steckern bestückt werden.

Hardi


rolfha
RegionalExpress (RE)
Beiträge: 77
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: Verteilerplat

#209

Beitrag von rolfha » So 10. Mär 2019, 10:42

Hallo Hardi,
zuerst meinen großen Dank für die Ingenieurskunst, die du hier der Allgemeinheit zur Verfügung stellst. In diesem Forum habe ich mit Franz-Peter und dir (und anderen in den Projekten) Leute "getroffen" die einem den Glauben an das "Denkerland" Deutschland zurückgeben. Meine kleine N-Brettbahn heißt "Heile Welt" und dazu finde ich hier im Forum wieder Zugang, nachdem der Glaube daran am schwinden war.

Du hast nach Wünschen für eine Arduino Platine gefragt, dass hast du jetzt davon: Ich bin ein Fan der Steuerung auch das Zubehörs über DCC. Statt eines Schaltpultes ein Rechner mit Traincontroller (oder andere Software) und die (Software) Schalter dort platziert. Das finde ich einfach und Zeitgemäß. Ich würde also gern entweder die doppel-Arduino Besetzung haben oder eine optionale, zweite Platine. Leider bin ich nicht gut genug im programmieren, sonst würde ich ein freies Software-Stellpult für DCC schreiben und so Eure Projekte komplettieren.
Für den Hauptteil der Arduino-Platine bist du, glaube ich, schon gut aufgestellt. Da mich der Keyboard Input aus den vorher genannten Gründen nicht so interessiert, bleiben mir kaum Wünsche offen.
Viele Grüße
Rolf

Benutzeravatar

Threadersteller
Hardi
InterRegioExpress (IRE)
Beiträge: 342
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

#210

Beitrag von Hardi » So 10. Mär 2019, 17:26

Hallo Rolf,

vielen Dank.
Ich finde es auch ganz toll wie viele Leute hier in Forum ihr Wissen teilen. Ganz besonders schön ist auch der Umgangston untereinander. So etwas findet man ganz selten in einem Forum.
=> Große Lob an euch alle da Draußen!

Franz-Peter und seine MobaTools waren ausschlaggebend dafür, dass ich meine Bastelleien hier vorgestellt habe.

„Heile Welt“ gefällt mir. Das würde auch zu unserer Bahn passen.

Die Hauptplatine welche ich in Post #196: https://www.stummiforum.de/viewtopic.ph ... 7#p1946067 vorgestellt habe ist inzwischen von Alf bestellt worden. Auch das ist eine Tolle Geschichte. Ich habe Alf nur über das Forum kennengelernt, und er ist einfach so bereit Zeit und Geld für die Forengemeinde zu investieren.

Doch zurück zu der Platine. Sie kann auf unterschiedlichste Arten bestückt werden. Es können zwei Arduino Nanos verwendet werden von denen einer die LEDs steuert und der andere DCC oder LocoNet Nachrichten empfängt. Die dritte Möglichkeit zur Kommunikation mit einem PC ist der CAN Bus. Ich hoffe, dass damit Deine und auch die Wünsche der anderen Stummis erfüllt werden.

Ich rechne damit, dass die Platine in etwa 4 Wochen zur Verfügung steht.

Das mit den Keyboard Inputs hat aber auch seinen Reiz. Gerade bin ich dabei eine weitere „Knopfdruck Aktion“ einzubauen. Die Beleuchtung der Burg soll per Taster von den Besuchern aktiviert werden können. Heute Morgen war ein 6-jähriger Stummi (mit seinem Vater) zu Besuch und ich hatte den Eindruck, dass Ihm die Tropfsteinhöhle (Post #29: https://www.stummiforum.de/viewtopic.ph ... 9#p1918169) gut gefallen hat. Bin mal gespannt wann wir hier ein weiteres Video einer Illuminierten Höhle zu sehen bekommen…

Hardi


aftpriv
InterCity (IC)
Beiträge: 793
Registriert: Di 3. Apr 2012, 10:01
Nenngröße: H0
Stromart: digital
Steuerung: Gleisbox+RocRail-RN-Node
Gleise: K-Gleis|:|(3-Leiter)
Wohnort: 636xx Hessen/Main-Kinzig-Kreis
Alter: 68

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

#211

Beitrag von aftpriv » Mo 11. Mär 2019, 10:56

Hallo Mitleser dieses Beitrags

ich wurde bereits einige male gefragt wann die Platinen erhältlich wären.
Hier eine grobe Einschätzung (vor Versenden müssen die noch von Hardi gründlich getestet werden) und kommen dann zum Versand:
Verteiler- und Soundplatinen ca. Mitte April
Hauptplatine: ca. Ende April

Bestellungen: werden nach Reihenfolge des Eingang der Bestellungen (anfangs vielleicht vorerst nur jeweils 1 Stück, damit mehrere bereits probieren können) verschickt.

Nach erfolgreichem Test wird nur nach Auftragseingang und 50%-iger, wer mir vertraut auch 100%-iger Anzahlung (am besten als Freund per Paypal) bestellt mit dann ca. 4 Wochen Lieferzeit!

Anmerkung: ich will damit kein Geld verdienen, genau so wie Hardi, der sein Wissen und Können der Moba-Welt auch kostenlos zur Verfügung stellt.

Gruß
Alf

PS: in Kürze gibt es ein Bestellblatt, das Ihr mir bitte dann an meine Email-Adresse schickt. Bestellungen, die bereits jetzt per PM erfolgt sind, werden natürlich bereits reserviert! Bitte derzeit keine weiteren definitiven Bestellungen per PM!
Pickel-Bahner seit 1958 / K-Gleis + ZIMO-Decoder (MX633P22/MX645P22)
RocRail & RocNetNode
Email bezüglich MobaLedLib-Belange: LedLib@yahoo.com


rolfha
RegionalExpress (RE)
Beiträge: 77
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

#212

Beitrag von rolfha » Mo 18. Mär 2019, 19:16

Das ist so genial!
Nach ein wenig löten und Beschäftigung mit der Hardware für die MobaLedLib sieht man bald die Genialität der Idee. Ein System / Protokoll, dass darauf ausgelegt ist nur in einem linearen Strang zu arbeiten zu einer quasi Sternverkabelung umzudenken indem man die Sternenzacken als Schlaufen ausführt durch die Rückleitung am Ende, darauf muss man erstmal kommen. Vielleicht gibt es das ja schon aber mich hat die Idee umgehauen. Das ganze dann noch beliebig Kaskadierbar, Respekt, Hardi.

Hardware läuft jetzt also. Die Software war mit den Macros für einen nicht-Programmierer wie mich auch in den Griff zu bekommen. Leider stoße ich an meine Grenzen mit der Pattern Funktion. Mein Ziel ist es, die Außenwand eines Geschäftes mit einen Wallwasher (ich kann nichts für das Wort, so heißen die Dinger) ganz langsam durch alle Farben des Regenbogens indirekt zu beleuchten. Dazu habe ich als erstes Element in der Kette für ein Haus einen 8 NeoPixel Stab (https://de.aliexpress.com/item/1426-mod ... st=ae803_3) gelötet und danach die RaumLEDs. In dem String wollte ich jetzt mit der Patternfunktion die ersten 8 LEDs (0 bis 7) gemeinsam in 10 Minuten durch die Regenbogenfarben laufen lassen und dann mit dem normalen house Macro den Rest der LEDs in diesem Strang das Haus von innen beleuchten. Bisher gelingt mir das nicht und ich bin über Tipps dankbar. Sonst bleibt mir nichts übrig als doch noch mal einen C++ Kurs zu belegen.

By the way: ich schaue öfter in den Briefkasten als sonst aber der Chinese ist wie gewohnt langsam.

Danke an Hardi und alle die zu diesem Projekt beitragen.
Rolf


rolfha
RegionalExpress (RE)
Beiträge: 77
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

#213

Beitrag von rolfha » Mo 18. Mär 2019, 20:17

Hallo, hier mal der Sketch den ich mit Changing_Hue zum probieren verwende. Alle Macros, die unrelevant sind, sind auskommentiert. Es geht jetzt die LED 0 an in rot, bleibt aber rot und wechselt nicht. Wie gesagt, ich bin C++ Laie, habe vor vielen, vielen Jahren in anderen Programmiersprachen programmiert. Gerne ertrage ich den Spott wenn ihr mir trotzdem helft.

Code: Alles auswählen

#define FASTLED_INTERNAL // Disable version number message in FastLED library (looks like an error)
#include "FastLED.h"     // The FastLED library must be installed in addition if you got the error message "..fatal error: FastLED.h: No such file or directory"
                         // Arduino IDE: Sketch / Include library / Manage libraries                    Deutsche IDE: Sketch / Bibliothek einbinden / Bibliothek verwalten
                         //              Type "FastLED" in the "Filter your search..." field                          "FastLED" in das "Grenzen Sie ihre Suche ein" Feld eingeben
                         //              Select the entry and click "Install"                                         Gefundenen Eintrag auswaehlen und "Install" anklicken

#define HOUSE_MIN_T  20  // Minimal time [s] to the next event (1..255)
#define HOUSE_MAX_T 80  // Maximal random time [s]              "

#include "MobaLedLib.h"  // Use the Moba Led Library

#define NUM_LEDS     11  // Number of LEDs with some spare channels (Maximal 256 RGB LEDs could be used)
#define LED_DO_PIN   6   // Pin D6 is connected to the LED stripe
#define Changing_Hue( LED, InNr, Period)                                          \
             APatternT2(LED,192,InNr,1,0,255,0,PM_HSV|PF_SLOW,Period/16, 0 ms,1)
             
//*******************************************************************
// *** Configuration array which defines the behavior of the LEDs ***
MobaLedLib_Configuration()
 //               LED0  StatusLEDs InNr TmpNr Timeout

  {//   LED:                   First LED number in the stripe
   //    |    InCh:            Input channel. Here the special input 1 is used which is always on
   //    |    |    On_Min:     Minimal number of active rooms. At least two rooms are illuminated.
   //    |    |    |   On_Max: Number of maximal active lights.
   //    |    |    |   |       rooms: List of room types (see documentation for possible types).
   //    |    |    |   |       |
  House(6,   SI_1, 4,  7,      ROOM_BRIGHT, ROOM_TV0, NEON_LIGHT, ROOM_D_RED,FIRE) // House
  Changing_Hue(0,0, 100)  //

 //  RGB_Heartbeat(NUM_LEDS-1)
 //  LeuchtfeuerALL(12,SI_1) 
 //  RGB_AmpelX( 15,SI_1) 
//   Fire( 20,SI_1, 3, 200) 
 // Welding(20,SI_1) 
 // House(30, SI_1, 3, 7, ROOM_DARK, ROOM_BRIGHT, ROOM_TV0_CHIMNEYB, ROOM_TV0, NEON_LIGHT, ROOM_D_RED,NEON_LIGHT)
 // House(50, SI_1, 3, 7, ROOM_DARK, ROOM_BRIGHT, ROOM_TV0_CHIMNEYB, ROOM_TV0, NEON_LIGHT, ROOM_D_RED,NEON_LIGHT)
  EndCfg // End of the configuration
  };
//*******************************************************************


CRGB leds[NUM_LEDS];     // Define the array of leds

MobaLedLib_Create(leds); // Define the MobaLedLib instance

LED_Heartbeat_C LED_Heartbeat(LED_BUILTIN); // Use the build in LED as heartbeat

//----------
void setup(){
//----------
// This function is called once to initialize the program
//
  FastLED.addLeds<NEOPIXEL, LED_DO_PIN>(leds, NUM_LEDS); // Initialize the FastLED library
}

//---------
void loop(){
//---------
// This function contains the main loop which is executed continuously
//
  MobaLedLib.Update();    // Update the LEDs in the configuration

  FastLED.show();         // Show the LEDs (send the leds[] array to the LED stripe)
// LED_Heatbeat.Update(); // Update the heartbeat LED. This must be called periodically in the loop() function.
}

Benutzeravatar

Threadersteller
Hardi
InterRegioExpress (IRE)
Beiträge: 342
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

#214

Beitrag von Hardi » Mo 18. Mär 2019, 23:00

Hallo Rolf,

Vielen Dank für das Lob.
Ganz besonders freut mich, dass Du erkannt hast, dass die 4-adrige Verkabelung den ein großer Vorteil für den Einsatz auf der Modelleisenbahn ist. Auf die Idee bin ich selber sehr stolz (Darf man so was sagen?). Der Gedanke ist mir beim Fahrradfahren gekommen => Fahrt öfters Fahrrad.

In Deinem Programm ist nur ein ganz kleiner Fehler. Aber das ist ja immer so. Und dummerweise rufen die Fehler nicht „Hallo hier bin ich“. Wenn Ihr mal an einem Problem nicht weiterwisst, dann fragt einfach. Ein anderer sieht den Fehler unter Umständen sofort und man selber kann Tage lang suchen ;-(
Genau so ist es bei diesem kleinen Fehler:

Code: Alles auswählen

  //           LED:                 First LED number in the stripe
  //           |  InCh:             Input channel. Here the special input 1 is used which is always on
  //           |  |     Period:     Period of the Changing_Hue macro
  //           |  |     | 
//Changing_Hue(0, 0,    100)     // Zeile von Rolf
  Changing_Hue(0, SI_1, 100 Sek) // Verbesserte Zeile
Wenn die Zeilen so untereinander stehen ist es eigentlich schon klar. Ich schreibe trotzdem noch ein paar Worte dazu.
Eigentlich sind es zwei kleine Fehler:
  • Der zweite Parameter des „Changing_Hue“ Makros ist die Nummer des Eingangskanals. Damit definiert man wann der Effekt eingeschaltet wird.
    Dazu gibt es verschiedene Möglichkeiten:
    • Zum Schalten kann man im einfachsten Fall einen Schalter verwenden welche an einem digitalen Eingang des Arduinos angeschlossen ist. Im Beispiel „03.Switched_Houses“ wird diese Methode verwendet. Dazu benötigt man für jeden Schalter einen digitalen Eingang.
    • Wenn man sehr viele Schalter anschließen will kann man die Anzahl der Eingänge erweitern indem man ein zusätzliches IC (CD4017) verwendet. Damit kann man dann ganz einfach 80 und mehr Schalter benutzen. Das wird in dem Beispiel „14.Switches_80_and_more“ gezeigt.
    • Eine sehr einfache Möglichkeit zum Steuern ist ein Helligkeitssensor (LDR). Das habe ich im Beispiel „17.Darkness_Detection“ implementiert.
    • Wenn man eine Digitalzentrale einsetzt welche DCC Zubehörartikel schalten kann ist das Beispiel „23_B.DCC_Rail_Decoder_Receiver“ ein guter Startpunkt.
    • Die aller einfachste Methode ist aber die Verwendung der „SI_1“ Konstante. Damit ist der Schalter immer an. (SI_1 steht für „Special Input 1“. Das ist eine Eingangsnummer welche immer an ist.) Das habe ich in der Zeile von Ralf eingefügt damit der Effekt immer an ist.
  • Das zweite Problem ist die Periode. Die „Changing_Hue“ Funktion benutzt die Pattern Funktion. Diese verwendet Zeiten in Millisekunden. Wenn man keine Einheit angibt dann wechselt der Effekt so schnell, dass man nichts sieht. Ich hätte zwar erwartet, dass man einen ganz schnellen Wechsel der Farben sieht, aber dem ist aus irgendwelchen Gründen nicht so. Wenn ich mal viel Zeit habe, untersuche ich das vielleicht mal.
    Durch das anhängen der Einheit „Sek“ wird die Periode wie erwartet 100 Sekunden lang und man bekommt ein schönes langsames Farbenspiel.
Vielen Dank Rolf, dass Du das Beispiel hier hochgeladen hast und mich „genötigt“ hast das Ganze etwas zu erklären. Ich denke ich sollte viel mehr zu den Funktionen der Bibliothek sagen damit sie von vielen Stummis genutzt werden können.

Es würde mich freuen, wenn Du ein Video von Deiner fertigen Illumination hier zeigen könntest.

Hardi


rolfha
RegionalExpress (RE)
Beiträge: 77
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

#215

Beitrag von rolfha » Di 19. Mär 2019, 10:29

Hallo Hardi,
natürlich ist das eine Idee um stolz zu sein und natürlich darf man es sagen. Für NeoPixel Spielereien ist das wie die Erfindung des Rades.
Ich bin sehr froh, dass ich deine MobaLedLib und Stummi mit all den anderen Dingen in den Tiefen des Internet gefunden habe. Ich habe es schon mal gesagt, hier wird bewiesen, dass es noch Denker in Deutschland gibt. Wenn das Stummiforum sich um BER gekümmert hätte, wäre es etwas geworden.

Danke für die Hilfe. Die LED tut, was sie soll. Die Sec hatte ich weggenommen, weil ich sehen wollte ob sich was verändert oder ob das Rot statisch ist.

Ich habe noch 2 Fragen, dann bin ich für diese MobaLedLib Anwendung glücklich.
1.) gibt es eine elegantere Möglichkeit, als die Zeile 8 Mal untereinander zu schreiben für die 8 LEDs?
2.) Was mache ich falsch, dass nach meiner Änderung des Sketches folgender Fehler kommt:
#################################
Arduino: 1.8.9 (Windows Store 1.8.21.0) (Windows 10), Board: "Arduino Nano, ATmega328P (Old Bootloader)"

C:\Users\rolfh\Documents\Arduino\House-zimmer-pattern\House-zimmer-pattern.ino: In function 'void loop()':

House-zimmer-pattern:142:2: error: 'LED_Heatbeat' was not declared in this scope

LED_Heatbeat.Update(); // Update the heartbeat LED. This must be called periodically in the loop() function.

^

exit status 1
'LED_Heatbeat' was not declared in this scope

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
######################################

Deswegen ist der Heartbeat in dem code den ich gepostet habe auskommentiert.

Hardi, vielen Dank für das, was du für mich und das Forum tust. Der Dank gilt auch anderen Stummis. Ich bin ja jetzt noch im "nehmen" Modus und möchte sehr gerne auch einen Beitrag leisten. Mal sehen, wann ich dazu in der Lage bin.
Rolf


Ingolf
InterRegio (IR)
Beiträge: 248
Registriert: So 30. Aug 2015, 10:15
Nenngröße: H0
Stromart: digital
Steuerung: Z21
Gleise: Piko A
Wohnort: 39629 Bismark
Alter: 64
Deutschland

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

#216

Beitrag von Ingolf » Di 19. Mär 2019, 11:18

Hallo Jungs,
Wenn das Stummiforum sich um BER gekümmert hätte, wäre es etwas geworden.
Selten so gebrüllt vor Lachen ! :lol: :lol: :lol:

Grüße Ingo

Benutzeravatar

ThKaS
EuroCity (EC)
Beiträge: 1378
Registriert: Do 28. Apr 2005, 08:37
Wohnort: München
Kontaktdaten:
Jamaika

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

#217

Beitrag von ThKaS » Di 19. Mär 2019, 11:25

rolfha hat geschrieben:
Di 19. Mär 2019, 10:29
...
2.) Was mache ich falsch, dass nach meiner Änderung des Sketches folgender Fehler kommt:
#################################
Arduino: 1.8.9 (Windows Store 1.8.21.0) (Windows 10), Board: "Arduino Nano, ATmega328P (Old Bootloader)"

C:\Users\rolfh\Documents\Arduino\House-zimmer-pattern\House-zimmer-pattern.ino: In function 'void loop()':

House-zimmer-pattern:142:2: error: 'LED_Heatbeat' was not declared in this scope

LED_Heatbeat.Update(); // Update the heartbeat LED. This must be called periodically in the loop() function.

^

exit status 1
'LED_Heatbeat' was not declared in this scope

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
######################################

Deswegen ist der Heartbeat in dem code den ich gepostet habe auskommentiert.
....
moin moin,
ohne den Sketch komplett gelesen zu haben.

Wolltest Du "heatbeat" oder "heartbeat" nutzen?
lieben Gruss von südlich des Weisswurst-Äquators
Thomas

guckst: www.thkas-moba.de ‹(•¿•)› www.mucis.de

Bild

Mä-K-Gleis, Tams MC, Multi-Kulti Decoder, WDP


rolfha
RegionalExpress (RE)
Beiträge: 77
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

#218

Beitrag von rolfha » Di 19. Mär 2019, 16:35

Danke, ich scheine die fliegende Hitze gehabt zu haben. Kaum macht man es richtig, schon geht es.
Natürlich einen Fehler behoben, nächstes Problem. Die WS2812b kamen heute. Als letztes in der Kette habe ich so ein MiniDing (sind kleiner als 5x5) zum Laufen gebracht. Das Nächste in der Reihe geht aber nicht. Schade, für Spur n hätte ich diese kleinen LEDs ohne Platienchen gerne auch verbaut.
Im Datenblatt ist ein C1 in der Schaltung. Da steht 104 daneben. Was ist das für ein Kondensator und kann man den auch 10 cm entfernt verbauen?
Das ist aber nur die Kür, die Plicht läuft.
Rolf


rolfha
RegionalExpress (RE)
Beiträge: 77
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

#219

Beitrag von rolfha » Di 19. Mär 2019, 16:43

Hallo,
Google hat mit der 104 geholfen, also ein 100nF Kondensator. ich werde mal welche bestellen und schauen, ob das hilft.
Rolf

Benutzeravatar

Threadersteller
Hardi
InterRegioExpress (IRE)
Beiträge: 342
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: Antworten

#220

Beitrag von Hardi » Di 19. Mär 2019, 22:44

Hallo Rolf,
rolfha hat geschrieben:
Di 19. Mär 2019, 10:29
1.) gibt es eine elegantere Möglichkeit, als die Zeile 8 Mal untereinander zu schreiben für die 8 LEDs?
Es gibt mindestens 3 Möglichkeiten:
  1. Schließe die Eingänge (DIN) der LEDs zusammen. Ich weiß nicht wie viele LEDs der Ausgang der vorangegangenen LED treiben kann, aber das kannst Du herausfinden und uns berichten. Die folgende LED wird an den Ausgang einer LED der Gruppe angeschlossen. Der Vorteil dabei ist, dass keine zusätzliche Rechenzeit und kein Speicher benötigt wird. Aber bei meinen bisherigen Konfigurationen war das nie ein Problem. Allerdings kannst Du bei dieser Lösung später keine unterschiedlichen Farben anzeigen.
  2. Mit dem CopyLED(LED, InCh, SrcLED) Makro kannst Du die Farben einer LED (SrcLED) kopieren. Diese Zeile musst Du aber auch wieder n-mal kopieren. Aber das ist ja schnell gemacht. Die Bibliothek hat keine Schleifenfunktion.
  3. Du kannst das kopieren auch selber in C++ schreiben:

    Code: Alles auswählen

    for (uint8_t i = 1; i <= 5; i++) memcpy(&leds[i], &leds[0], 3); // Copy the LED 0 to LED 1 - 5
    
    Diese Zeile kommt in die loop() Funktion hinter den „MobaLedLib.Update();“ Aufruf.
    Das ist das schöne an einem C++ Programm. Man kann das ganze beliebig erweitern. Bei einem Fertigen Gerät wäre das nicht möglich. Es kann nur das was der Hersteller für notwendig gehalten hat. Das kann man zwar über ein schönen buntes User Interface konfigurieren, aber eben nicht mehr ;-(
Deine zweite Frage wurde ja schon von Thomas beantwortet. Danke. Ich hätte das nie gesehen. Letztens habe ich Stundenlang nach so einem Tippfehler gesucht.
rolfha hat geschrieben:
Di 19. Mär 2019, 16:35
Im Datenblatt ist ein C1 in der Schaltung. Da steht 104 daneben. Was ist das für ein Kondensator und kann man den auch 10 cm entfernt verbauen?
Der Kondensator muss ganz nah bei der LED montiert werden. Wenige Millimeter können schon zu lang sein. Selbst die Anschlussdrähte haben eine Induktivität welche sich Störend auswirken kann. Am besten nimmst Du SMD Kondensatoren und lötest sie direkt an die LED. Aber das ist ziemlich fummelig. Aber Du bist das ja gewöhnt als N-Bahner…

Zusätzlich zu dem Kondensator findet oft noch einen 75 Ohm Widerstand in Reihe zum Eingang (DIN) der LED. Dieser Widerstand ist eine Serienterminierung (Siehe https://www.mikrocontroller.net/article ... widerstand). Das habe ich auch erst kürzlich verstanden. Er wird benötigt, wenn die Leitung zwischen den LEDs lang ist. In dem Artikel ist von 17 cm die Rede. Hier findet man konkrete Messungen an den WS2812B LEDs: https://www.mikrocontroller.net/topic/4 ... 64#5267064.

Alles nicht so einfach…

Hardi

Antworten

Zurück zu „Software und Hardware“