Seite 3 von 4

Re: Umbau EBuLa

Verfasst: 12.07.2020 23:16:49
von tgn428
Hey! es steht ja man braucht 24volt um das gerät anzusteuern mit den original komponenten. Wie Formieren sich den die 24 volt?
Geht einmal 24v in beide anschlüsse?
oder Sind pro "+" 24v anzulegen?

Grüße
TGN428

Re: Umbau EBuLa

Verfasst: 14.07.2020 09:41:15
von Formsignal
Der Anschluss ist so belegt wie in dem Bild. Du brauchst natürlich nur ein Netzteil.

Re: Umbau EBuLa

Verfasst: 14.07.2020 15:16:57
von tgn428
thx

Re: Umbau EBuLa

Verfasst: 18.08.2020 12:09:02
von Konstantin E.
Hallo zusammen,
erst einmal vielen Dank für Eure super Anleitungen!
Dadurch habe ich auch endlich mal die Inspiration bekommen, mein EBuLa-Gerät umzubauen.

Ich habe eine Frage zu dem Original eingebautem Display:
Das Display wird über einen 31poligen Stecker angesteuert.
Bild

Allerdings sind auf der anderen Seite noch weiße Stecker, die auf der Prozessor-Platine mit X5-X10 beschriftet sind.
http://kelpel.eisenbahn-seiten.de/EBuLa/Stecker.jpg
http://kelpel.eisenbahn-seiten.de/EBuLa/Platine.jpg

Meine Idee war es, den Original-Monitor mit einer VGA-Platine anzusteuern. Diese gibt es fertig (als Import aus China) bei Amazon:
https://www.amazon.de/gp/product/B07MFN ... GL5G&psc=1

Ich habe aber die Befürchtung, dass das ganze nicht so einfach funktioniert.
Ich gehe davon aus, dass die für die Hintergrundbeleuchtung sind, hab aber keine Ahnung, wie ich das ganze an die Spannungsplatine des Controllers anschließen muss.

Weiß jemand, wofür die Stecker genau sind und wie ich sie anschließen müsste?


Grüße

Re: Umbau EBuLa

Verfasst: 18.08.2020 13:00:58
von Thomas B
Nicht jedes LCD ist mit jedem Controller kompatibel. Überleg dir lieber, vielleicht ein komplett anderes Display einzubauen (also ein vollständiges, mit VGA), z.B. sowas hier:
https://www.ebay.de/itm/Wincor-Nixdorf- ... Swr~lYrvst" target="_blank

Grüße,
Thomas

Re: Umbau EBuLa

Verfasst: 18.08.2020 13:29:47
von Konstantin E.
Thomas B hat geschrieben:Nicht jedes LCD ist mit jedem Controller kompatibel. Überleg dir lieber, vielleicht ein komplett anderes Display einzubauen
Ja, ich hatte schon alles mögliche an Gedankengängen durch.
Danke für die Info mit der Komptabilität, sowas fehlte mir.

Danke auch für den Link, da habe ich gleich mal zugeschlagen :-)

Re: Umbau EBuLa

Verfasst: 18.08.2020 15:16:09
von Thomas B
Konstantin E. hat geschrieben: den Link, da habe ich gleich mal zugeschlagen :-)
Hast du die Display-Diagonale noch mal gemessen, also ob 10,4" richtig ist?

Re: Umbau EBuLa

Verfasst: 18.08.2020 19:43:24
von nonesense
Moin!
Der Monitor auf Ebay ist genau der, den ich in meinem Video empfehle.
Die Platine zur Ansteuerung des Displays sollte aber mit dem Display funktionieren!

Die Erzeugung der Hochspannung für die Hintergrundbeleuchtung sollte sich auch irgendwie in Gang setzen lassen. Man muss gucken, welche Leiterbahnen für die Stromversorgung gedacht sind. Oder man tauscht die Leuchtstoffröhren gegen LED-Streifen aus, wie diese hier:
https://www.monitor-bauteile.de/led-bac ... 17304.html

Mit dem Kassenmonitor gehts am Ende aber am einfachsten.

Gruß
Jens

Re: Umbau EBuLa

Verfasst: 18.08.2020 21:36:04
von Konstantin E.
Ich wollte keine Wissenschaft daraus machen, da ich nicht so viel Ahnung von PC- und Zubehör-Hardware habe. Gehen wird es sicherlich, aber ich bevorzuge die einfache Methode.
Den Monitor hatte ich bisher leider nicht gefunden, aber wenn es der empfohlene ist, kann ja nicht mehr so viel schief gehen.

Da ich auch die Software noch etwas modifiziert habe, bin ich sehr gespannt, wie das Ergebnis ist.

Sobald alle Teile eingetroffen sind und ich weiter basteln kann, werde weiter berichten.

Re: Umbau EBuLa

Verfasst: 19.08.2020 21:53:07
von Konstantin E.
Hallo zusammen,
ich habe leider ein kleines Problem mit meiner Modifizierung:

Code: Alles auswählen

void switchWindowToggle(){
  digitalWrite(ledKBD, HIGH);
  delay(50);
  digitalWrite(ledKBD, LOW);
  delay(100);
  toggleWindowBeforeKey = !toggleWindowBeforeKey;
  if(toggleWindowBeforeKey){
    digitalWrite(ledKBD, HIGH);
    digitalWrite(ledTEMP, HIGH);
    delay(50);
    digitalWrite(ledKBD, LOW);
      case 'l':       // Taste Pfeil links als Blick nach links benutzen
        pressAndRelease(KEY_LEFT_ARROW);
        break;
      case 'r':       // Taste Pfeil rechts als Blick nach rechts benutzen
        pressAndRelease(KEY_RIGHT_ARROW);
        break;
      case 'u':       // Taste Pfeil hoch als Blick nach vorne benutzen
        pressAndRelease(KEY_UP_ARROW);
        break;
      case 'd':       // Taste Pfeil runter als Blick nach hinten benutzen
        pressAndRelease(KEY_DOWN_ARROW);
        break;
      case '5':       // Taste 5 Führerstand ein- u. ausblenden benutzen
        pressAndRelease(KEY_F5);
        break;
      case '7':       // Taste 7 als Führerstandsansicht benutzen
        pressAndRelease(KEY_F9);
        break;
      case '9':       // Taste 9 als Aussenansicht Zugspitze benutzen
        pressAndRelease(KEY_F11);
        break;
      case '0':       // Taste 0 als Aussenansicht Zugschluss benutzen
        pressAndRelease(KEY_F12);
        break;
  }
  else{
    digitalWrite(ledTEMP, LOW);
  }
}
Hintergrund soll sein, dass ich im ToggleMode zum einen die TEMP-LED einschalte und die Pfeiltasten sowie gewisse Zahlentasten für F5, F9 und F11-F12 nutzen möchte.

Dass der case-Befehl eine feste Übersetzung macht, kann ich mir noch zusammenreimen.
Aber wie muss ich im ToggleMode damit umgehen? Mit einer If-Schleife?

Bin leider im Programmieren nicht so der Spezialist, ich hoffe, Ihr könnt mir helfen.

Re: Umbau EBuLa

Verfasst: 19.08.2020 22:02:55
von F. Schn.
Kannst du das Problem genauer beschreiben? Ist es ein Kompilierfehler wegen case-Befehl ohne vorheriger switch-Befehl?

Re: Umbau EBuLa

Verfasst: 19.08.2020 22:08:43
von Konstantin E.
F. Schn. hat geschrieben:Kannst du das Problem genauer beschreiben? Ist es ein Kompilierfehler wegen case-Befehl ohne vorheriger switch-Befehl?
Der Kompiler sagt mir:

Code: Alles auswählen

exit status 1

case label ''l'' not within a switch statement

Re: Umbau EBuLa

Verfasst: 19.08.2020 22:17:07
von F. Schn.
Im switch-Befehl sagst du dem Programm, bei welcher Variable er die Fälle unterscheiden soll:
https://de.wikipedia.org/wiki/Bedingte_ ... Erste_Form" target="_blank
Ohne switch macht ein case keinen Sinn.

=> Es fehlt das
switch (wasauchimmer)
{
zwischen dem digitalWrite(ledKBD, LOW); und dem case 'l':

Re: Umbau EBuLa

Verfasst: 20.07.2021 15:21:50
von Schäumchen
nonesense hat geschrieben: 03.12.2018 16:55:20 Hallo zusammen,

für mein Projekt hier, hatte ich auch eine EBuLa-Front umgebaut.

Den Frontrahmen des Kassenmonitors habe ich an entsprechenden Stellen angebohrt und auf der Front angeschraubt. Anschließend wird der Rest des Monitors aufgesetzt:
Bild
Die Tastatur ist in der Tat eine Matixtastatur, die sich mit einem Arduino mit wenig Aufwand in eine USB-Tastatur verwandeln lässt. Ich habe einen UNO verwendet. Damit ist es aber deutlich aufwändiger, als mit einem Leonardo. Von daher empfehle ich die Verwendung eines solchen. Der Code unten müsste entsprechend leicht geändert werden.
Bild

Um auch die Tasten des Monitors bedienen zu können, habe ich diese mit einem Flachbandkabel nach außen geführt und über Optokoppler auf digitale Ausgänge des Arduinos gelegt. Drückt man die Helligkeitstaste (Sonne), schaltet der Arduino um und die Tasten auf der rechten Seite gehen nicht mehr an den Rechner, sondern an den Monitor.
Bild
Bild

Neben dem Arduino habe ich eine USB-VGA-Grafikkarte befestigt. Diese hängt direkt am Simulatorrechner. Dadurch dass Zusi nur über Gamecontroller gesteuert wird, kann ich Tastatur Zusi-Display überlassen.
Bild

Code: Alles auswählen

#include <USBKeyboard.h>
#include <Keypad.h>
bool brightnessMode;
const byte ROWS = 5; // Five rows
const byte COLS = 5; // Five columns
// Define the Keymap
char keys[ROWS][COLS] = {
  {KEY_P,KEY_F4,KEY_SPACE,KEY_SPACE,KEY_SPACE},
  {KEY_SPACE,KEY_G,KEY_H,KEY_SPACE,KEY_C},
  {KEY_S,KEY_D,KEY_A,KEY_Y,KEY_E},
  {KEY_0,KEY_9,KEY_8,KEY_7,KEY_6},
  {KEY_5,KEY_4,KEY_3,KEY_2,KEY_1},
};


// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins.
byte rowPins[ROWS] = { 3, 5, 7, 9, 11 };
// Connect keypad COL0, COL1 and COL2 to these Arduino pins.
byte colPins[COLS] = { 4, 6, 8, 10, 12 }; 

// Create the Keypad
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
#define ledpin 13
void setup() 
{
  pinMode(ledpin,OUTPUT);
  pinMode(A0, OUTPUT);
  pinMode(A1, OUTPUT);
  pinMode(A2, OUTPUT);
  pinMode(A3, OUTPUT);
  pinMode(A4, OUTPUT);
  pinMode(A5, OUTPUT);
  digitalWrite(ledpin, LOW);
  digitalWrite(A0, LOW);          // Ist die Masse für die Optokoppler
  Keyboard.init();
  //Keyboard.print("hello world");
}

void loop()
{
  char key = kpd.getKey();
  if(key)  // Check for a valid key.
  {
    digitalWrite(ledpin, HIGH);
    switch (key)
    {
      case KEY_P:
        pushMonitorBtn(0);        // On Off
        break;
      case KEY_F4:
        if(!brightnessMode)Keyboard.sendKeyStroke(key,MOD_ALT_LEFT);
        break;
      case KEY_G:
        brightnessMode = !brightnessMode;  
        break;
      case KEY_H:
        if(brightnessMode)pushMonitorBtn(2);        // Menue
        if(!brightnessMode)Keyboard.sendKeyStroke(key);
        break;
      case KEY_A:
        if(brightnessMode)pushMonitorBtn(4);        // Up
        if(!brightnessMode)Keyboard.sendKeyStroke(key);
        break;
      case KEY_Y:
        if(brightnessMode)pushMonitorBtn(3);        // Down
        if(!brightnessMode)Keyboard.sendKeyStroke(key);
        break;
      case KEY_E:
        if(brightnessMode)pushMonitorBtn(1);        // Enter
        if(!brightnessMode)Keyboard.sendKeyStroke(key);
        break;
      default:
        Keyboard.sendKeyStroke(key);
    }
    delay(25);
    digitalWrite(ledpin, LOW);
  }
}

void pushMonitorBtn(byte btn){
  switch (btn){
    case 0:
      digitalWrite(A1, HIGH);
      delay(100);
      digitalWrite(A1, LOW);
      break;
    case 1:
      digitalWrite(A2, HIGH);
      delay(100);
      digitalWrite(A2, LOW);
      break;
    case 2:
      digitalWrite(A3, HIGH);
      delay(100);
      digitalWrite(A3, LOW);
      break;
    case 3:
      digitalWrite(A4, HIGH);
      delay(100);
      digitalWrite(A4, LOW);
      break;
    case 4:
      digitalWrite(A5, HIGH);
      delay(100);
      digitalWrite(A5, LOW);
      break;
  }
  delay(25);
}
Gruß
Jens

Hi welchen Leonardo sollte man den am besten benutzen weil ich habe auch bad eine Ebula und würde sie auch gerne umbauen wie du das in deinem Tutorial gemacht hast weiß aber nicht welcher Leonardo ?


LG

Re: Umbau EBuLa

Verfasst: 20.07.2021 17:45:05
von nonesense
Arduino Leonardo ist Arduino Leonardo. Es gibt keine Untertypen. Es gibt jedoch Clones, z.B. von SainSmart, die sich ebenfalls Leonardo nennen. Die kannst du aber auch verwenden.

In dem Bild oben habe ich keinen Leonardo, sondern einen Uno verwendet. Aber nimm bitte einen Leonardo, wie in meinem Video. Verwende diesen Code.

Re: Umbau EBuLa

Verfasst: 23.07.2021 22:41:53
von Schäumchen
Ah ok Dankeschön

Re: Umbau EBuLa

Verfasst: 23.07.2021 22:44:16
von Schäumchen

Re: Umbau EBuLa

Verfasst: 24.07.2021 11:09:51
von nonesense
Ja

Re: Umbau EBuLa

Verfasst: 25.10.2021 21:18:57
von nonesense
Den Code für meine EBuLa-Arduino habe ich etwas überarbeitet.

Die Bedienung von Zusi über die EBuLatasten ist jetzt etwas umfangreicher möglich, als im Video beschrieben.
Im Wesentlichen entsprechen die Nummerntasten unten jetzt den F-Tasten und die Pfeiltasten, Überraschung, den Pfeilstasten:
Eine Besonderheit stellt die Taste 0 dar. Konsequenterweise würde sie F10 auslösen. Diese Funktion ist jedoch wenig hilfreich. Vondaher habe ich sie auf F12 (Standort Zug-Außenansicht hinten) gelegt. Damit das funktioniert ist auch ein Mausklick mit Bewgung nötig, da die Ansicht sonst über dem Dach bleibt. Das erledigt der Arduino gleich mit. Das ist hilfreich für Seltenfahrer wie mich, die wissen möchten, ob die letzte Tür wirklich am Bahnsteig ist. Der Mauszeiger sollte sich vondaher über dem Simulatorfenster befinden.

Unter Verwendung von Optokopplern oder Relais kann der Arduino auch an die Bedientasten des verwendeten Monitors angeschlossen werden. Hiermit wird es möglich Einstellungen im OSD des Monitors vorzunehmen.
Dies ist insbesondere für die Helligkeitseinstellung praktisch.
Der Code ist Kassenmonitore von TVS vorgesehen. Monitore von Siemens/Wincor/Nixdorf sind in der Regel baugleich. Für andere Geräte müsste der Code entsprechend angepasst werden.
Nach drücken von St werden die Tasten auf der rechten Seite an den Monitor geleitet. Drücken der Helligkeitstaste navigiert zusätzlich direkt ins Helligkeitsmenü des Monitor OSD.
Alle Funktuionen in Bezug auf das Monitor OSD werden mit #ifdef nur bedingt kompiliert. Wer es nicht nutzen möchte hat diese Funktion dann nicht im Arduino. Die Helligkeitstaste würde dann an Zusi-Display geleitet.

https://github.com/nonesense84/Leonardo-EBuLa-Keyboard/blob/master/Leonardo-EBuLa-Keyboard.ino

BildBild

Gruß
Jens

Re: Umbau EBuLa

Verfasst: 31.12.2022 22:54:40
von Korbi
Hallo Zusammen,

Ich habe auch vor mir ein EBuLa Gerät für Zusi Display umzubauen. Jedoch hat mein Gerät keine Kupfer kabel für die Tastatur sondern hat schon ein Flachband kabel. Deswegen wollte ich mal fragen ob es trotzdem möglich ist die EBuLa Tastatur mit einem arduino wieder zu verwenden.

Gruß Korbi