Anschluß von Modellbahn-Artikel am Arduino

Die Frage drängt sich mir einfach auf: Das ginge dann doch auch mit der Beleuchtung, oder? Also DCC - Arduino - Schweißer. Der Arduino bekommt per DCC ein Einschaltsignal und startet dann die Animation für den Schweißer.

DCC Dekoder

Damit ist deine Moba doch schon vernetzt. Außer DCC brauchst Du nichts. Da kannst Du auch deine beleuchteten Häuser anschließen. Das Decodieren der DCC-Signale kann der Arduino gleich miterledigen. Ich würde dazu die NmraDcc library empfehlen. Die hat ( für AVR-Prozessoren ) sogar den Segen der NMRA. Aber natürlich kannst Du auch die Ausgänge eines käuflichen Zubehördecoders verwenden. Sind aber eigentlich überflüssige Kosten.


P.S. Ich finde es immer wieder unterhaltsam, wenn die Fragesteller hier mit ihrem Alter kokettieren, und sich dann herausstellt, dass sie jünger sind als die meisten Helfer hier :joy:

Du machst mir Angst ... da habe ich ja schon über 90% erreicht - und will aufgrund eines bevorstehenden Umzugs mit der Moba nochmal von vorn anfangen ... :innocent:

Wie gesagt, genau DAS soll eben nicht sein. Es soll ein Besucher einen Taster am Anlagenrand drücken und dann beginnt der Schweißer mit seiner Arbeit. Genauso soll sich das Riesenrad drehen für xx Sekunden, sobald ein Besucher den zugehörigen Taster drückt. Oder irgendwo dreht sich dann das Rad der Sägemühle.

Habe auch vor, beispielsweise einen kleinen Teich zu machen, aus dem permanent Froschquaken zu hören ist. Und wenn ein Besucher ausloten will, woher denn das Quaken käme (oder er gar die Frösche zu sehen bekommt), dann soll ein deutliches "platsch" zu hören sein und für eine Weile das Quaken verstummen. Dazu werde ich wohl einen Näherungssensor nutzen müssen. Oder umgekehrt könnte ich bei einem Häuschen ein Schild "Warnung vor dem Hund" anbringen und wenn man als Besucher dem Haus zu nahe kommt, hört man lautes Hundegebell.

In all solchen Fällen will ich eben gar keine Steuerung vom PC aus. Der PC soll die Bahninfrastruktur steuern wie Schranken und die Warnblinkanlagen an Bahnübergängen und Bahnsignale etc.

Da stimme ich Dir zu 100% zu - trotzdem: ich weiß, dass ich so ein Wissen in Rekordzeit aus mir rausschwitze, sodass ich mich hinterher wieder voll einarbeiten muss. Zudem habe ich es schon geschrieben: Viele Dokumentationen gibt es nur in englischer Sprache und damit komme ich gar nicht zurande. Dann noch das fehlende Wissen rund um die Elektronik. Ich wüsste auf die Schnelle gar nicht, wie ich die 15V Rechteck-Wechselspannung sinnvoll in den Arduino reinbekomme. Schon alleine diese Frage schreckt mich total ab, zumal ich nicht wirklich autoditaktisch etwas zu lernen vermag.

Und wie ich oben schrieb: Dann bin ich mir nicht sicher, wie oft ich das Wissen dann tatsächlich anwenden kann. Denn vieles von dem, was ich über die Arduinos lösen möchte, passiert autark durch Drücken eines Tasters.

Ich denke, ich werde schon stolz genug auf meine Arbeit sein, wenn ich sehe, dass das, was ich mache, genau so funktioniert, wie ich es mir heute vorstelle ... :blush:

Ich stehe auch auf Kriegsfuß mit Englisch deshalb läuft bei mir dauerhaft ein Task mit Deepl der übersetzt besser als Google kann sogar PDF übersetzen :slight_smile: und bis 5000 Wörter auf einmal übersetzen in der kostenloser Version, und dazu Google bleibt außen vor mit seiner Neugier.

Beim MiWuLa finde ich das Klasse, bei einer privaten Anlage frage ich mich, wie viele Besucher da wohl kommen, um das zu probieren.

Die gute Nachricht, Du kannst auf Deiner Anlage machen, was Dir Spaß bringt! Ich wollte nur Anregungen geben :slightly_smiling_face:

Siehe DCC Dekoder, da sind drei Möglichkeiten aufgeführt, wobei mir diese am besten gefällt:

grafik

EDIT: 6N136 geändert in 6N137

Der Typ stimmt nicht 6N136 ist normaler Transistor OK
Der mit Inverter ist 6N137, hat siech leider jemand vertan.

Das ist eines der wichtigsten Erfolgserlebnisse.
Elektronik kann man hier nachlesen, deepl wurde schon genannt und man kann auch Englischkurse an der VHS belegen (mache ich seit 3 Jahren).

Gruß Tommy

@agmue

Machen wir es mal konkret anhand Deines Links zum DCC Dekoder, auf den Du verlinkt hast und wo Du eines der Schaltpläne eingestellt hast. Dass dieser Plan auch noch einen Fehler beinhaltet, verstärkt mich zusätzlich, der Sache mit Misstrauen entgegen zu stehen.

Habe mir den Schaltplan angesehen und versucht, irgendwas davon zu verstehen. Ok, das Kästchen mit DCC beschriftet soll wohl die Modellbahnzentrale sein. R1 scheint ein Widerstand mit 1,5 kOhm zu sein. D6 (warum eigentlich D6 und nicht D1?) ist wohl eine Sperrdiode. Und OK1 dürfte wohl ein Optokoppler sein. Soweit klar. R2 ist wohl auch wieder ein Widerstand (hier mit 10 kOhm), der die Pins 6 und 8 des Optokopplers miteinander verbindet. Pin 6 vom Optokoppler geht auf D2 .... und da bin ich dann minutenlang gesessen, was damit gemeint sein könnte. Eine Diode? Aber wo ist dann das Symbol? Bis mir eingefallen ist: könnte damit der (digitale) Arduino-Pin 2 gemeint sein? Pin 8 wird noch mit den VCC (5V) und Pin 5 mit GND, jeweils am Arduino, verbunden. Ich bin hier zumindest eine halbe Stunde an der Zeichnung gesessen, bis ich sie - hoffentlich - richtig interpretiert hatte. Aber bitte frag mich nicht, was hier genau passiert. Ich habe keine Ahnung.

Als nächstes versuche ich, etwas über die zur Verfügung gestellte Software herauszufinden. Also suche ich mir auf gut Glück einen der Links auf der Seite aus und klicke drauf. Meine Wahl fällt auf "Arduino library für einen NMRA DCC Multifunktionsdekoder". Ergebnis: This project has no files. Na super!
Also doch auf den Link rechts daneben geklickt und der Download eines Zip-Files startet sofort. Dann hab ich dort mal reingeguckt und mir im Ordner "Samples" ein Beispiel angesehen - und das sieht mir irgendwie nach C oder C++ aus. Eine Sprache, der ich genauso mächtig bin wie Englisch.

Nicht böse sein - aber an dieser Stelle ist die Sache für mich gestorben. Ich habe hier echt das Gefühl, mit jedem Schritt, den ich tätige, versinke ich mehr und mehr im Morast. Und spätestens jetzt frage ich mich: wozu?

Ich habe noch soooo viel zu lernen, was meine Modellbahn betrifft. Beispielsweise muss ich mich in die Steuersoftware einarbeiten. Ich habe mir erst mühsam eine gewisse Fertigkeit angeeignet, mit Holz zu arbeiten, denn auch damit hatte ich in meinem Leben noch nie zu tun. Ich muss mir den Umgang mit Pinsel und Farbe aneigenen, mit hoher Wahrscheinlichkeit auch mit dem Luftpinsel. Ich möchte mich in den 3D-Druck einarbeiten, ich möchte auch mal die eine oder andere mechanische Aufgabe lösen (öffnen und schließen von Türen beispielsweise - da hab ich bislang auch noch keinen Plan, wie ich da vorgehen soll), ich muss mich in die Landschaftsgestaltung einarbeiten, ich möchte Fahrzeuge und Gebäude etc so aufbereiten, sodass sie nicht aussehen wie ein frisch lackiertes Schaukelpferd - ich brauche noch Fertigkeiten, was den Gleisbau betrifft und den Umgang mit dem Lötkolben und so weiter. Ich bin handwerklich leider nicht besonders geübt.

Zusätzlich kommt ja hinzu, dass ich ja nicht nur für mein Hobby Modellbahn lebe. Ich hab auch meine Aufgaben im Haushalt zu erledigen und ich habe auch noch andere Interessen, denen ich gerne nachgehe.

Deswegen schaut die Sache für mich so aus: Geld ist vorhanden, Zeit ist knapp. Warum soll ich meine knappe Zeit für etwas verschwenden, was ich mit ein paar Euro kaufen kann, wo ich mich letztendlich wohl fühle und mir denke, damit kann ich all das in kurzer Zeit lösen, was ich mir als Aufgabe gestellt habe?

Und genau deswegen wird das so bei mir nichts. Das ist mir schlicht zu aufwändig. Eine Möglichkeit wäre, wenn es jemanden gäbe, der mich quasi an die Hand nimmt und mich durch den oben erwähnten Morast führt. Aber so jemanden kenne ich leider nicht.

Was allenfalls noch gut funktioniert bei mir, ist sowas: Schieberegister 74HC595 am Arduino - Tutorial - YouTube
Der Typ präsentiert sein Wissen genau so, wie ich es brauche, um es zu verstehen. Er zeigt im Detail, was zu tun ist, er erklärt die Funktionsweise, erklärt seinen Sketch anhand der zuvor gezeigten Informationen und ich selbst kann das daheim genau so nachbauen. Und so lange es nichts Ähnliches gibt betreffend der DCC-Problematik, so lange wird sich die Tür mich wohl nicht öffnen.

mir ist klar dass das nur ein Beispiel ist aber um "viele" LEDs anzusteuern gibt es wesentlich bessere Varianten als Schieberegister. Dazu gäbe es LED Treiber

MAX7219 für (quasi) SPI, für 64 LEDs
HT16K33 für I2C für 128 LEDs
SX1509 für I2C für 16 LEDs inkl PWM, blink, Heartbeat, Tastaturmatrix...
Neopixel sollten ja auch schon bekannt sein, falls es farbig werden soll.

Ja, Du bist gut :slightly_smiling_face:

Ein PullUp-Widerstand, der D2 auf VCC hochzieht, notwendig wegen des offenen Kollektorausgangs.

Datenblatt:

The output of the optical detector features an open collector Schottky clamped transistor.

Ja! Hätte ich geahnt, wie lange es Dich beschäftigt, hätte ich Dir einen Hinweis gegeben. Vermutlich gibt es im weltweiten Netz auch bessere Schaltpläne, den habe ich auf die Schnelle gefunden.

Das DCC-Signal wird dem Arduino zur Weiterverarbeitung zur Verfügung gestellt. Wie das geht, weiß dann die Arduino-Bibliothek.

Mehr weiß ich auch nicht, aber ich kenne Leute, die ich fragen könnte, beispielsweise diejenigen, die die Platine in #26 gebaut haben.

Jetzt bin ich etwas erstaunt, denn alles im Arduino wird mit C++ programmiert. Wie willst Du das belebte Haus wuppen, ohne C++ zu lernen?
:thinking:

Einfach wie Baron von Münchhausen an den Haaren rausziehen!

Wenn Du irgendwas mit Arduino zustande bringen willst, brauchst Du zumindest einen Teil von C++.

Gegen den Schock:
Arduino programmieren in der Sprache C++

Ganz nett finde ich das C++ Tutorial in einer Dir bekannten Sprache, leider aber nicht speziell für Arduino.

Bist Du sicher? Hast Du danach gefragt?

Dann hast Du verloren, ich gebe auf :crazy_face:

Du wärest nicht der Erste, der hier an die Hand genommen wird und am offenem Herzen lernt.

Nicht, dass ich jemanden ärgern möchte - aber denkst Du ernsthaft, ich würde das verstehen, was Du da schreibst? Was ist der Unterschied zwischen einem Pullup-Widerstand und einem "normalen" Widerstand? Was bedeutet es, wenn ein solcher Widerstand auf VCC hochgezogen (?) wird? Was ist ein Kollektorausgang? Du könntest das auch auf chinesisch schreiben, da wüsste ich genauso viel.

Bislang war es immer so, dass mir eben irgendein für mich interessantes Video (wie das oben von mir verlinkte) sagt, wo ich welchen Bauteil einbauen muss und ich tue es. Aber Pullup-Widerstand ist mir neu.

Du, das war gar kein Problem. Den Sketch habe ich schon vor ca 2 Jahren fertig programmiert, war damals eine "Arbeit" von vielleicht 30 Minuten (inklusiver Tests). Logisches Denken ist kein Problem für mich und die wenigen Befehle, die es braucht, sind dank massenhafter Beispiele auch leicht erlernt.
Ich habe damals auch einen Sketch gebaut, wo ich über einen einzigen Arduino bis zu 6 Attraktionen steuern kann mittels Tastendruck von außen. Und für jede Attraktion kann ich eine individuelle Laufzeit einstellen. So kann beispielsweise das Riesenrad 3 Minuten laufen, wenn es eingeschaltet wird, aber der Schweißer in der Werkstätte macht schon nach 15 Sekunden Pause.

Natürlich bin ich mir NICHT sicher. Nur: ich hab auch nicht danach gefragt, als ich das mit dem Schieberegister entdeckt habe. Ich habe im Netz zufällig eine Information gefunden über den Arduino, wo erklärt wurde, was man damit machen kann. Also habe ich mich schlau gemacht, ob so ein Teil für mich interessant sein könnte. Und wie üblich habe ich einfach nach "tutorial arduino" gesucht und bin vor allem auf den Kanal von makerblog (siehe oben) gestoßen. Dessen Videos habe ich mir so nach und nach angesehen und mir dann ein Lernpaket bestellt, wo eine Menge an Zeugs drin ist zusammen mit einem Buch zum erlernen der Grundlagen. Und beides zusammen - das Buch und der Kanal von makerblog - haben mir schnell das für mich nutzbare Potential aufgezeigt. Natürlich mit dem Wissen, dass die kleinen Dinger weit mehr können als ich ihnen abverlangen werde.

Über Arduino + DCC habe ich gar nix in meiner Sprache gefunden, außer ein paar Videos, wo jemand lediglich unkommentiert (!) zeigt, dass sein Signal-Schaltdecoder und sein Weichen-Schaltdecoder funktionieren. Aber wie schon gesagt: Damit kann ICH mal gar nix anfangen.

"An der Hand nehmen" und "Links zu Webseiten posten" sind für mich 2 komplett unterschiedliche Paar Schuhe.

Ich habe mal ernsthaft versucht, herauszufinden, welche Kunststücke ich vollbringen muss, um einen Sketch auf einen ATtiny zu übertragen. Denn anders als bei einem Arduino scheint es dort ja keinen Bootloader zu geben. Also ich habe keine einzige Anleitung in der Qualität von makerblog gefunden, die in der Lage war, mir selbst diese Materie näher zu bringen. Wie gesagt: Irgendwelche Links zu Webseiten, die davon ausgehen, dass man mindestens 50% des dafür notwendigen Wissens schon mitbringt, sind für mich nutzlos. Und da habe ich dann einfach nicht (mehr) die Ausdauer, sowas endlos lange weiter zu verfolgen in der Hoffnung, dass ich da noch irgendwas sinnvolles für mich mitnehmen könnte.

Wenn man jemandem was erklären will, dann muß man ihn da abholen, wo er gerade steht. Wo Du stehst, weiß ich nicht genau, also versuche ich was. Ja, diese Hoffnung habe ich daher.

Ein Pullup-Widerstand ist eine normaler Widerstand mit einer speziellen Funktion.

D2 wird hochgezogen.

Das erklären andere besser: Open-Collector (OC)

Ich wollte Dich nicht unbedingt mit websites abholen.
Es gibt einige Projekte, die schön langsam gewachsen sind... Mein LieblingszeigenDingens Siehe #25
Oder hier - der war sowohl Hard- als auch Softwareseitig anspruchsvoll.

Aber gut - Deine Entscheidung.

Da kommts drauf an, was Du hast. Es gibt auch nen Type fertig zum anstecken.