MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Video: Pattern_Config.

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

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

#122

Beitrag von Hardi » Mi 23. Jan 2019, 23:22

Hallo Kontraktfreudige,

die RGB LED Verteiler Platinen sind fertig und getestet!


Jetzt könnt Ihr loslegen!

Bild

Bild

Mit dieser Platine können 13 Häuser, Straßenlaterne, Soundmodule, Feuerwehrfahrzeuge, Ampeln, Lichtsignale, Motoren, Rauchgeneratoren, Andreaskreuze, Telefonzellen, Lagerfeuer, Dönerbuden und natürlich weitere Verteilerplatinen angeschlossen werden.

Diese Verteiler werden an verschiedenen Stellen unter der Anlage montiert so dass die Verbraucher mit kurzen Kabeln angeschlossen werden können. An die Ausgänge eines Verteilers können auch weitere Verteiler angeschlossen werden. Auf diese Weise kann man alle möglichen Verbraucher sehr einfach Anstecken. Ein Verbraucher kann aus einer oder aus vielen LEDs oder WS2811 Modulen bestehen.
Die Adresse einer LED ergibt sich automatisch aus der Position innerhalb der Kette.

Wenn man an einer Stelle weniger Konsumenten hat, dann kann man die Platine auch mit weniger Steckern bestücken. Der erste unbestückte Stecker muss dann auf der Unterseite der Platine über einen Lötjumper überbrückt werden damit die Daten richtig weitergeleitet werden. Das gilt auch für unbenutzte Anschlüsse. Jeder unbenutzte Anschluss muss mit einem Jumper überbrückt werden. Hier ein Bild der Jumper mit der ersten Verteilerplatine welche mit dem Soundmodul hergestellt wird:
Bild

Ein- und Ausgänge:
Die Platine hat auf der linken Seite eine Eingangsbuchse. Diese wird mit dem Arduino oder der vorangegangenen Verteilerplatine verbunden. Auf der Platine ist er mit „INP“ bezeichnet. Bei diesem Anschluss sind die ein und Ausgangspins vertauscht. Alle anderen Stecker sind Ausgänge. Anhand der Nummerierung kann man die Position innerhalb der Kette bestimmen. Hier nochmal das Bild mit den LED Nummern:
Bild
Man kann die Eingangsbuchse auch als RJ10 Stecker ausführen. Damit kann man beide Steckervarianten kombinieren. Auf dem RJ10 Verteiler ist ebenso ein Pfostenstecker vogesehen:
Bild

Stromverbrauch:
Die Stecker werden über Flachkabel miteinander verbunden. Diese haben einen sehr kleinen Querschnitt. Für 10-20 LEDs ist das noch kein Problem. Insbesondere weil die Leds nicht gleichzeitig und nicht mit voller Helligkeit leuchten. Aber man muss bedenken das 20 LEDs bis zu 1.1 A verbrauchen können! Das ist Brandgefährlich: viewtopic.php?f=21&t=165906
Darum ist es wichtig, dass man den Strom zwischen den Verteilerplatinen zusätzlich über dickere Leitungen führt. Das kann man über die gleichen Flachstecker machen:
Bild
Dazu löte ich einfach das dicke Kabel an die Schneid-Klemm Anschlüsse des Steckers an (+5V an Pin 1, GND an Pin 3). Achtung: Pin 2 und 4 müssen verbunden werden damit das Datensignal durchgeschleift wird.
Bild
Aus dem Befestigungsbügel habe ich etwas herausgefeilt so das man diesen wieder schließen kann:
Bild
Achtung: Darauf achten, dass sich die Versorgungsspannungskabel nicht die Datenanschlüsse berühren.

Generell solle man nicht ein zu starkes Netzteil verwenden. Theoretisch benötigen 256 RGB LEDs 14A. Das kann im Fehlerfall sehr schnell zu einem Brand führen! Ich denke, dass man mit 4A ziemlich weit kommt, wenn nicht alle LEDs gleichzeitig mit voller Helligkeit leuchten. In der Software kann man einstellen wieviel Strom die LEDs verbrauchen dürfen (Siehe Beispiel "20.Huge_Configuration"). Das Programm regelt dann die Helligkeit automatisch so ab, dass der Maximalstrom nicht überschritten wird. Auf diese Weise kann man ohne weiteres ein kleineres Netzteil einsetzen ohne dass man sich Gedanken über die gleichzeitig eingeschalteten LEDs machen muss.

Code: Alles auswählen

FastLED.setMaxPowerInVoltsAndMilliamps(5, 1500);       // limit the power used by the LEDs to 1.5A at 5V
Auf den Verteilerplatinen ist auch eine Möglichkeit zur Trennung der Stromkreise vorgesehen (J_POWER). Damit kann man verschiedene Stromkreise mit kleineren Spannungsquellen aufbauen. Allerdings gibt es „Berichte“ im Internet, dass es zu Ausfällen der LEDs kommen kann, wenn diese Daten aber keine Versorgungsspannung bekommen. Ich muss das mal untersuchen.

Kaufen:
Alf hat freundlicherweise 24 der roten Platinen für Euch bestellt und wird demnächst ausrechnen was die Platinen mit Verpackung und Versand kosten. Sagt Bescheid! Die ersten 4 Platinen sind schon weg.
Natürlich könnt Ihr Euch die Platinen auch selber bestellen. Alf, kannst Du den entsprechenden Link einstellen.

Stecker Bestellen:
Vielleicht kümmert sich auch jemand darum die Stecker und Buchsen zu bestellen. Dazu brauchen wir aber verbindliche Bestellungen. Für die 24 Platinen benötigt man bei Vollbestückung schon 336 Buchsen und mindestens so viele Stecker (ich würde 10% mehr bestellen, weil man schnell mal ein Kabel zu kurz gemacht hat oder es falsch gequetscht hat).


Habe ich noch was vergessen? Sicherlich, aber Ihr wisst ja wo Ihr mich findet…

Hardi


Ingolf
InterRegio (IR)
Beiträge: 249
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: New Platinen

#123

Beitrag von Ingolf » Fr 25. Jan 2019, 18:04

Hallo Hardi,

Ich habe mir meine Häuschen, die noch nicht auf der Anlage installiert sind vorgesucht und mir Gedanken gemacht, wie befestige ich die LED´s.
Die Variante mit Pappe einkleben erschien mir zu aufwendig, warum nicht die LED´s hinter den Fenstern befestigen ?
Aber wie "abdichten" ?

Bild

Bild

Sollte für die meisten H0-Fenster passen, ansonsten gibt es ja auch breitere Tasten.
Die weiße Knete ist UHU patafix, um die LED etwas zu fixieren.
Vielleicht gefällt es ja jemandem so.

Hardi, eine große Bitte.
Ich sehe durch den Sketch 23b (Receiver) nicht durch.
Wie muss was wo eingetragen werden, wenn ich z.B. mit Adresse 30 Haus 1 mit 4 LED´s ein- ausschalten will, mit Adresse 31 Haus 2 mit 6 LED´s.
Mit Adresse 40 das Schweißlicht.
Könntest du mir das bitte erläutern ?

Schon mal Danke.

Grüße und schönes Wochenende

Ingo

Benutzeravatar

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

#124

Beitrag von Hardi » Sa 26. Jan 2019, 02:45

Hallo Ingo,

Deine Fensterkästen gefallen mir außerordentlich gut. Dafür solltest Du den Goldenen Recycling Preis bekommen. Jetzt müsste man nur noch die Elektronik der Tastatur zum einlesen der Taster in einem Weichenstellpult verwenden.

Ich persönlich finde die Verkabelung mit Flachkabeln sehr praktisch. Das könnte man auch bei Deiner Lösung anwenden. Dazu könntest Du ein 7mm Loch in die Taste bohren und die LED von außen an die Taste kleben. Der Vorteil bei der Lösung ist, dass man die Kabel von einer LED zur nächsten führen kann. Man braucht keine Verbinder zwischen den LEDs.

Die RGB LEDs sind ziemlich Hell. Ich kann mir vorstellen, dass die momentan implementierten Zimmertypen zu hell sind, wenn die LES direkt nach außen zeigt. Aber dass kann man ja schnell ändern. Dazu gibt es den Befehl „Set_ColTab()“ mit dem man eigene Farben und Helligkeiten definieren kann. Im Beispiel „03.Switched_Houses“ wird das verwendet.
Wenn Dir die TV Simulation oder das Kammin Feuer zu hell ist, dann kann man das auch noch anpassen. Dazu ist Software ja da.

Der Kleber gefällt mir auch. Hab gleich mal eine Packung bestellt.


Doch jetzt zu Deiner RIESEN Bitte, aber sehr gut, dass Du fragst. Das ist noch nicht richtig (eigentlich gar nicht) erklärt und ziemlich kompliziert. Ich habe 4 Stunden gebraucht das nur halbwegs zu dokumentieren.

Generell gilt, dass die DCC Signale in die Eingangsvariablen der MobaLedLib eingelesen werden. Dort können sie von den verschiedensten Funktionen genutzt werden. Dazu haben fast alle Makros einen Parameter „InCh“ über den man die Eingangsvariable angibt.

Die DCC Kommandos können auf zwei verschiedene Arten ausgewertet werden. Vermutlich gibt es noch weitere Varianten, aber ich habe ja erst vor ein paar Tagen gelesen was die Abkürzung DCC überhaupt bedeutet (Muss aber schon wieder nachschauen „Digital Command Control“).

1. Momentan Funktion
Bei dieser Methode werden von einer DCC Adresse zwei Eingangsvariablen der Bibliothek gesteuert. Solange die Rote Taste gedrückt wird ist die erste Eingangsvariable aktiv. Wenn die Grüne Taste betätigt wird die zweite Variable. Beim Loslassen der Taste ist auch die Eingangsvariable wieder 0.
Diese Methode wird zur Ansteuerung der Licht Signale benutzt. Dazu wird zusätzlich die Funktion „InCh_to_TmpVar()“ benötigt welche mehrere Eingänge in eine Zahl umwandelt. Aber das ist eine Doktorarbeit für sich…

2. Umschalt Funktion

Hier steuert eine DCC Adresse nur eine Eingangsvariable der Bibliothek. Das ist die Funktion mit der man die Häuser ein und ausschalten kann. Hier wird die Grüne Taste zum Einschalten der Variable und die Rote Taste zum Ausschalten benutzt.

Das ist hoffentlich noch verständlich. Wenn nicht: Fragen …

Verwirrend wird es durch die verschiedenen Nummern. Bei DCC beginnt die Zählung mit 1. In einem C-Programm startet man üblicherweise mit der 0. Dann kommt noch dazu, dass eine DCC Adresse im ersten Fall zwei Eingangskanäle, im zweiten Fall nur einen Kanal belegt. Die Grenze zwischen den beiden Fällen kann man frei definieren. Außerdem könnte man noch Offsets verwenden. Dann wird nicht mit dem ersten DCC Kanal begonnen, sondern z.B. mit dem dreißigsten. So einen Offset gibt es auch noch für die Eingangsvariablen. Aber das habe ich zunächst einmal weggelassen.
Zum leichteren Verständnis habe ich eine ganze Menge Test LEDs in das Beispiel eingebaut. Sie Zeigen den Zustand der Eingangsvariablen. Für die „Momentan Funktion“ habe ich Rote und Grüne LEDs verwendet. Die „Umschalt Funktionen“ werden mit Blauer Farbe signalisiert. Die Test LEDs belegen die LED Nummer 24 bis 63.

Hier erst mal eine Zuordnungstabelle:

Code: Alles auswählen

  DCC  Button      InpCh           Debug LED
  ~~~~ ~~~~~~~~~   ~~~~~           ~~~~~~~~~
  1    Red         0               24 Red
  1    Green       1               25 Green
  2    Red         2               26 Red
  2    Green       3               27 Green
  :    :            :              :
  10   Red         18              42 Red
  10   Green       19              43 Green

  11   Red/Green   20 off/on       44 Blue
  12   Red/Green   21 off/on       45 Blue
  :    :                           :
  30   Red/Green   36 off/on       63 Blue
Die eigentlichen LEDs für Signale, Häuser und Schweißlicht liegen im Bereich 0 bis 23. So kann man das Beispiel auch mit einem kürzeren LED Stripe testen.

Hier die Zuordnung der DCC Adressen zu den Funktionen:

Code: Alles auswählen

DCC           Output
 ~~~~~~~~      ~~~~~~~~~~~~~~~~
 1 Red:        Entry signal Hp0
 1 Green:      Entry signal Hp1
 2 Red:        Entry signal Hp2
 2 Green:      not used

 3 Red:        Departure signal Hp0
 3 Green:      Departure signal Hp1
 4 Red:        Departure signal Hp2
 4 Green:      Departure signal Hp0+Sh1

 11 Red/Green: House with 3 rooms starting with LED 17. When it's turned on (Green) one random room is activated directly, the others are following later
 12 Red/Green: Office building with 3 rooms with neon lights starting with LED 20.
 13 Red/Green: Welding simulation LED 23
Mit dem DCC Kanal 11 schaltet man das erste Haus an. Hier wird sofort zufällig eine der drei Zimmer beleuchtet. Dann dauert es einige Zeit (Zwischen 50 und 150 Sekunden) bis das Licht ein einem Weiteren Zimmer an geht. Dieses Haus wird von zwei sparsamen Preisern bewohnt. Es sind nicht mehr als 2 Zimmer beleuchtet. Wenn sie zusammen vor der Flimmerkiste sitzen (Dritter Raum) dann sind die anderen Zimmer Dunkel. Natürlich kommt es auch vor das beide Bewohner in unterschiedlichen Zimmern sind.
Wenn das DCC Kommando „Rot“ kommt dann wird sofort ein Licht gelöscht damit man ein Feedback sieht. Falls eine zweite Lampe brennt, wird diese wieder nach 50 bis 150 Sekunden abgeschaltet. Die Zeiten kann man mit den Konstanten

Code: Alles auswählen

#define HOUSE_MIN_T  50  // Minimal time [s] to the next event (1..255)
#define HOUSE_MAX_T 150  // Maximal random time [s]              "
beeinflussen. Achtung sie müssen vor der #include "MobaLedLib.h" Zeile im Programm stehen.

Das zweite Haus wird entsprechend mit dem DCC Befehl 12 geschaltet. Dieses Gebäude beherbergt Büros mit mehreren Leuchtstofflampen welche nacheinander angehen. Es flackert einmal, wenn die ersten Röhren an gehen und dann ein weiteres Mal wen die „älteren“ Röhren zünden. Die Ersten Lampen erhellen den Raum nicht so sehr wie alle zusammen. Aber das ist ein Detail, das keinem auffällt.

Mit der DCC Adresse 13 kann das Schweißlicht aktiviert werden. Es Flackert aber nicht durchgängig, weil der Arbeiter ab und Zu das Werkstück wechselt oder die Schweißnaht überprüfen muss.

Das Beispiel habe ich mich nicht ganz an Deine Vorgaben gehalten (Damit Du zeigen kannst das Du verstanden hast wie es geht und das Programm entsprechend anpassen kannst.).
Nein, weil es mit meinen 64 LEDs einfacher zu Testen war… Ich wollte Lichtsignale und Häuser in Einem Beispiel zeigen. Wenn man nur eine der Funktionen nutzen will, dann kann man die Andere entsprechend auskommentieren oder löschen.
Die Konstante DCC_FIRST_TOGGLE_ID wird dann so gewählt, das der unbenutzte Bereich leer ist.

Ich hoffe ich konnte ein bisschen zeigen wie man DCC Signale in die Bibliothek einliest. Es ist zunächst einmal fürchterlich kompliziert, aber wenn man in kleinen Schritten vorgeht, dann klappt das schon. Und wenn nicht: Einfach fragen…

DCC_Rail_Decoder_Example.zip

Gute N8…

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


Ingolf
InterRegio (IR)
Beiträge: 249
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: New Platinen

#125

Beitrag von Ingolf » Mi 30. Jan 2019, 08:52

Hallo Hardy,

sorry, ich hatte aus gesundheitlichen Gründen eine "Schaffenspause".

Ich kann nur sagen "Uffff", da hast du dir aber viel Arbeit gemacht, Danke dafür.
Nach mehrmaligem Durchlesen glaube ich, den Faden gefunden zu haben...

Du verwendest, wenn ich es richtig verstanden habe, momentan nur die DCC-Adressen 1 bis 30 ?
Die nächsten Tage kommen weitere Nano´s, dann werde ich probieren.

Grüße Ingo

Benutzeravatar

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

#126

Beitrag von Hardi » Mi 30. Jan 2019, 20:50

Hallo Ingo,

ich hoffe, dass Deine „Schaffenspause“ beendet ist und wünsche Dir, dass Du Gesund bleibst.
Die ganze Bibliothek hat viel Arbeit gemacht, aber ich habe mir vorgenommen Euch allen mal was zurückzugeben… Und Ehrlich gesagt, das macht sogar Spaß.
In dem Beispiel kann man über drei Konstanten angeben welchen Bereich der DCC Adressen man in die Eingangsvariablen der MobaLedLib kopieren will.

Code: Alles auswählen

// Define which accessoires CAN messages should be used.
#define DCC_FIRST_LOC_ID      1   // First local ID which should be copied to the InpStructArray[] of the MobaLedLib
#define DCC_FIRST_TOGGLE_ID   11  // DCC adresses greater equal this number are used to toggle an entry in the InpStructArray[]
                                  // The DCC adresses smaller than this number are treated as momentarry events.
#define DCC_LAST_LOC_ID       30  // Last local ID which should be copied to the InpStructArray[] of the MobaLedLib
 
Diese Definition kann frei gewählt werden. Man könnte das Beispiel auch so abändern, dass mehrere Bereiche verwendet werden.

Ja, Probiere es einfach mal aus. Oft hilft es zum Verständnis, wenn man Debug Ausgaben mit „Serial.println(…)“ einbaut. Wenn Du nicht weiter kommst Frage einfach nach. Alle Fragen die Du stellst muss kein anderer mehr stellen…

Viel Spaß damit.

Hardi

Benutzeravatar

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

#127

Beitrag von Hardi » Mo 4. Feb 2019, 00:12

Hallo Bestellfreudige,

Mir macht das bestellen im Internet viel Spaß. Dabei finde ich es sogar spannend, wenn die bestellten Artikel nicht sofort kommen. Wenn die Post dann 6 Wochen später kommt weiß ich oft gar nicht mehr was in dem Paket ist.

Aber den Spaß gönnt euch Alf nicht. Er wird die Platinen schneller schicken denn

Ab sofort könnt Ihr die Verteilerplatinen für die LEDs und andere WS281x Verbraucher bestellen:

Bild

Die Platinen kosten Inklusive Versand und Verpackung (unbestückt und ohne Bauteile):
Anz.
Platinen
Preis
1 3,00
2 4,10
3 5,20
4 6,30
5 7,40
6 8,50


Wenn Ihr bestellen wollt, dann schreibt eine PN an Alf (Benutzername aftpriv):
https://www.stummiforum.de/ucp.php?i=pm ... se&u=14669

und wenn ihr sicher sein wollt, dass Ihr noch welche bekommt zusätzlich eine kurze Notiz hier im Thread (Es gibt momentan nur 20 Platinen). Das animiert dann auch die Anderen schnell zu bestellen.


Alf: Vielen Dank, dass Du die Bestellung organisierst…

Hardi


hlinke
S-Bahn (S)
Beiträge: 15
Registriert: Di 31. Okt 2006, 22:02
Wohnort: Trier

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

#128

Beitrag von hlinke » Mo 4. Feb 2019, 07:07

Hallo Hardi, hallo Alf,

danke für Eure tole Initiative.

Ich habe gerade 3 Platinen bestellt.

Viele Grüsse
Harold


Ingolf
InterRegio (IR)
Beiträge: 249
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: New Platinen

#129

Beitrag von Ingolf » Mo 4. Feb 2019, 11:31

Hallo Hardi, großer Meister,

Erfolgsmeldung, es funktioniert !!

Bild

Bild

Der obere Nano ist für DCC (mit HB-LED), der Sketch wurde unverändert geflasht.
Der Sketch für den unteren Nano für die LED´s wurde etwas angepasst.
LED 0 ist zwischen Nano und Klemmen als HB.
Dann LED 1,2 und 3 ein House, 4, 5 und 6 das Office, LED 7 ist das Schweißlicht.
Läßt sich hervorragend über die DCC-Adressen 11, 12 und 13 steuern. Nee, ist das geil !

Nun möchte ich die Adressen an meinen Adressraum auf meiner Anlage anpassen und bin auf eine (für mich) Ungereimtheit gestoßen.
Folgende Tabelle in dem Sketch 23b :
DCC Button InpCh Debug LED
~~~~ ~~~~~~~~~ ~~~~~ ~~~~~~~~~
1 Red 0 24 Red
1 Green 1 25 Green
2 Red 2 26 Red
2 Green 3 27 Green
: : : :
10 Red 18 42 Red
10 Green 19 43 Green

11 Red/Green 20 off/on 44 Blue
12 Red/Green 21 off/on 45 Blue
: : :
30 Red/Green 36 off/on 63 Blue
Wenn ich von DCC 12 weiterzähle, müßte ich dann bei DCC 30 nicht bei InpCh 39 landen ???
Oder wo ist mein Denkfehler ?

Angenommen, ich will bei Adresse 30 anfangen, müßte das dann so aussehen ?
#define SEND_DISABLE_PIN A1
#define ERROR_LED_PIN 13

#define LED_HEARTBEAT_PIN 13

#define NUM_LEDS xx // 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 which accessoires CAN messages should be used.
#define DCC_FIRST_LOC_ID 30 // First local ID which should be copied to the InpStructArray[] of the MobaLedLib
#define DCC_FIRST_TOGGLE_ID xx // DCC adresses greater equal this number are used to toggle an entry in the InpStructArray[]

// The DCC adresses smaller than this number are treated as momentarry events.
#define DCC_LAST_LOC_ID 60 // Last local ID which should be copied to the InpStructArray[] of the MobaLedLib
#define DCC_INPSTRUCT_START 0 // Start number in the InpStructArray[]
Ich vermute, das Adresse 30 dann InpCh wieder 0 ist ?

Eine letzte Frage, eignet sich das Soundmodul JQ6500 auch ?

https://de.banggood.com/JQ6500-Voice-So ... rehouse=CN

Viele Grüße Ingo
Zuletzt geändert von Ingolf am Mo 4. Feb 2019, 17:53, insgesamt 1-mal geändert.


peter01
S-Bahn (S)
Beiträge: 12
Registriert: Fr 19. Apr 2013, 20:51

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

#130

Beitrag von peter01 » Mo 4. Feb 2019, 14:27

Hallo Alf,

ich melde bedarf an 2 Verteilerplatinen an.

Gruß Peter


aftpriv
InterCity (IC)
Beiträge: 802
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: New Platinen

#131

Beitrag von aftpriv » Mo 4. Feb 2019, 19:28

Danke Euch Beiden für die Bestellung.

Es sind noch 15 Stück verfügbar, weitere erst wieder Mitte März.

Verbindliche Vorbestellungen werden gerne entgegen genommen. Vorauszahlung von 50% der Endsumme.

Bitte bestellen/vorbestellen per PM und Erwähnung im Forumsbeitrag

Gruß
Alf

PS: Dank an Entwicklungspartner Hardi für Seine Arbeit, weiter so!
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: 369
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: New Platinen

#132

Beitrag von Hardi » Di 5. Feb 2019, 13:08

Hallo Ingo,
Ingolf hat geschrieben:
Mo 4. Feb 2019, 11:31
... Nee, ist das geil !
Das werte ich als ganz großes Lob. Vielen Dank!

Ingolf hat geschrieben:
Mo 4. Feb 2019, 11:31

Wenn ich von DCC 12 weiterzähle, müßte ich dann bei DCC 30 nicht bei InpCh 39 landen ???
Oder wo ist mein Denkfehler ?
Der Denkfehler sitzt in Mainz ;-( Ich könnte mich ja damit herausreden, dass ich das absichtlich falsch gemacht habe um Euch zu testen…
Du hast vollkommen Recht der letzte InpCh ist die 39. Ich werde es im Kommentar des Beispiels verbessern. Solche Fehler sind besonders ärgerlich, darum ist es wichtig, dass ich so etwas gemeldet bekomme. Danke.

Ingolf hat geschrieben:
Mo 4. Feb 2019, 11:31

Angenommen, ich will bei Adresse 30 anfangen, müßte das dann so aussehen ?
#define SEND_DISABLE_PIN A1
#define ERROR_LED_PIN 13

#define LED_HEARTBEAT_PIN 13

#define NUM_LEDS xx // 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 which accessoires CAN messages should be used.
#define DCC_FIRST_LOC_ID 30 // First local ID which should be copied to the InpStructArray[] of the MobaLedLib
#define DCC_FIRST_TOGGLE_ID xx // DCC adresses greater equal this number are used to toggle an entry in the InpStructArray[]

// The DCC adresses smaller than this number are treated as momentarry events.
#define DCC_LAST_LOC_ID 60 // Last local ID which should be copied to the InpStructArray[] of the MobaLedLib
#define DCC_INPSTRUCT_START 0 // Start number in the InpStructArray[]
Ich vermute, das Adresse 30 dann InpCh wieder 0 ist ?
Ja, aber die Konstante DCC_FIRST_TOGGLE_ID muss auch einen Wert enthalten. Sie bestimmt die Erste ID für die LEDs welche mit zwei Tasten (Rot/Grün) Aus- und Eingeschaltet werden. Die IDs davor werden als Momentkontakt ausgewertet und werden in dem Beispiel für die Signale benutzt. Wenn Du die Signale aus der Konfiguration entfernt hast, dann kannst Du „DCC_FIRST_TOGGLE_ID“ auf 30 setzen. Damit werden nur Umschaltfunktionen benutzt und dann ist die DCC Adresse mit dem InpCh 0 verknüpft (Nicht getestet, hoffentlich habe ich auf die Schnelle nichts übersehen).
Ich versuche alles so universell wie möglich zu gestalten. Das macht die Sache dann zu Komplex ;-(
Ingolf hat geschrieben:
Mo 4. Feb 2019, 11:31
Eine letzte Frage, eignet sich das Soundmodul JQ6500 auch ?

https://de.banggood.com/JQ6500-Voice-So ... rehouse=CN

Ja, ich vermute, dass man das Modul auch verwenden könnte. Es hat den Vorteil dass man keine zusätzliche SD Karte benötigt. Dadurch wird es unter dem Strich etwas billiger. Es besitzt aber nur einen analogen Eingang für Taster. Damit lassen sich dann weniger (5 statt 14) Sounds direkt abrufen. Aber in jedem Fall muss man die Tabelle anpassen:

Code: Alles auswählen

                                //  ADKey1  ADKey2
#define SOUND_ADKEY10   11      //  Play Mode   14
#define SOUND_ADKEY9    17      //  U/SD/SPI    13
#define SOUND_ADKEY8    22      //  Loop All    12
#define SOUND_ADKEY7    25      //  Pause/Play  11
#define SOUND_ADKEY6    29      //  Prev/Vol-   10
#define SOUND_ADKEY5    37      //  Next/Vol+   9
#define SOUND_ADKEY4    49      //  4           8
#define SOUND_ADKEY3    70      //  3           7
#define SOUND_ADKEY2    134     //  2           6
#define SOUND_ADKEY1    255     //  1           5
Wenn Du bereits viele dieser Module bestellt hast, dann kannst Du mir eins davon schicken, dann schau ich mir mal an wie die Tabelle geändert werden muss (Das Modul bleibt aber als „Dauerleigabe“ bei mir für nachfragen…).


Hardi

Benutzeravatar

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

#133

Beitrag von Hardi » Di 5. Feb 2019, 21:38

Hallo Zusammen,

ich habe mal eine Tabelle mit verschiedenen Bezugsquellen für die 4-poligen Stecker für die Verteilerplatinen erstellt:
Preis [€]
Stückzahl
10-99
Preis[€]
Stückzahl
>99
Verfügbar Mindest-
abnahme
  Wannenstecker 4-polig 75869-130LF  
0,49 0,41 189 1   https://www.conrad.de/de/fci-pfosten-st ... 01800.html  
0,56 0,52 60082 1   https://www.arrow.com/en/products/75869 ... phenol-fci  
0,52 0,52 485 5   https://de.rs-online.com/web/p/leiterpl ... r/6737578/  
0,39 1700 100   https://www.avnet.com/shop/emea/product ... ryfeed_VSE  
0,60 0,56 583 1   https://www.mouser.de/ProductDetail/Amp ... f+Amphenol  
0,40 0,40 460 100   https://uk.farnell.com/amphenol-icc-fci ... HB-NETCOMP  
   
  Anschluss für Kabel 4-polig: 71600-104LF  
0,43 0,37 - 1   https://www.conrad.de/de/fci-pfosten-st ... 01764.html  
0,47 400 50   https://de.rs-online.com/web/p/products ... lsrc=aw.ds  
0,39 0,37 830 1   https://de.farnell.com/amphenol-icc-fci ... (FCI)-0418  
0,50 0,44 1576 1   https://www.mouser.de/ProductDetail/Amp ... uecg%3D%3D  
0,62 0,48 2463 1   https://www.digikey.de/product-detail/d ... ND/1523943  
0,31 0,20 389 1   https://www.compona.com/product/2468595 ... 71600104lf  
0,40 1250 50   https://www.avnet.com/shop/emea/product ... E?aka_re=1  
Edit: 21.02.19: Link zum Conrad Stecker korrigiert. Leider ist der Stecker immer noch nicht verfügbar

Ich weiß nicht ob man bei allen genannten Lieferanten als Privatmensch bestellen kann. Bitte prüft auch noch mal genau bevor Ihr bestellt ob es auch die richtigen Teile sind. Nicht dass Ihr versehentlich 40-polige Stecker bestellt.

Das schwierigste an der Tabelle war das Einfügen in das Forum. Dazu habe ich mir ein kleies Excel Makro gebastelt. Vielleicht braucht Ihr so was auch mal.
Gen_StummiTable.zip
Gibt es einen allgemeinen Platz hier im Forum wo man dieses Tool ablegen kann?

Demnächst werde ich eine Platine für den Arduino entwickeln. Habt Ihr dazu noch Wünsche?

Hardi
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Hardi am Do 21. Feb 2019, 13:31, insgesamt 1-mal geändert.


Ingolf
InterRegio (IR)
Beiträge: 249
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: New Stecker

#134

Beitrag von Ingolf » Mi 6. Feb 2019, 10:47

Hallo Hardi,

mir ist eine Sache aufgefallen. Kann sein, das mein Sketch fehlerhaft ist, bitte mal drüberschauen.

Folgender Effekt. Habe den Adressraum angepaßt, begonnen mit DCC-Adr 25.
Also:
#define DCC_FIRST_LOC_ID 25
und
#define DCC_FIRST_TOGGLE_ID 25
usw.
Jetzt passiert folgendes. Nach Einschalten der Spannung ist eine (zufällige) LED im House (LED 1-3) aktiv. Bei der TV_LED flackert diese auch fleißig.
Weiter passiert erst mal nix. Ich kann dann über die DCC-Befehle auch alles schalten.
Die LED im Haus leuchtet auch, wenn keine Zentrale angeschlossen ist.

Lösung:
Ich habe dann den Sketch geändert, und mit Adr 26 (InpCh 1) begonnen. Jetzt ist alles wieder schick.

Dies scheint aufzutreten, wenn #define DCC_FIRST_LOC_ID und #define DCC_FIRST_TOGGLE_ID den gleichen Wert haben und man InpCh 0
auch benutzt.

Oder habe ich im Sketch doch Mist gebaut ?

Grüße Ingo

PS: schicke Tabelle !
23_B.DCC_Rail_Decoder_Receiver.zip
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar

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

#135

Beitrag von Hardi » Mi 6. Feb 2019, 12:58

Hallo Ingo,

das habe ich mal wieder verbockt. Sorry…
Die beiden folgenden Zeilen sorgen dafür, dass in dem Beispiel die Lichtsignale beim Einschalten Hp0 zeigen:

Code: Alles auswählen

  MobaLedLib.Set_Input(0, 1); // Set the default value for the entry light signal at power on
  MobaLedLib.Set_Input(4, 1); // Set the default value for the departure light signal at power on
Wenn Du die Signale weglässt ohne die Zeilen zu Deaktivieren, dann wird das Haus eingeschaltet sobald der Arduino Strom kriegt…

Hardi


Ingolf
InterRegio (IR)
Beiträge: 249
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: New Stecker

#136

Beitrag von Ingolf » So 10. Feb 2019, 10:54

23_B.DCC_Rail_Decoder_Receiver.zip
Hallo zusammen,

ich möchte euch einige Erfahrungen nicht vorenthalten.
Da Software nicht meine Stärke ist, habe ich Hilfe bei Hardi gesucht und auch erhalten. Danke Hardi !
Dies ist jedoch über PN gelaufen, daher heute dieser Beitrag.
Als Anhang meine momentane Testversion von Sketch 23b.

Da ich alles über DCC-Befehle über mein Tab steuern will, habe ich mir die Hardware für die Sketche 23a und 23b
zusammengebaut. Zu sehen in Beitrag 129 Seite 6.
LED 0 ist dabei als Heartbeat mit auf der Platine.
Nachdem dies mit den Original_Sketchen prima funktionierte, habe ich den Sketch 23b verändert. Sketch 23a bleibt
unverändert.

Die Zeilen für die Signale habe ich entfernt, brauche ich noch nicht.
Der Adressraum sollte bei DCC 25 beginnen, alle Adressen davor belegen 2 DR4018.

Also geändert:
#define DCC_FIRST_LOC_ID 25 // First local ID which should be copied to the InpStructArray[] of the MobaLedLib
#define DCC_FIRST_TOGGLE_ID 25 // DCC adresses greater equal this number are used to toggle an entry in the InpStructArray[]
// The DCC adresses smaller than this number are treated as momentarry events.
#define DCC_LAST_LOC_ID 35 // Last local ID which should be copied to the InpStructArray[] of the MobaLedLib
#define DCC_INPSTRUCT_START 0 // Start number in the InpStructArray[]
Dabei wird dann:
DCC Button InpCh
~~~~ ~~~~~~~~~ ~~~~~

25 Red/Green 0 off/on
26 Red/Green 1 off/on
27 2
: :
35 Red/Green 10 off/on
Noch die InCh-Werte in der Konfiguration der HOUSE angepaßt und auf den Nano für die LED´s geflasht.
Nun kann ich sehr schön mit der DCC-Adresse 25 das HOUSE mit den LED´s 1,2 und 3 schalten. (LED 0 sitzt ja mit auf der Nano-Platine)
DCC 26 schaltet das HOUSE mit den LED´s 4, 5 und 6, Adresse 27 schaltet das Schweißlicht. Nee, war das schön, als es funktionierte !

Nun kam ich ja auf die Idee, Tastaturkappen von einer alten Tastatur vor die Fenster zu kleben, um mir die Basteleien mit der Pappe
zu ersparen. (Bilder Beitrag 123 Seite 5)
Dazu kam von Hardi der Kommentar, dazu ist die voreingestellte Konfiguration zu hell. Ich sollte mit dem Makro Set_ColTab() arbeiten.
Also dieses mit in den Sketch 23b eingebaut, jedoch kam ich damit überhaupt nicht klar.

Einige PN´s später...

Mit Set_ColTab() definiert man 15 neue Farb- und Helligkeitswerte für den jeweiligen Raum, der im Kommentar zu der Zeile steht.
Diesen trägt man dann in der HOUSE-Konfig ein - fertig.

Jetzt denke ich, das ich alles im Griff habe und kann mir den Sketch so erstellen, wie ich es brauche.

Hardi, sollte ich etwas unrichtig oder unvollständig erläutert haben, bitte berichtige mich.

Ich hoffe, es hilft jemandem weiter.

Schönen Sonntag noch

Grüße Ingo
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar

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

#137

Beitrag von Hardi » Di 12. Feb 2019, 10:18

Hallo Zusammen,

Ingolf („der Spanier“) verwendet für die LEDs in seinem Thread (Licht auf der Modellbahn) RJ10 Stecker. Diese sind um Welten billiger als die Pfostenstecker welche ich verwende.
TecnoWorld hat geschrieben:
Mi 10. Okt 2018, 14:34
...
Die Kabel dazu kann man auch fertig kaufen. Das sind RJ10 Kabel, 1:1. Die gibt es billig fertig konfektioniert überall zu kaufen, in allen Längen.
Die RJ10 Stecker (4p4c) und die Zangen dazu gibt es auch billig. Also das ist notfalls auch kein Problem. Ist ja kein Löten :-)
Ich persönlich finde die Verkabelung mit Flachkabel in den Häusern viel eleganter als die Verwendung von RJ10 Kabeln bei denen eine zusätzliche dicke Isolierung entfernt werden muss.
Hardi hat geschrieben:
Mi 9. Jan 2019, 23:21
Bild
Jetzt ist mir die Idee gekommen, dass man ja beide Welten miteinander verheiraten könnte.
Vielleicht kann man auch „normale“ Flachkabel mit RJ10 Steckern krimpen?
Hat das schon mal jemand gemacht?
RJ10 Kabel haben einen etwas kleineren Querschnitt (AWG30) als Flachkabel (AWG28). Aber dafür haben die RJ10 Kabel mehr Isolierung.

Probiert das doch Bitte mal aus, wenn Ihr RJ10 Stecker da habt.

Hardi


andiii_98
S-Bahn (S)
Beiträge: 13
Registriert: Mi 21. Jan 2015, 20:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2
Gleise: Märklin M-Gleis

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

#138

Beitrag von andiii_98 » Sa 16. Feb 2019, 22:46

Hallo Hardi,
sensationelles Projekt, ganz großes Lob!
Es sieht so aus, als hätte ich gefunden, was ich zur Ansteuerung von Signalen gesucht habe. Auf jeden Fall ist die Bestellung nach China schonmal raus.
Aber ich habe eine Frage zun den beiden CAN-Sketches (11 und 12): Im Sketch hast du geschrieben, dass der CAN-Bus zur MS2 isoliert sein muss. Dass ich nicht das Gleissignal einspeise, ist klar. Aber wenn ich über eine CC-Schnitte gehe und dann dort das CAN-Signal raushole, müsste es doch schon passen, oder?
Vielen Dank und viele Grüße,
Andreas

Benutzeravatar

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

#139

Beitrag von Hardi » So 17. Feb 2019, 01:08

Hallo Andreas,

vielen Dank…
Es Freut mich, wenn Dir die Bibliothek weiterhilft. Wenn Du die Teile hast und Fragen auftauchen, dann melde Dich einfach.

Das mit der Isolierung der Stromkreise ist ein schwieriges Thema. Bei der Modelleisenbahn trennt man die Stromkreise lieber einmal zu viel als zu wenig. Ich sehe das ein bisschen anders, werde mich aber dazu nicht öffentlich äußern sonst werde ich noch aus dem Forum geschmissen ;-(

Wenn Du willst können wir gerne per PN darüber diskutieren.

Man muss auch Bedenken, dass der Arduino über das USB Kabel mit dem PC verbunden ist. Dieser wiederum ist spätestens über den Monitor mit dem Schutzleiter verbunden. Probleme können dann Auftreten wenn man eine weitere Verbindung über den Schutzleiter zur Anlage herstellt. Das kann z.B. ein Lötkolben sein mit dem man mal schnell den Gleisanschluss reparieren will. Ja, ich weiß das macht man natürlich nicht, und wenn dann ist alles Stromlos geschaltet...

Wichtig ist, dass es man genau weiß was man macht. Ein kleiner Fehler kann zur Zerstörung der Elektronik führen und im schlimmsten Fall zu einem Brand führen ;-(

Siehe: viewtopic.php?f=21&t=165906

Hardi


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: New Stecker

#140

Beitrag von TecnoWorld » So 17. Feb 2019, 10:51

Hardi hat geschrieben:
So 17. Feb 2019, 01:08
Das mit der Isolierung der Stromkreise ist ein schwieriges Thema
Schwierig ist das nicht. Alles was Verbindung zur Außenwelt hat, muss galvanisch getrennt sein. Alles andere macht nur Ärger. Mit Sicherheit allein hat das nix zu tun. Aber die Gleissignale können der restlichen Elektronik übel mitspielen. Auch Differenzen am Nulleiter können bei größeren Anlagen Probleme machen.
Man muss auch Bedenken, dass der Arduino über das USB Kabel mit dem PC verbunden ist. Dieser wiederum ist spätestens über den Monitor mit dem Schutzleiter verbunden. Probleme können dann Auftreten wenn man eine weitere Verbindung über den Schutzleiter zur Anlage herstellt. Das kann z.B. ein Lötkolben sein mit dem man mal schnell den Gleisanschluss reparieren will.
Für USB gibt es galvanische Trenner. Benutze ich bei meinem System ja auch.
Für Lötkolben gibt es Trenntrafos. Muss man haben, genau wie vor den Messgeräten (Oszi etc.)
Ein Einhalten dieser Trennung erleichtert die Arbeit immens. Die Sicherheit spielt bei mir aber keine Rolle. Es gibt bei mir keine fremden Personen.

Aber allein das Verwenden eines Schaltnetzteile für DCC und ein Schaltnetzteil für z.b. die Steuerelektronik. Wenn man dann beide Massen verbindet, geht nix mehr ordentlich.
Also, besser alles ordentlich trennen.
Um z.b. das Xpressnet oder das DCC in das Steuersystem einzukoppeln habe ich auch optokoppler verwendet. Ergebniss sind saubere Signale ohne Störungen....

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

Benutzeravatar

Threadersteller
Hardi
InterRegioExpress (IRE)
Beiträge: 369
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: Neue Version der Bibliothek mit der Unterstützung eines weiteren Sound Moduls

#141

Beitrag von Hardi » Mo 18. Feb 2019, 21:43

Hallo Zusammen,

dank der Dauerleigabe des Sound Moduls JQ6500 von Ingo konnte ich die MobaLedLib so erweitern, dass auch dieses Modul (JQ6500) unterstützt wird:
Bild Bild

Bisher wurde nur das MP3-TF-16P Sound Modul unterstützt:
Bild
Bild

Damit gibt es jetzt eine weitere Möglichkeit wie man mit der MobaLedLib Sounds auf der Anlage erzeugt. Diese Geräusche können genau an der Stelle der Anlage erzeugt werden wo sie erscheinen sollen. Mit einem Surround System ist das nicht so genau möglich, weil dieses abhängig von der Zuhörerposition ist. Allerdings kann man damit keine bewegten Geräusche simulieren (Fahrendes Auto). Die Sound Module und der entsprechende Lautsprecher können z.B. direkt in die Kirche integriert werden. Dabei ist darauf zu achten, dass der Lautsprecher einen Resonanzkörper benötigt sonst kommt es zu einem „Akustischen Kurzschluss“ der die Tiefen Frequenzen auslöscht.

Beispiel Programm:
Diese Sounds können jetzt über DCC Kommandos abgerufen werden. Dazu könnt Ihr das Beispielprogram „24.DCC_and_Sound“ der neuen Version der Bibliothek (0.7.7) benutzen (Installation siehe #14 viewtopic.php?p=1913636#p1913636).
In dem Beispiel müsst Ihr die Zeile

Code: Alles auswählen

#define USE_MP3_TF_16P_SOUND_MODULE   // Enable this line to use the MP3-TF-16P sound module
                                      // If the line is disabled the JQ6500 sound module is used 
auskommentieren wenn Ihr das JQ6500 Modul verwenden wollt.
Natürlich können mit der MobaLedLib mehrere Sound Module (auch gemischt) angesteuert werden. Dazu müssen nur die entsprechenden Makros angepasst werden. Das Ganze geht parallel zu Ansteuerung der LEDs. Man benötigt nur einen Arduino mit dem man alle Funktionen über ein einziges Kabel steuern kann.
Das Beispiel Programm empfängt seine Befehle über das DCC Protokoll. Dazu werden mehrere DCC Adressen verwendet. Im Beispiel definiert man die erste DCC Adresse über die Konstante „DCC_FIRST_LOC_ID“. Die Sounds werden über Momentfunktionen angesteuert. Mit jedem Tastendruck wird ein Sound generiert. Das bedeutet das man mit jeder DCC Adresse zwei Sounds abrufen kann. Die Adresse 1 „Rot“ aktiviert den ersten Sound, „Grün“ den zweiten Sound…
Die Bibliothek unterstützt neben solchen Momentfunktionen auch Umschaltfunktionen. Bei diesen wird die Funktion mit „Grün“ aktiviert und mit „Rot“ deaktiviert. Diese werden bei dem Sound Beispiel nicht genutzt. In dem Programm bestimmen die folgenden Konstanten die Benutzen Adressen:

Code: Alles auswählen

// Define which accessorie CAN messages should be used.
#define DCC_FIRST_LOC_ID      1   // First local ID which should be copied to the InpStructArray[] of the MobaLedLib
#define DCC_FIRST_TOGGLE_ID   23  // DCC addresses greater equal this number are used to toggle an entry in the InpStructArray[]
                                  // The DCC adresses smaller than this number are treated as momentarry events.
#define DCC_LAST_LOC_ID       30  // Last local ID which should be copied to the InpStructArray[] of the MobaLedLib
#define DCC_INPSTRUCT_START   0   // Start number in the InpStructArray[]
Wenn das JQ6500 Sound Modul verwendet wird, dann werden die Adressen 1 bis 6 belegt. Das wird im Programm mit diesen Zeilen festgelegt:

Code: Alles auswählen

  Sound_JQ6500_Seq1(      0, 0)      // Play sound file 1 if the red button of DCC address 1 is pressed.
  Sound_JQ6500_Seq2(      0, 1)      //  "          "   2        green   "      "          1      "
  Sound_JQ6500_Seq3(      0, 2)      //  "          "   3        red     "      "          2      "
  Sound_JQ6500_Seq4(      0, 3)      //  "          "   4        green   "      "          2      "
  Sound_JQ6500_Seq5(      0, 4)      //  "          "   5        red     "      "          3      "
  Sound_JQ6500_Prev(      0, 6)      // Play the previous sound file the     red  button, addr 4 is pressed.
  Sound_JQ6500_Next(      0, 7)      // Play the next sound file if         green button, addr 4 is pressed.
  Sound_JQ6500_Next_of_N( 0, 8, 3)   // Play the next sound file of N if the red  button, addr 5 is pressed. The 5  defines the maximal played sound number in the range of 1..5.
  Sound_JQ6500_PlayRandom(0, 9, 5)   // Play a random sound file if the     green button, addr 5 is pressed. The 14 defines the maximal played sound number in the range of 1..5.
  Sound_JQ6500_DecVol(    0, 10, 1)  // Decremet  the volume if the          red  button, addr 6 is pressed.
  Sound_JQ6500_IncVol(    0, 11, 1)  // Increment the volume if the         green button, addr 6 is pressed.
Wenn man andere DCC Adressen benutzen will, dann muss man die Konstanten entsprechend anpassen. Hier ein Beispiel bei dem die Adressen 35 bis 40 benutzt werden:

Code: Alles auswählen

// Define which accessorie CAN messages should be used.
#define DCC_FIRST_LOC_ID      35   // First local ID which should be copied to the InpStructArray[] of the MobaLedLib
#define DCC_FIRST_TOGGLE_ID   41  // DCC addresses greater equal this number are used to toggle an entry in the InpStructArray[]
                                  // The DCC adresses smaller than this number are treated as momentarry events.
#define DCC_LAST_LOC_ID       40  // Last local ID which should be copied to the InpStructArray[] of the MobaLedLib
#define DCC_INPSTRUCT_START   0   // Start number in the InpStructArray[]




Vergleich der Module
Das JQ6500 Modul ist unter dem Strich etwas günstiger, weil man hier keine zusätzliche SD Karte benötigt. Allerdings bedeutet das auch einen gewissen Zusatzaufwand. Zum Aufspielen der Sounds benötigt man eine Software welche eigentlich auf dem Modul installiert sein sollte. Leider ist das bei vielen Modulen nicht so. In dem Fall muss man sich die entsprechende Software aus dem Internet herunterladen und auf dem Modul installieren. In diesem Video wird erklärt wie das gemacht wird:
https://www.youtube.com/watch?v=9h_RWsfRnY4
Das benötigte Image kann man von hier herunterladen:
https://github.com/NikolaiRadke/JQ6500-rescue-tool

Dann hat man ein kleines chinesisches Tool mit dem man die Sound Dateien auf das Modul kopieren
kann. Das ist etwas Abenteuerlich, weil man nicht weiß was auf den Buttons steht auf die man klickt. Aber es hat funktioniert und meine Festplatte hat keinen Schaden genommen :-)
Hier kann man das Tool mit englischer Beschriftung herunterladen (Siehe „English Language MusicDownload.exe“):
https://sparks.gogo.co.nz/jq6500/index.html
Das Funktioniert gut. Ich konnte nicht probieren ob die Installation der Firmware, wenn man dieses Programm verwendet, noch nötig ist, weil ich diesen Schritt ja schon ausgeführt hatte.

Ingo: Hast Du schon alle Deiner neuen Module mit der Firmware versorgt oder kannst Du testen ob es auch ohne Firmware geht?
Antwort:
Ingolf hat geschrieben:
Di 19. Feb 2019, 17:50
Ich habe eben mit einem neuen Modul probiert, es geht auch ohne vorher das Rescue-Tool zu verwenden.
=> Die Module können genau so einfach (vielleicht sogar noch einfacher) mit Sound Dateien bespielt werden wie die MP3-TF-16P Module.


Weiter mit dem Vergleich:
Bei dem JQ6500 Sound Modul kann man nur 5 Sound Dateien per Knopfdruck abrufen. Bei dem MP3-TF-16P Modul sind es 14. Das liegt daran, das bei dem JQ6500 Modul nur ein analoger Eingang zum abrufen verschiedener Titel vorhanden ist bei dem MP3-TF-16P gibt es 2 analoge Eingänge welche zusätzlich eine feinere etwas feinere Abstufung besitzen (10 Stufen anstelle von 9).
Das JQ6500 Modul unterstützt auch keine zufällige Widergabe von Sound Dateien.
Beide Geräte können beliebig viele Sounds sequenziell nacheinander abspielen. Beim JQ6500 ist man durch den internen Speicher evtl. etwas eingeschränkt, aber ich vermute, dass 2 MB Platz für alle frei verfügbaren Bahnhofsansagen… aus dem Internet reichen.

Für meine Tests verwende ich Sound Dateien mit Zahlen. Diese kann man hier herunterladen: https://vocapp.com/german-numbers-1-20-flashcards-26526

Bezüglich der Soundqualität und der Lautstärke sind beide Module gleich.
Das JQ6500 reagiert etwas empfindlicher auf eine schlechte Versorgungsspannung. Mit einem Pufferkondensator (470uF) und einem 1 Ohm Widerstand nahe beim Modul wird das besser.

Ansteuerung der Module:
Die Sounds sollen über die MobaLedLib genauso behandelt werden können wie die LEDs. Die Platinen werden mit dem gleichen Kabel angesteuert wie die anderen Komponenten. Dazu wird ein WS2811 Modul verwendet. Dieses hat 3 Ausgänge mit denen man normalerweise drei Leuchtdioden betreibt. Diese Ausgänge generieren ein PWM Signal (Puls Weiten Moduliert) mit dem die Helligkeit der LEDs gesteuert wird. Wenn die LED hell sein soll, dann ist das Signal lange an und kurz aus, wenn die LED dunkler sein soll, dann ist die Spannung an der LED kürzer an und lange aus (https://www.mikrocontroller.net/article ... modulation). Mit diesem Signal werden die Module gesteuert. Sie besitzen einen bzw. zwei analoge Eingänge über die man normalerweise mit verschiedenen Widerständen die Sound Dateien abrufen kann:
Bild
Über das PWM Verhältnis werden diese Widerstände simuliert. Das ist eine lästige Geschichte, weil man herausfinden muss welches PWM Verhältnis einen bestimmten Widerstandswert optimal repräsentiert. Eigentlich bildet man damit nicht den Widerstand nach sondern die Spannung ab. Der Widerstand bildet zusammen mit einem internen Widerstand auf dem Sound Modul einen Spannungsteiler der eine bestimmte Spannung am Eingang des Analog/Digital Wandlers das Sound Chips erzeugt. Diese Spannung muss möglichst genau getroffen werden. Das PWM Signal muss über einen Filter geglättet werden damit eine halbwegs konstante Spannung entsteht. Das wird über R4 und C4 im folgenden Schaltplan bewerkstelligt.
Bild
Die Spannung muss zwischen der im Modul verwendeten Maximalspannung und 0V liegen. Dazu benötigt man eine stabilisierte Spannung die der des Moduls entspricht. Da die interne Spannung nicht über Pins herausgeführt ist muss man sich diese selber generieren. Das IC1 erzeugt die benötigten 3.3V. Jetzt muss nur noch der Widerstand R3 bestimmt werden. Dazu muss man Testreihen mit verschiedenen Widerstandswerten und PWM Verhältnissen machen und einen Wert finden bei dem alle „Tasten“ über einen möglichst breiten PWM Bereich angesprochen werden. Das ist das größte Problem es müssen 256 verschiedene PWM Signale generiert und beurteilt werden. Dazu kommt noch eine Abhängigkeit von der Impulsdauer. Außerdem ist das ganze evtl. von der Versorgungsspannung und der Temperatur und natürlich den Bauteiltoleranzen abhängig.

Testprogramm:
Zur Ermittlung der PWM Verhältnisse habe ich ein keines Tool verwendet mit dem man unterschiedliche Signale generieren kann. Das ist auch für andere Aufgaben nützlich darum beschreibe ich es hier mal etwas ausführlicher (Auch wenn vermutlich keiner bis zu dieser Stelle in dem Text kommen wird).
Mit dem Tool kann man die Helligkeiten und Farben der LEDs per Tastatur Kommandos vom PC aus einstellen. Das ist praktisch, wenn man die Lichtfarbe oder Helligkeit in einem Haus anpassen will.
Das Programm benutzt den „seriellen Monitor“ der Arduino IDE. Der wird über STRG+Umschalt+M aus der IDE heraus gestartet. Wichtig ist dabei, dass die Baudrate (Unten rechts) mit der im Programm verwendeten übereinstimmt. Bei dem Beispiel „24.DCC_and_Sound“ wird eine Baudrate von 115200 verwendet. Außerdem muss unten rechts „Zeilenumbruch (CR)“ eingestellt werden.
Zur Aktivierung des Test Modes gibt man in der „Senden“ Zeile das „seriellen Monitors“ das Paragraph „§“ Zeichen ein. Das ist hier notwendig, weil die serielle Schnittstelle auch zu Übertragung der DCC Befehle von dem DCC-Arduino benötigt wird (Siehe viewtopic.php?p=1926995#p1926995).
Nach der Eingabe des „§“ Zeichens sieht der „serielle Monitor“ so aus:
Bild
Jetzt kann man mit z.B. durch die Eingabe von „P29“ den ersten Sound abrufen:
Bild
Das Programm erzeigt einen PWM Impuls mit einem Tastverhältnis von 29 bei einer Dauer von 200ms. Jetzt kann man untersuchen ob das auch noch bei einem Tastverhältnis von 30 funktioniert. Dazu gibt man „P+“ ein. Wenn Ihr die gleichen Bedingungen habt wie ich, dann sollte das auch noch die Sound Datei 1 abrufen. Für den nächsten Test muss nur noch Enter gedrückt werden. Das Programm wiederholt dann den letzten Befehl. Das Funktioniert bei meiner Konfiguration von 26 bis 33. Auf diese Weise müssen alle „Tasten“ mit verschiedenen Widerständen getestet werden.
Daraus erstellt man eine Tabelle und benutzt den mittleren Wert im Programm:

Code: Alles auswählen

                                    //  ADKey1     400ms 470 Ohm
#define SOUND_JQ6500_ADKEY1 29      //  1
#define SOUND_JQ6500_ADKEY2 40      //  2
#define SOUND_JQ6500_ADKEY3 50      //  3
#define SOUND_JQ6500_ADKEY4 60      //  4
#define SOUND_JQ6500_ADKEY5 80      //  5
#define SOUND_JQ6500_ADKEY6 162     //  Prev/Vol-
#define SOUND_JQ6500_ADKEY7 231     //  Next/Vol+
Wie oben erwähnt ist das auch noch abhängig von der Impulsdauer. Diese kann im Programm mit „i“ verändert werden. Die Eingabe von „i200“ erzeugt eine Impulsdauer von 400ms.
Wie gesagt, eine langwierige Geschichte, aber dank dieser Dokumentation kann das ja in Zukunft einer von Euch übernehmen…

Der Test Modus kann aber auch zum ausprobieren der Helligkeit und Farbe der LEDs in einem Haus benutzt werden. Dazu gibt es noch weitere Kommandos.
Zum Verstellen der Farben eignet sich der HSV Farbraum (https://de.wikipedia.org/wiki/HSV-Farbraum). Damit kann man die Farbe, die Sättigung und Helligkeit einer Leuchtdiode getrennt verstellen. Im Programm macht man das mit „H“, „S“ und „V“. Die Eingabe von „H60“ erzeugt ein gelbes Licht. Mit „H+“ und mehrfachem ENTER wird daraus Grün und Blau…
Das Programm zeigt dabei beben den HSV Werten auch die RGB Werte an. Diese kann man notieren und in dem „Set_ColTab()“ Befehl benutzen. Das Beispiel „03.Switched_Houses“ zeigt wie das geht.
Man kann in der Eingabezeile auch mehrere Befehle hintereinander angeben: „v10v50“ z.B. erzeugt ein dunkles Rot.
Momentan gibt es diese Befehle:

Code: Alles auswählen

   L10    => LED Nr
   L+     => Next LED
   L-     => Previous LED

   ENTER  => Repeat last input (Useful with +, -, T or impulse)

   X      => Exit test mode

   h45    => Hue = 45
   v100   => Value = 100
   H20    => Hue = 20
   H+4    => Hue+=4
   H-     => Hue--
   H+     => Hue++

   R30    => Red LED value
   G+     => Increment Green value
   B-3    => Decrement green value by 3

   P50    => ImPulse with a value of 50 (Sound module tests)
   i100   => Impulse length [2ms]  i100 = 200 ms
   M2     => Impulse mask 1 = Red, 2 = Green, 4 = Blue, 7 = white

   A      => All LEDs on (255)
   C      => All LEDs off

   e3     => Enable  input 3
   d3     => Disable input 3
   t3     => Toggle  input 3
Dieses Testprogramm kann man in jedem Beispiel verwenden. Dazu muss man die Headderdatei "Serial_Inputs.h" nach der MobaLedLib_Create(leds); Zeile inkludieren:

Code: Alles auswählen

MobaLedLib_Create(leds); // Define the MobaLedLib instance

#include "Serial_Inputs.h" // Use the serial monitor to test LED colors and brightness values
Und in der „loop()“ Funktion dieser Zeile einfügen:

Code: Alles auswählen

Proc_Serial_Input(0);
Im „24.DCC_and_Sound” Beispiel wird die Zeile in der „Proc_Received_Char()“ Funktion verwendet weil hier gleichzeitig die DCC Kommandos empfangen werden müssen.

Und für die unter Euch, die Tapfer bis zum Ende gelesen haben hier ein Video (Wer nicht alles gelesen hat ist nicht berechtigt das Video zu betrachten!):

Es zeigt das Abrufen bestimmter Sounds über die Adressen 1-3. Danach wird mit Adresse 4 „Rot“ der vorangegangene Sound abgespielt und mit „Grün“ der nächste Sound. Die Adresse 5 „Rot“ schaltet zwischen den Sounds 1-3 um und „Grün“ ruft eine zufällige Sound Datei ab. Nicht gezeigt hab ich das verändern der Lautsterke welches über Adresse 6 gemacht wird.
Gegen Ende sieht man, das die eine Taster meiner MS2 nicht immer reagiert ;-(

So, jetzt seid Ihr erlöst…

Viel Spaß mit dem Lärm auf Eurer Anlage.

Hardi
Zuletzt geändert von Hardi am Di 19. Feb 2019, 18:16, insgesamt 1-mal geändert.


Ingolf
InterRegio (IR)
Beiträge: 249
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: New Sound

#142

Beitrag von Ingolf » Di 19. Feb 2019, 17:50

Hallo Hardi,

du hast wieder einmal viel Zeit investiert, um für uns etwas zum Laufen zu bringen, Danke dafür !

Ich habe eben mit einem neuen Modul probiert, es geht auch ohne vorher das Rescue-Tool zu verwenden.

Einfach mit dem englischsprachigen Flashtool die gewünschten mp3´s flaschen, läuft dann tadellos.
Das Tool ist recht simpel, Dateien hinzufügen oder löschen sowas gibt es nicht, es wird wie es scheint, der Baustein immer
mit den ausgewählten Dateien neu geflasht.

Am WE hatten wir wieder einmal eine Tauschbörse ausgerichtet. Ich habe meinen fliegenden Aufbau an Nanos, LED´s und meine Nano-Z21
mitgenommen. Hat für einige Ahhhs und Ohhhs gesorgt. Wenn ich jetzt schon das Soundmodul mitgebracht hätte.....

Ein Moba-Freund will seine Häusle-Beleuchtung von mir nach diesem System aufgebaut haben, glücklicherweise wohnt er im Nachbarort.

Auch meine Nano-Varianten von den Z21PG´s bin ich reißend losgeworden, so viel wollte ich gar nicht weggeben...
Muß ich wieder neu bauen.

Es wird so sachte zum Full-Time-Job...

Aber es macht Spaß !
Und bei der Unterstützung...

Grüße Ingo


Ingolf
InterRegio (IR)
Beiträge: 249
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: New Sound

#143

Beitrag von Ingolf » Mi 20. Feb 2019, 10:45

Hallo Hardi,

wenn ich dich richtig verstanden habe, ist das Testprogramm schon in jedem Sketch enthalten ?

Und muß nur noch über
#include "Serial_Inputs.h" // Use the serial monitor to test LED colors and brightness values
Proc_Serial_Input(0);
aktiviert werden ?

Habe ich das richtig verstanden ???

Genial !

Grüße Ingo


Ingolf
InterRegio (IR)
Beiträge: 249
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: New Sound

#144

Beitrag von Ingolf » Mi 20. Feb 2019, 11:04

Hallo Hardi,

ich schon wieder,
könntest du bitte ein Bild von deiner Platine mit dem Soundmodul ins Forum stellen ? Foto reicht.
Muß sich ja nicht jeder selbst was ausdenken...

Grüße Ingo

Benutzeravatar

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

#145

Beitrag von Hardi » Mi 20. Feb 2019, 17:24

Hallo Ingo,

Ingolf hat geschrieben:
Mi 20. Feb 2019, 10:45
wenn ich dich richtig verstanden habe, ist das Testprogramm schon in jedem Sketch enthalten ?

Und muß nur noch über
...
aktiviert werden ?

Habe ich das richtig verstanden ???
Fast, das Testprogramm ist nicht in jedem Sketch enthalten. Das würde entsetzlich viel Speicher belegen ohne daß es benötigt wird. Erst mit der #include Zeile wird der Programmteil hinzugefügt. Wobei es vermutlich erst dann Speicher belegt wenn man die „Proc_Serial_Input(0);“ Funktion benutzt. Der Compiler erkennt, wenn diese Zeile nicht benutzt wird, dass er auch das ganze Modul weglassen kann. Das muss ich gleich mal ausprobieren. Das währe dann noch einfacher für den Benutzer.

Zusätzlich muss aber noch die serielle Schnittstelle in der Setup() Funktion initialisiert werden. Bei dem Sound Beispiel ist das ja schon vorhanden.

Bilder von dem Soundmodul gibt es gleich...

Hardi


hawibi
Regionalbahn (RB)
Beiträge: 36
Registriert: Mi 12. Feb 2014, 23:22
Nenngröße: H0
Stromart: digital
Steuerung: Rocrail(BananaPi),EDITsBooster
Gleise: Märklin K-Gleis(M,C)
Wohnort: Lautertal (Odenwald)
Alter: 67
Deutschland

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

#146

Beitrag von hawibi » Mi 20. Feb 2019, 22:32

Hallo Hardi und Ingolf,

zunächst mal herzlichen Glückwunsch zu dem, was ihr bzgl. Licht und anderen Ereignissen auf der Modellbahn auf die Beine gestellt habt. :gfm: !
Mein Sohn und ich hatten zum Jahreswechsel geplant, die Beleuchtung einer Ortschaft mit Arduino, LEDs und Schieberegistern zu realisieren. Da stieß ich auf Hardis Lösung. Wir haben sofort umgeschwenkt, uns eingelesen und erste Tests versucht.
Dabei bin ich auf ein Problem gestoßen, von dem ich mich wundere, dass es kein anderer hat: Die Sketchnamen der MobaLedLib-Beispiele beginnen mit einer Ziffer. Das ist aber laut Arduino.cc nicht erlaubt und bringt bei mir auch Fehler. Erst nachdem ich alle Dateien und zugehörigen Ordner umgenannt habe,kann ich sie benutzen.
Bei den Steckern sind wir auch noch nicht entschieden. Ingolfs RJ10-Variante klingt verlockend. Allerdings habe ich Schwierigkeiten günstige Einbaubuchsen zu finden und wenn, dann nur für Rastermaß 1,27. Standardplatinen haben aber ein Rastermaß von 2,54. Läuft das darauf hinaus, dass man sich individuell Platinen fertigen lassen muss?

Viele Grüße
Hawibi

Antworten

Zurück zu „Software und Hardware“