Alternative Steuerungsmethoden für Trainz

  • Genau dafür ist die Routingtabelle in der PC-Software zutändig!


    Mal ein Beispiel wie ich es umsetzen werde "Lichtschalter":


    am Arduino:

    Schalter für Licht hängt an Klemme 46, Klemme 46 wird in Kanal 46 umgewandelt


    Senden vom Arduino/Einlesen von PC-Software:

    Kanal 1,2,3,...,46,47,....


    Routing in PC-Software:

    Kanal 46 ist ein Schalter -> kann ein/aus -> soll in Trainz der Lichtschalter sein -> Sende Taste "L" an Trainz und merke dir den Zustand


    Demzufolge die Daten (mal mit 8 Bit) beim 1. Durchgang (Variable a für Licht ist false):

    0 auf 255 -> false auf true -> neu"a" ungleich alt "a" -> sende Taste L und merke dir neu"a" als alt"a"

    2 Mal editiert, zuletzt von MathiasR ()

  • MathiasR ,


    einen sehr interessanten Thread hast du hier aufgemacht, und reisst offensichtlich offene Türen ein. :thumbs_up::thumbs_up:


    Ich selbst hatte bisher sehr halbherzig nach externen Lösungen gesucht.

    Nein Nicht gesucht; aber angedacht für später. Wollte es mir immer für den 3. Lebensabschnitt aufheben.


    Da die Arduino-Lösung ja selbst eine Mini-SPS ist, ergibt es Sinn, die Ausgänge via USB als TastenCode zum PC zu schicken.

    Quasi als zweites Keyboard.

    Allerdings sehe ich das Problem in der Rückmeldung von Trainz zu Arduino.


    Hast du da eine Idee?

    Was passiert , wenn ich in einer Session von einem Zug zum Anderen springe?

    Wie kann man z.B. Leuchtmelder wieder einlesen?

    N3V hat da wohl noch Nachholbedarf!


    Liebe Grüße

    Jürgen aka Joth

    Grüße

    Jürgen aka Joth

    (Ex-Neuköllner)


    "Die Dummheit von Regierungen sollte niemals unterschätzt werden." Helmut Schmidt

    "Immer wenn ich denke, dass meine Strecke fertig ist, gibt es ein Update" Icke

    ''Ich habe große Achtung vor der Menschenkenntnis meines Hundes, er ist schneller und gründlicher als ich.'' Fürst Bismarck

    "Denk ich an Deutschland in der Nacht, dann bin ich um den Schlaf gebracht.“ Heinrich Heine

  • Joth Genau da hast du den Finger auf den wunden Punkt gelegt: der Rückkanal von Trainz.


    Ich habe zwar schon eine Idee dazu aber das ist noch nicht so konkret wie der Hinweg. Mikas Hinweis mit dem Fenster aus Trainzscript ist es wert da mal weiter zu grübeln. Ich muss mich da aber erstmal noch ein bisschen einlesen. Er sagt zwar das man keine einzelnen Pixel setzen kann aber wenn ich das richtig gelesen kann man Bilder anzeigen lassen. Die können ja 1x1 Pixel groß sein. Solange die an der gleichen Stelle auf dem Bildschirm bleiben kann man die auslesen und somit Daten übertragen.

  • ujb1 einfach gesagt hat man als "Enduser" eingangseitig eine Klemm/Pinleiste ...

    Entweder ich bin nicht verstanden worden oder ich habe mich so scheps formuliert,

    dass man mich nicht verstehen konnte. Ich bin raus aus der Nummer. Macht mal so

    weiter, wenn es Euch Spaß macht.

    16066-signaturbild-ujb

    Früher war nicht alles besser.

    Es war nur unsere Zeit, unsere Kindheit und Jugend.

  • MathiasR

    Das könnte schwierig werden, zumal nicht jeder mit der selben Bildschirm-Größe fährt.

    Einige fahren mit 2 Monitore, andere mit Dreien. Und dann noch Fullscreen oder Resized....

    Wo sind die kleinen Pixelchen?

    Grüße

    Jürgen aka Joth

    (Ex-Neuköllner)


    "Die Dummheit von Regierungen sollte niemals unterschätzt werden." Helmut Schmidt

    "Immer wenn ich denke, dass meine Strecke fertig ist, gibt es ein Update" Icke

    ''Ich habe große Achtung vor der Menschenkenntnis meines Hundes, er ist schneller und gründlicher als ich.'' Fürst Bismarck

    "Denk ich an Deutschland in der Nacht, dann bin ich um den Schlaf gebracht.“ Heinrich Heine

    Einmal editiert, zuletzt von Joth ()

  • MathiasR

    Eine andere Lösung wäre ein Zwischenspeicher für jeden Zug mit den gesetzten Bits direkt im Ardolino

    Grüße

    Jürgen aka Joth

    (Ex-Neuköllner)


    "Die Dummheit von Regierungen sollte niemals unterschätzt werden." Helmut Schmidt

    "Immer wenn ich denke, dass meine Strecke fertig ist, gibt es ein Update" Icke

    ''Ich habe große Achtung vor der Menschenkenntnis meines Hundes, er ist schneller und gründlicher als ich.'' Fürst Bismarck

    "Denk ich an Deutschland in der Nacht, dann bin ich um den Schlaf gebracht.“ Heinrich Heine

  • Entweder ich bin nicht verstanden worden oder ich habe mich so scheps formuliert,

    dass man mich nicht verstehen konnte. Ich bin raus aus der Nummer. Macht mal so

    weiter, wenn es Euch Spaß macht.

    ...Die Klemmleiste, so habe ich das verstanden, und auch so würde ich es machen, stellt die Schnittstelle zwischen User und dem PC dar.

    Der Arduino mit aufgespieltem Programm und der USB-Strippe zum PC entspricht einer Blackbox mit nur eben dieser Klemmleiste zum Anschluss der Eingabegeräte (Taster, Schalter, Poti usw.) und der Ausgänge zu evtl. LEDs.

    Zu den Nummerierungen 1 bis ... gibt es eine Anleitung, an welchen Kontakt welches Bedienelement angeschlossen wird.

    Das macht dann der letztendliche Bastler, der das entsprechende Pult montiert.


    Für Dampflok-Fans könnte es schwierig werden:

    Wer hängt sich schon den Steuerhebel und das Seil der Pfeife an die Decke...


    Ansonsten sollte zur Gestaltung des jeweiligen Pultes alles möglich sein!


    Jörg

  • Joerg M

    Danke, gut erklärt

    Grüße

    Jürgen aka Joth

    (Ex-Neuköllner)


    "Die Dummheit von Regierungen sollte niemals unterschätzt werden." Helmut Schmidt

    "Immer wenn ich denke, dass meine Strecke fertig ist, gibt es ein Update" Icke

    ''Ich habe große Achtung vor der Menschenkenntnis meines Hundes, er ist schneller und gründlicher als ich.'' Fürst Bismarck

    "Denk ich an Deutschland in der Nacht, dann bin ich um den Schlaf gebracht.“ Heinrich Heine

  • Joth das Problem bleibt aber bestehen weil man ja nicht weis wann der Zug gewechselt wurde.


    Joerg M genau so kann man das zusammen fassen. Nur die Belegung der Pins ist erstmal frei und wird erst in der PC-Software zugeordnet. Somit ist man offener und belegt sich die Pins nicht von vornherein mit einer festen Funktion. Der eine hat 100 Tasten der andere 10 Potis, usw.


    @all kann man mit TrainzScript möglicherweise eine Textdatei zyklisch öffnen/beschreiben/schliessen?

    Einmal editiert, zuletzt von MathiasR ()

  • kann man mit TrainzScript möglicherweise eine Textdatei zyklisch öffnen/beschreiben/schliessen

    Nein. Deine Idee mit ner Datenpipe lässt sich so nicht lösen.

    Auch ist es schwierig in Trainz irgendwo einzuklinken durch Hooking.

  • Ich fände es ja schon toll, wenn Trainz Unterstützung für Gamecontroller/HIDs bieten

    soll für Goldmember welche ein monatliches Abo haben mit der nächsten Version exklusiv zur Verfügung stehen. Da könnte man sich dann sicher dranhängen. (100 Dollar und mehr im Jahr vorrausgesetzt)


    Gerade einen Wiki Eintrag dazu gefunden...

  • Aber danke für die Info, dann kann man ja zumindest mit dem nächsten Release damit rechnen.

    nach 2-3 Jahren sollten N3v sowas eigentlich auf die Reihe bekommen :-p


    goldigen Betatester ist genial! Sollte man Tony mal für einen Forenstatus vorschlagen... :grinning_squinting_face:

  • Sebastian Ja und Nein. Das was ich nun umsetze ist ja auch nur ein Umschiffen der Probleme und eigentlich Nonsens wenn es eine vernünftige Schnittstelle wie das von N3V angedachte TNI geben würde. Ich versuche aber von vorn herein so eine Option mit in die Software zu integrieren, da es hoffentlich ja nur eine Frage der Zeit ist bis das in den normalen Versionen Einzug findet...


    Und mir machts halt Spaß...

    • Offizieller Beitrag

    MathiasR

    Wünschenswert wäre natürlich, dass N3V diese Funktion via Service Pack nachreicht, im (für die normalen Benutzer) schlimmsten Falle kommt diese aber erst mit dem nächsten Release, wohl irgendwann 2020 (schätzungsweise).

    Und auch dann wird der Arduino ja weiterhin benötigt, um eben die Schnittstelle zwischen Eingabehardware (Taster, Potis, etc.) und PC zu bieten. :)


    Vielleicht gibt es ja die Möglichkeit, dass du auch ohne Trainz Plus Zugang als Betatester bekommst, sinnvoll wäre das allemal.