Umbau EBuLa

Da immer mehr Zusi User von einem 1:1 Führerstand mit träumen, soll es zumindest an Datenaustausch nicht hapern.
Nachricht
Autor
Benutzeravatar
Formsignal
Beiträge: 133
Registriert: 13.11.2018 23:34:14

Umbau EBuLa

#1 Beitrag von Formsignal »

Da es immer wieder Gerüchte um den Umbau von originalen EBuLa-Bordgeräten im Zusammenhang mit ZusiDisplay gibt, möchte ich mit diesem Beitrag mal etwas Klarheit schaffen.

Vorweg: Ich übernehme keinerlei Haftung für Schäden bei Nachahmung, Bitte besondere Vorsicht, wenn mit Strom gearbeitet wird!

1. Das Bordgerät

Zunächst zu den Geräten selber, diese werden seit Ende der 90-Jahre hergestellt und sind flächendeckend auf den Triebfahrzeugen der DB verbaut. Wer genaueres über die Technik erfahren möchte, kann gerne den Wikipedia-Artikel dazu konsultieren.

https://de.wikipedia.org/wiki/EBuLa" target="_blank

Im Laufe der Entwicklungen gab es 3 große Hersteller von den Bordgeräte, die Firma DLOG, die vor allem für ihre Bedien-Terminals in Gabelstapler bekannt sind, Gercom Automation GmbH & Co. KG, die 2003 von Deuta übernommen worden sind und ab ca. 2004 Gersys, die bis heute der Lieferant für die aktuelle Gerätegeneration sind. Beide Gercom-EBuLas die ich in den Händen hatte waren auf Herstellung 1999 datiert.

Mein Umbauprojekt im späteren Verlauf des Artikels wird sich auf ein Gercom Gerät beziehen. Die sind neben den Gersys zum Basteln am geeignetsten.

2. Beschaffung eines Gerätes

Altgeräte werden des Öfteren auf eBay (Kleinanzeigen) angeboten. Dort lohnt sich neben dem Suchbegriff „EBuLa“, auch nach „Gercom“, „Gersys“ etc. zu suchen.

3. Anschluss der Geräte

Die originale Hardware in den Geräten ist leider absolut nicht zeitgemäß und kann für eine weitere Verwendung für ZusiDisplay nicht gebraucht werden. Wer allerdings Spaß dran hat zumindest mal zu testen, ob sein erworbenes Gerät noch funktionsfähig ist, kann dies mit folgendem Anschluss probieren.
Unten am Gehäuse sitzt eine angewinkelte Buchse, dabei handelt es sich um eine abgewandelte Form des „DIN Stecker“.

Bild

Wie auf dem Gerät angemerkt läuft es mit 24-110V DC. Dabei ist es dringend notwendig ein Netzteil (bestenfalls natürlich Labornetzteil mit sicheren Steckern) zu verwenden, was genug „Bums“ hat, ich habe bei 24V einen max. Ausschlag von ungefähr 2A gemessen, das pegelt sich dann bei ca. 1.6A ein. Die Geräte benötigen zwingend 2 + Anschlüsse, da sie ansonsten nicht hochfahren.

Bild

Auf der Rückseite des EBuLas gibt es eine Service-Buchse. Dabei handelt es sich um einen herkömmlichen RS-232 Stecker, wie man ihn von älteren Computern kennt. Daran kann z.B. eine Maus (muss zwingend eine RS-232 Maus sein) angeschlossen werden. (nicht getestet, Info übernommen)

Bild

Wenn man das Display ausklappt, mit den zwei ungewöhnlichen „Dreieck-Schrauben“ (handelt sich wohl um den Typ TP3, ich könnte es mit einem Torx und etwas Druck so öffnen) verbirgt sich dahinter, neben einem CD-Laufwerk (gibt auch Geräte ohne) ein PS2 Anschluss für eine Tastatur. Dafür muss allerdings ein Adapter gebaut werden, da CLK und DATA Leitung vertauscht worden sind. (nicht getestet, Info übernommen)

Bild

Für die Freaks unter euch, anbei auch mal ein Video von dem Startvorgang eines solchen EBuLas.

https://www.youtube.com/watch?v=iyfQXVs ... e=youtu.be" target="_blank

EBuLas mit aktuellem Softwarestand sind aber nicht wirklich nutzbar, da keine Fahrpläne offline auf den Geräten gespeichert werden, sondern aktuell per Funk GSM-R abgerufen werden.

4. Umbau des Gerätes für Zusi

Mein Ziel war es das Gerät, ohne optische Einbuße, für ZusiDisplay umzubauen. Das Tasten und Beleuchtung soll wie beim Original funktionsfähig bleiben.
Anbei die Liste der benötigten Utensilien:

- Boardgerät
- Display 10.4 Zoll
- Genügend Schaltlitze (bestenfalls 3 verschiedene Farben)
- Netzteil 5V mind. 0.6A
- Mehrere Wiederstände 150 Ohm
- Arcaze USB Interface oder Interface eurer Wahl
- Diverse Kleinteile und Werkzeuge
- Ggf. ein extra Computer für ZusiDisplay

4.1 Display

Es wird ein Display mit exakt 10.4 Zoll im 4:3 Format benötigt, was in der heutigen 4k-Zeit sich manchmal etwas schwierig gestalten kann. Ich selber verwende ein Display von Wincor Nixdorf, mit der Bezeichnung BA71-R1, das aus einem alten Kassensystem stammen muss und dort als sogenanntes „Kundendisplay“ im Einsatz war. Diese sind günstig gebraucht beim großen Auktionshaus zu bekommen, ich habe für meines ca. 30 Euro bezahlt (ohne Netzteil, allerdings herkömmliches 12V).

Beispielangebot:
https://www.ebay.de/itm/Wincor-Nixdorf- ... 2749.l2649" target="_blank

Eine Demontage des Displays bis auf seine Inneren ist nötig, da wir dieses direkt auf den Rahmen montieren wollen. Hier bitte drauf achten die filigranen Drähte nicht zu beschädigen.

4.2 (Zusatz) Zusi Display Computer

Auch hier greife ich wieder auf gebrauchte Hardware zurück. Meine Anforderungen war es eine möglichst kleinen, günstigen PC zu erwerben, der bestenfalls wenig Strom verbraucht. Zuerst war mein Augenmerk auf einen gebrauchten Business-PC (z.B. HP Elite Compaq Elite 6200, Dell Optiplex 780, Fujitsu Esprimo C700, etc), diese waren mir allerdings doch noch ein bisschen zu groß, obwohl der PC nicht ins Gehäuse des eBuLas passen soll.
Schlussendlich habe ich mich entschieden einen gebrauchten HP ThinClient T610 für ca. 39€ zu erwerben. Mit einer 16GB SSD, Dual-Core AMD CPU mit 1.65 GHz und 4GB RAM reicht es vollkommen aus und ist zudem noch lüfterlos. Dieser läuft original mit Windows 7 Embedded Standard, eine Art abgespeckte Version von Windows 7. Es ist allerdings auch möglich, an einem herkömmlichen SATA-Anschluss im Inneren, eine größere SSD einzubauen und eine normale Version von Windows 7 zu installieren.
Sollten hier noch konkret Fragen bestehen, biete ich gerne meine Hilfe an.

4.3 Demontage des EBuLas

Die Demontage der Hardware ist wie bereits von nötig, da wir diese nicht weiterverwenden können. Ich denke diesen Teil solltet ihr hinbekommen, kaputt machen geht immer ;)
Die seitliche Führungsschiene (rechts) könnt ihr im Gerät belassen, es bietet sich allerdings den gesamten Frontrahmen vom Gehäuse zu lösen. Am Ende benötigen wir nur die Schalterplatine, der Rest kann verschwinden. Bitte hier natürlich auch die fachgerechte Entsorgung des Akkus achten (das blaue Ding).
Am Ende sollte das Gerät nun so ausgeschlachtet vor euch liegen.

Bild
Bild

4.4 Umrüsten, Lötarbeiten und Anschluss

Nun machen wir uns an die Fleißarbeit. In einer Nacht und Nebelaktion habe ich die Schalterplatine einmal durchgemessen, um mir später etwas Lötarbeit zu sparen.
Schlussendlich habe an dem weißen Anschluss in der Ecke gemeinsame Grounds für alle LEDs und Schalter gefunden. Der Anschluss davon ist wie in folgendem Bild:

Bild

Hier nochmal größer als pdf:
https://www.dropbox.com/s/xoq2kcb5o3qei ... e.PDF?dl=0" target="_blank

Anschluss 1: Ground Schalter: „ V>0; S; i; AUS“
Anschluss 2: Ground Schalter: „UD; KONTRAST; *; V=0; C“
Anschluss 3: Ground Schalter: „PFEIL LINKS; PFEIL RECHTS; PFEIL UNTEN; PFEIL OBEN; E“
Anschluss 4: Ground Schalter: „0; 9; 8; 7; 6“
Anschluss 5: Ground Schalter: „5; 4; 3; 2; 1“

Anschluss 6: Ground LED: „AUS; i; St (rechts); V=0; KONTRAST; C; PFEIL RECHTS; PFEIL UNTEN; 0; 8; 6; 4; 2“
Anschluss 7: Ground LED: „S; St (links); V>0; *; DU, PFEIL LINKS; PFEIEL OBEN; E; 9; 7; 5; 3; 1“

Zu beachten dabei ist, dass die LEDs auf Anschluss 7 schon bereits mit 150 Ohm Wiederständen bestückt sind. Hingegen benötigen die LEDs auf Anschluss 6 noch Wiederstände!
Die max. Helligkeit erreichen die LEDs bei ca. 2V und 0.2A und somit bei einer Input-Spannung vor Wiederstand (150 Ohm) von 5V.

Für jeden einzelnen Schalter benötigt die LED eine Plus Leitung, die noch angelötet werden muss, hier z.B. in den nachfolgenden Bildern die braune oder rote Leitung. Immer an den beiden kleinen Pins die verbunden sind (bitte nachmessen!) anlöten.
Die geschaltete Leitung der Taster ist immer der große mittlere Pin in meinem Fall das grüne Kabel.
Bild

Bild


4.5 Display Befestigung

Es gibt leider keine universelle Lösungsformel wie ihr euer Display am Rahmen befestigen könnt, da es von der Bauform eures Displays anhängig ist. Ich habe mein Display mit 3mm starken Kunststoffprofilen befestigt, die an den Gewinden für die Befestigung der Platine geschraubt sind, dabei handelt sich um ein M2.5 Gewinde!

Bild

Fortsetzung folgt…
Zuletzt geändert von Formsignal am 03.12.2018 01:25:41, insgesamt 2-mal geändert.
Viele Grüße,
Franz aká Formsignal

Benutzeravatar
Oliver Lamm
Beiträge: 3102
Registriert: 04.01.2002 15:02:17
Aktuelle Projekte: Aachen - Neuss für Zusi3
Wohnort: Essen
Kontaktdaten:

Re: Umbau EBuLa

#2 Beitrag von Oliver Lamm »

Hi,
schicke Doku. Mein Umbau ist schon ein paar Jahre her, aber ich kann mich nicht an Lötarbeiten an den LEDs erinnern. Gerne kann ich heute Abend zuhause nachsehen, aber ich meine das alle Signale auf der Steckerleiste anliegen. Diese habe ich damals auf einen Arduino gepackt und per USB an den Rechner geklemmt als Tastaturersatz.

Mein Display habe ich direkt als "Bausatz" bestellt, z.B. das hier: https://ebay.us/M5JI6j" target="_blank
Dieses habe ich dann in den Deckel verklebt.

Oli
Oliver Lamm
mail(AT)oliverlamm(DOT)de

Benutzeravatar
Formsignal
Beiträge: 133
Registriert: 13.11.2018 23:34:14

Re: Umbau EBuLa

#3 Beitrag von Formsignal »

Oliver Lamm hat geschrieben:Hi,
schicke Doku. Mein Umbau ist schon ein paar Jahre her, aber ich kann mich nicht an Lötarbeiten an den LEDs erinnern. Gerne kann ich heute Abend zuhause nachsehen, aber ich meine das alle Signale auf der Steckerleiste anliegen. Diese habe ich damals auf einen Arduino gepackt und per USB an den Rechner geklemmt als Tastaturersatz.

Mein Display habe ich direkt als "Bausatz" bestellt, z.B. das hier: https://ebay.us/M5JI6j" target="_blank
Dieses habe ich dann in den Deckel verklebt.

Oli
Vielen Dank für das Kompliment. Bei der Tastatur handelt es sich ja um eine Matrix-Tastatur, die sich wohl mit einem Arduino ansteuern lässt, die Pins im Stecker dafür hab ich auch gefunden. Leider entzieht sich das ganze dann aber meiner Programmier-Kenntnisse. Plus Leitungen für die LEDs hab ich ums verrecken nicht gefunden, ich denke das hängt mit dem Lichtsensor zusammen, aber gerne bin ich da auf deinen Tipp gespannt. :)
Viele Grüße,
Franz aká Formsignal

Benutzeravatar
Michael_Poschmann
Beiträge: 19877
Registriert: 05.11.2001 15:11:18
Aktuelle Projekte: Modul Menden (Sauerland)
Wohnort: Str.Km "1,6" der Oberen Ruhrtalbahn (DB-Str. 2550)

Re: Umbau EBuLa

#4 Beitrag von Michael_Poschmann »

Hallo Franz,

sehr schick und zudem anschaulich erklärt.

@ Oli, bei mir hatten wir doch noch ein weiteres Alternativkonzept zum Einsatz gebracht, das von Deiner Lösung ein wenig abweicht. Allerdings bekomme ich die Details nicht mehr zusammen. Weißt Du da noch Bescheid? Ja, die leidige Aufgabe des Dokumentierens...

Grüße
Michael

Benutzeravatar
nonesense
Beiträge: 504
Registriert: 15.07.2006 12:50:10
Aktuelle Projekte: QDmi
Fahrpult Einheitsführerstand
Ludmilla
Wohnort: Köln
Kontaktdaten:

Re: Umbau EBuLa

#5 Beitrag von nonesense »

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
Zuletzt geändert von nonesense am 06.04.2020 19:32:58, insgesamt 2-mal geändert.

Benutzeravatar
Arne aus dem Norden
Beiträge: 721
Registriert: 25.12.2011 14:28:21
Aktuelle Projekte: Fahrpult VT628/VS928 - Versuch eines Nachbaus
Wohnort: Str.Km "6,8" der Kiel-Schönberger Eisenbahn (DB-Str. 9107)

Re: Umbau EBuLa

#6 Beitrag von Arne aus dem Norden »

Formsignal hat geschrieben: Bei der Tastatur handelt es sich ja um eine Matrix-Tastatur, die sich wohl mit einem Arduino ansteuern lässt, die Pins im Stecker dafür hab ich auch gefunden. Leider entzieht sich das ganze dann aber meiner Programmier-Kenntnisse.
Das Programm für den Arduino was ich bei meinem Umbau verwendet habe ist überschaubar.
Das meiste nimmt einem die Keypad-Library ab (die natürlich installiert sein muß)
http://playground.arduino.cc/Code/Keypad" target="_blank

Verwendet werden muß dafür dann natürlich eine Arduino Leonardo.

Code: Alles auswählen

#include <Keypad.h>

const byte ROWS = 5;
const byte COLS = 5;
char hexaKeys[ROWS][COLS] = {
  {'1','2','3','4','5'},
  {'6','7','8','9','0'},
  {'E','D','U','R','L'},
  {'C','X','K','H','='},
  {'>','T','I','S','A'}
};
byte rowPins[ROWS] = {6, 5, 4, 3, 2}; // PINs 1, 3, 5, 7, 9 vom eBuLa an Arduino Pin 2 bis 6
byte colPins[COLS] = {11, 7, 8, 9, 10}; // PINs 2, 4, 6, 8, 10 vom eBuLa an Arduino Pin 7 bis 11
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); 

void setup() { Serial.begin(9600); }
  
void loop(){
  char customKey = customKeypad.getKey();
  if (customKey)   { Serial.println(customKey); }
}
Zuletzt geändert von Arne aus dem Norden am 03.12.2018 17:23:38, insgesamt 1-mal geändert.
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/

Benutzeravatar
Formsignal
Beiträge: 133
Registriert: 13.11.2018 23:34:14

Re: Umbau EBuLa

#7 Beitrag von Formsignal »

Ich bedanke mich schon mal für alle eure Tipps. Damit ist dieser Thread schon mal ne gute "Wissenssammlung" zum Thema EBuLa. Ich habe mir auch mal einen Leonardo bestellt und probiere, ob ich die Matrix-Tastatur zum laufen bekomme!
Zuletzt geändert von Formsignal am 03.12.2018 20:52:20, insgesamt 1-mal geändert.
Viele Grüße,
Franz aká Formsignal

Benutzeravatar
Formsignal
Beiträge: 133
Registriert: 13.11.2018 23:34:14

Re: Umbau EBuLa

#8 Beitrag von Formsignal »

Arne aus dem Norden hat geschrieben:
Formsignal hat geschrieben: Bei der Tastatur handelt es sich ja um eine Matrix-Tastatur, die sich wohl mit einem Arduino ansteuern lässt, die Pins im Stecker dafür hab ich auch gefunden. Leider entzieht sich das ganze dann aber meiner Programmier-Kenntnisse.
Das Programm für den Arduino was ich bei meinem Umbau verwendet habe ist überschaubar.
Das meiste nimmt einem die Keypad-Library ab (die natürlich installiert sein muß)
http://playground.arduino.cc/Code/Keypad" target="_blank

Verwendet werden muß dafür dann natürlich eine Arduino Leonardo.

Code: Alles auswählen

#include <Keypad.h>

const byte ROWS = 5;
const byte COLS = 5;
char hexaKeys[ROWS][COLS] = {
  {'1','2','3','4','5'},
  {'6','7','8','9','0'},
  {'E','D','U','R','L'},
  {'C','X','K','H','='},
  {'>','T','I','S','A'}
};
byte rowPins[ROWS] = {6, 5, 4, 3, 2}; // PINs 1, 3, 5, 7, 9 vom eBuLa an Arduino Pin 2 bis 6
byte colPins[COLS] = {11, 7, 8, 9, 10}; // PINs 2, 4, 6, 8, 10 vom eBuLa an Arduino Pin 7 bis 11
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); 

void setup() { Serial.begin(9600); }
  
void loop(){
  char customKey = customKeypad.getKey();
  if (customKey)   { Serial.println(customKey); }
}
Also ich hab jetzt ein Arduino Leonardo mit dem obigen Quellcode gefüttert, vorher auch im IDE die Libary installiert und die Pins entsprechend gesteckt. Leider funktioniert es gar nicht. Auch wenn ich zum testen einen ROW und COL Pin mal "kurzschließe" ist kein Tastendruck zu vernehmen, sodass scheinbar ein Problem Arduino seitig vorliegt.
Viele Grüße,
Franz aká Formsignal

Benutzeravatar
nonesense
Beiträge: 504
Registriert: 15.07.2006 12:50:10
Aktuelle Projekte: QDmi
Fahrpult Einheitsführerstand
Ludmilla
Wohnort: Köln
Kontaktdaten:

Re: Umbau EBuLa

#9 Beitrag von nonesense »

Das ist aber eine schnelle Schlussfolgerung.
Hast du mal ein anderes Programm aufgespielt?

Benutzeravatar
Formsignal
Beiträge: 133
Registriert: 13.11.2018 23:34:14

Re: Umbau EBuLa

#10 Beitrag von Formsignal »

nonesense hat geschrieben:Das ist aber eine schnelle Schlussfolgerung.
Hast du mal ein anderes Programm aufgespielt?
Ja in der Tat, war etwas gefrustet.
Das Standard-Basic "Blink" Programm (wo die orange LED auf dem Board blinkt) funktioniert. Die digitalen Eingänge konnte ich selber noch nicht testen.
Viele Grüße,
Franz aká Formsignal

Benutzeravatar
Arne aus dem Norden
Beiträge: 721
Registriert: 25.12.2011 14:28:21
Aktuelle Projekte: Fahrpult VT628/VS928 - Versuch eines Nachbaus
Wohnort: Str.Km "6,8" der Kiel-Schönberger Eisenbahn (DB-Str. 9107)

Re: Umbau EBuLa

#11 Beitrag von Arne aus dem Norden »

Formsignal hat geschrieben: Also ich hab jetzt ein Arduino Leonardo mit dem obigen Quellcode gefüttert, vorher auch im IDE die Libary installiert und die Pins entsprechend gesteckt. Leider funktioniert es gar nicht. Auch wenn ich zum testen einen ROW und COL Pin mal "kurzschließe" ist kein Tastendruck zu vernehmen, sodass scheinbar ein Problem Arduino seitig vorliegt.
Ist auch nicht - wie ich gerade festgestellt habe - die Version gewesen, die ich seit 4 Jahren auf meinem Leo habe...
Die letzte war doch etwas umfangreicher:

Code: Alles auswählen

#include <Keypad.h>

const byte ROWS = 5; //four rows
const byte COLS = 5; //four columns
//define the cymbols on the buttons of the keypads
char hexaKeys[ROWS][COLS] = {
  {'1','2','3','4','5'},
  {'6','7','8','9','0'},
  {'E','D','U','R','L'},
  {'C','X','K','H','V'},
  {'W','T','I','S','A'}
};
byte rowPins[ROWS] = { 6, 5, 4, 3, 2 };   // PIN 9, 7, 5, 3, 1 vom eBuLa
byte colPins[COLS] = { 11, 7, 8, 9, 10 }; // PIN 10, 8, 6, 4, 2 vom eBuLa

// Initialize an instance of class NewKeypad
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); 

void setup()
{
Keyboard.begin();
}
  
void loop()
{
// Abfrage ob Security PIN aktiv damit der Leo nicht unkontrolliert Daten sendet
if (digitalRead(A0) == HIGH)
  {
  char customKey = customKeypad.getKey(); 

  // obere Reihe von links nach rechts
  if (customKey == 65) { Keyboard.press('A'); delay(100); Keyboard.releaseAll(); }
  // Taste "S" derzeit unbelegt
  // Taste "i" derzeit unbelegt 
  // Taste "St" derzeit unbelegt
  // Taste "V>0" derzeit unbelegt
  // Taste "V=0" derzeit unbelegt
  if (customKey == 72) { Keyboard.press('H'); delay(100); Keyboard.releaseAll(); }
  if (customKey == 75) { Keyboard.press('K'); delay(100); Keyboard.releaseAll(); }
  // Taste "UD" derzeit unbelegt

  // rechte Seite Navigation von oben nach unten
  if (customKey == 67) { Keyboard.press('C'); delay(100); Keyboard.releaseAll(); }
  if (customKey == 76) { Keyboard.press(KEY_LEFT_ARROW); delay(100); Keyboard.releaseAll(); }
  if (customKey == 82) { Keyboard.press(KEY_RIGHT_ARROW); delay(100); Keyboard.releaseAll(); }
  if (customKey == 85) { Keyboard.press(KEY_UP_ARROW); delay(100); Keyboard.releaseAll(); }
  if (customKey == 68) { Keyboard.press(KEY_DOWN_ARROW); delay(100); Keyboard.releaseAll(); }
  if (customKey == 69) { Keyboard.press('E'); delay(100); Keyboard.releaseAll(); }

  // untere Reihe Nummern 1 bis 0
  if (customKey == 48) { Keyboard.press('0'); delay(100); Keyboard.releaseAll(); }
  if (customKey == 57) { Keyboard.press('9'); delay(100); Keyboard.releaseAll(); }
  if (customKey == 56) { Keyboard.press('8'); delay(100); Keyboard.releaseAll(); }
  if (customKey == 55) { Keyboard.press('7'); delay(100); Keyboard.releaseAll(); }
  if (customKey == 54) { Keyboard.press('6'); delay(100); Keyboard.releaseAll(); }
  if (customKey == 53) { Keyboard.press('5'); delay(100); Keyboard.releaseAll(); }
  if (customKey == 52) { Keyboard.press('4'); delay(100); Keyboard.releaseAll(); }
  if (customKey == 51) { Keyboard.press('3'); delay(100); Keyboard.releaseAll(); }
  if (customKey == 50) { Keyboard.press('2'); delay(100); Keyboard.releaseAll(); }
  if (customKey == 49) { Keyboard.press('1'); delay(100); Keyboard.releaseAll(); }

  }
}
Hab ich eben nochmal auf einen Leo hochgeladen und angeschlossen - läuft.
Noch ein Bild zu meiner Steckerbelegung. Erste Reihe von vorne gelb, orange, rot, braun, weiss,
hintere grau, lila, blau, grün, schwarz.

Bild

gelb am Leo dann an Pin 2, orange an 3, rot an 4, braun an 5, weiss 6, grün7, blau 8, lila 9, grau 10 und schwarz 11.
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/

Benutzeravatar
Formsignal
Beiträge: 133
Registriert: 13.11.2018 23:34:14

Re: Umbau EBuLa

#12 Beitrag von Formsignal »

Also ich konnte mit dem Quellcode von Arne die Tastatur zum laufen bringen, vielen Dank nochmal für deine Mühe :)

Ich musste dem Code lediglich noch die Keyboard Liberay

Code: Alles auswählen

#include <Keyboard.h>
hinzufügen und die if-Schleife für deinen Security PIN auskommentieren (alleine darauf zu kommen hat eine Weile gebraucht).
Viele Grüße,
Franz aká Formsignal

Benutzeravatar
Arne aus dem Norden
Beiträge: 721
Registriert: 25.12.2011 14:28:21
Aktuelle Projekte: Fahrpult VT628/VS928 - Versuch eines Nachbaus
Wohnort: Str.Km "6,8" der Kiel-Schönberger Eisenbahn (DB-Str. 9107)

Re: Umbau EBuLa

#13 Beitrag von Arne aus dem Norden »

Formsignal hat geschrieben:Also ich konnte mit dem Quellcode von Arne die Tastatur zum laufen bringen, vielen Dank nochmal für deine Mühe :)
Ich musste dem Code lediglich noch die Keyboard Liberay hinzufügen und die if-Schleife für deinen Security PIN auskommentieren (alleine darauf zu kommen hat eine Weile gebraucht).
Seltsam, bei mir geht es mit dem Script genau so wie es ist. Aber ich habe auch inzwischen veraltete Arduino IDEs (und den Kram seit ca. 4 Jahren nicht mehr angeguckt).
Das mit dem Security-Pin hab ich deswegen auch vergessen zu erwähnen, aber ich hatte öfters schon Tastaturfeuer durch Programmschleifen und das ist nicht einfach den Leo dann neu zu programmieren...

Ich hab das alles heute auch nochmal an meiner Kiste neu aufgespielt zur Kontrolle https://www.youtube.com/watch?v=ufRmiDG0kH8, leider kriege ich nur irgendwie die Darstellung so richtig hin. 640x480 Auflösung läßt sich für meine Bildschirme nicht mehr auswählen (nur 800x600 als kleinstes) und wenn ich die Hardkeys ausblende und Vollbild zentrieren anhake klebt das weisse innere Feld trotzdem oben links in der Ecke und ich habe rechts und unten den Windows Bildschirmhintergrund. Letzteren kriege ich zwar noch weiss durch Eingabe von 800 x 600 bei Bildschirminhalt vergrößern, aber der Inhalt klebt immer noch zu klein oben in der Ecke...
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/

Benutzeravatar
nonesense
Beiträge: 504
Registriert: 15.07.2006 12:50:10
Aktuelle Projekte: QDmi
Fahrpult Einheitsführerstand
Ludmilla
Wohnort: Köln
Kontaktdaten:

Re: Umbau EBuLa

#14 Beitrag von nonesense »

Für 640*480, klickst du auf "Erweiterte Einstellungen", dann in der Registerkarte "Grafikkarte" auf "Alle Modi auflisten".

Aber warum brauchst du das denn? Dein Monitor scheint doch auch höhere Auflösungen zu können.

Gruß
Jens
Zuletzt geändert von nonesense am 07.12.2018 18:43:30, insgesamt 1-mal geändert.

Benutzeravatar
Arne aus dem Norden
Beiträge: 721
Registriert: 25.12.2011 14:28:21
Aktuelle Projekte: Fahrpult VT628/VS928 - Versuch eines Nachbaus
Wohnort: Str.Km "6,8" der Kiel-Schönberger Eisenbahn (DB-Str. 9107)

Re: Umbau EBuLa

#15 Beitrag von Arne aus dem Norden »

nonesense hat geschrieben:Aber warum brauchst du das denn? Dein Monitor scheint doch auch höhere Auflösungen zu können.
Hi,

der alte Kassenmonitor kann 800x600, aber wenn ich die Hardkeys ausblende bleibt das weisse Feld in der Mitte halt in genau der alten Größe und rückt nur nach oben links. Rechts und unten bleiben dicke Ränder. Früher auf dem alten System unter Win XP meine ich, ich hätte das durch umstellen auf 480 x 640 gelöst...
Es ging da auf jedenfall (siehe Bild von 2012), jetzt bin ich irgendwie zu blöd...

Bild
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/

Benutzeravatar
nonesense
Beiträge: 504
Registriert: 15.07.2006 12:50:10
Aktuelle Projekte: QDmi
Fahrpult Einheitsführerstand
Ludmilla
Wohnort: Köln
Kontaktdaten:

Re: Umbau EBuLa

#16 Beitrag von nonesense »

Hier mal die Einstellungen von mir.
Habe ebenfalls 800*600 und die EBuLa-Maske wird passend dargestellt.

Bild

Bild

Gruß
Jens

Benutzeravatar
Formsignal
Beiträge: 133
Registriert: 13.11.2018 23:34:14

Re: Umbau EBuLa

#17 Beitrag von Formsignal »

Ich bekomme es mit der aktuellen Version von ZusiDisplay, sowohl bei 800x600 als auch 1024x768 nicht hin, dass das EBuLa-Fenster den kompletten Monitor ausfüllt, ich hab unten immer einen schwarzen Rand.
Viele Grüße,
Franz aká Formsignal

Benutzeravatar
nonesense
Beiträge: 504
Registriert: 15.07.2006 12:50:10
Aktuelle Projekte: QDmi
Fahrpult Einheitsführerstand
Ludmilla
Wohnort: Köln
Kontaktdaten:

Re: Umbau EBuLa

#18 Beitrag von nonesense »

Meinst du den hier rot markierten Rand?
Das liegt an ZusiDisplay.
ZD scheint nicht exakt im 4:3 Format ausgeführt zu sein.
Bild

Benutzeravatar
Formsignal
Beiträge: 133
Registriert: 13.11.2018 23:34:14

Re: Umbau EBuLa

#19 Beitrag von Formsignal »

nonesense hat geschrieben:Meinst du den hier rot markierten Rand?
Das liegt an ZusiDisplay.
ZD scheint nicht exakt im 4:3 Format ausgeführt zu sein.
Ja genau das mein ich, dann weiß ich bescheid danke ;)
Viele Grüße,
Franz aká Formsignal

Benutzeravatar
Arne aus dem Norden
Beiträge: 721
Registriert: 25.12.2011 14:28:21
Aktuelle Projekte: Fahrpult VT628/VS928 - Versuch eines Nachbaus
Wohnort: Str.Km "6,8" der Kiel-Schönberger Eisenbahn (DB-Str. 9107)

Re: Umbau EBuLa

#20 Beitrag von Arne aus dem Norden »

nonesense hat geschrieben:Für 640*480, klickst du auf "Erweiterte Einstellungen", dann in der Registerkarte "Grafikkarte" auf "Alle Modi auflisten".
Aber warum brauchst du das denn? Dein Monitor scheint doch auch höhere Auflösungen zu können.
Hi,
ja, danke. "Erweiterte Einstellungen" & "Alle Modi auflisten" - da wars natürlich mit den 640x480. So ist das wenn man alt wird (und auch nur einmal im Jahr am Windows Rechner sitzt und sonst nur an OS X ;-) Es geht aber auch nicht ohne diese Umstellung bei mir. So sieht es mit 800x600 aus:

Bild

Bild
Mein Baubericht von der echten Bahn zum Schönberger Strand:
https://www.facebook.com/Hein-Sch%C3%B6 ... 601976323/

Antworten