RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#301 von stadtbahnzug , 23.08.2020 21:14

Moin Mitreisende,

Zitat
Ohne Platine:
https://de.aliexpress.com/item/32847458610.html



Ok, sind geordert. Vielleicht kannst Du mich ja mit ein / zwei Platinen aus der Testserie bedenken

LG Oliver


Viele Grüsse von der Ostsee

Berlin Stadtbahn - altersgerecht [Die Planung] - http://stummiforum.de/viewtopic.php?f=24&t=140111
Berlin Stadtbahn - altersgerecht [Der Aufbau] - folgt noch


 
stadtbahnzug
InterCity (IC)
Beiträge: 808
Registriert am: 02.04.2012
Homepage: Link
Ort: Stockelsdorf bei Lübeck
Spurweite H0
Stromart Digital


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#302 von Hardi , 23.08.2020 22:57

Hallo Oliver,

Alf ([user]aftpriv[/user]) wird die Platinen für das Stummiland bestellen und zum Selbstkostenpreis verteilen. Das macht er auch schon für die MobaLedLib Platinen (Siehe: viewtopic.php?f=7&t=165060&sd=a&start=499 ). Schreibe Ihm doch am besten eine PN oder eine Mail.

Hardi


Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr hier:
RE: Unsere Kinder und Vater Anlage(n)


 
Hardi
InterCityExpress (ICE)
Beiträge: 2.138
Registriert am: 28.12.2015
Homepage: Link
Ort: Mainz
Gleise C
Spurweite H0
Steuerung MS2 + Eigenbau
Stromart Digital


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#303 von aftpriv , 24.08.2020 09:35

Hallo MLLer und die es noch werden möchten,

die Platinen für die Bahnsteiganzeiger sind derzeit noch nicht freigegeben, daher jetzt auch noch keine verfügbar.

Wenn sie verfügbar sind, wird hier im MLL-Forum bekannt gegeben (wahrscheinlich Ende Sept/Anfang Okt), ab dann nehme ich gerne Bestellungen an.

Gruß Alf


Pickel-Bahner seit 1958 / K-Gleis + ZIMO-Decoder (MX633P22/MX645P22)
RocRail & RocNetNode jeweils auf RasPi
Email bezüglich MobaLedLib-Belange: LedLib@yahoo.com


aftpriv  
aftpriv
EuroCity (EC)
Beiträge: 1.279
Registriert am: 03.04.2012
Ort: MKK, Hessischer Spessart
Gleise K-Gleis und Selbsbau-Pickel-Gleis (DC-Gleis mit Mittelleiter ausrüsten)
Spurweite H0
Steuerung Rocrail + Rocnetnode auf Raspi
Stromart Digital


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#304 von stadtbahnzug , 24.08.2020 11:03

Moin Mitreisende,
Hallo Alf,

Danke für die Statusmeldung. Ich meinem Fall dauert es ja eh, bis die Displays aus Fernost da sind.

LG Oliver


Viele Grüsse von der Ostsee

Berlin Stadtbahn - altersgerecht [Die Planung] - http://stummiforum.de/viewtopic.php?f=24&t=140111
Berlin Stadtbahn - altersgerecht [Der Aufbau] - folgt noch


 
stadtbahnzug
InterCity (IC)
Beiträge: 808
Registriert am: 02.04.2012
Homepage: Link
Ort: Stockelsdorf bei Lübeck
Spurweite H0
Stromart Digital


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#305 von piefke53 , 24.08.2020 11:09

Moin!

Ich muss auch gleich noch eine "Statusmeldung" nachschieben. ops:

Dadurch, dass es die letzten Tage hier schweineheiß war, hat mein Kreislauf ziemlich geeiert. Die Platine für die Multiplexer-Schaltung ist also leider noch nicht "gar", danach müsste sie einer der wirklichen Eagle-Fachleute hier noch mal überprüfen und quasi freigeben. Vielleicht ließe sich ja anschließend über eine Bedarfsermittlung hier ebenfalls eine Bestellung durch Alf (oder eine/n andere/n User/in) anleiern.

Heute wird es ja nicht so heiß ... und ich sitze auch schon wieder dran.


Freundliche Grüße aus Niederösterreich
Fred



Jede Bewegung, die nicht der Fortpflanzung oder Nahrungsaufnahme dient, ist unnötig und hat daher zu unterbleiben.


 
piefke53
InterCity (IC)
Beiträge: 749
Registriert am: 03.01.2020
Ort: Tulln an der Donau
Spurweite H0


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#306 von jacco60 , 24.08.2020 13:21

Das ist natürlich nicht schön , aber Gesundheit geht nunmal vor .
Also werde ich mal im Rahmen meiner Möglichkeiten weiter experimentieren und dann mal sehen , was da raus kommt .
Hier mal ein interessantes Viedeo :
https://www.youtube.com/watch?time_conti...eature=emb_logo


Ecos 2 . nur Lopi´s , K-Gleise , Weichen mit Servoantrieben .
MFX freie Zone

Gruss
aus
Berlin
Ralf

Komisch , beim Strippen ziehen , reißen die immer ab


jacco60  
jacco60
InterRegio (IR)
Beiträge: 242
Registriert am: 08.07.2018
Ort: Kurz vor Ende der Erdscheibe
Spurweite H0
Steuerung Digital mit WDP
Stromart Digital


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#307 von piefke53 , 30.08.2020 14:15

Servus, Freunde der kleinen Anzeigen und großen Probleme

Bevor die Kritiker die Messer wetzen: Ich bin absoluter Eagle-Neuling, das ist mein erstes (und mindestens 5× verworfenes) Projekt! ops:

Fertig ist erst einmal der dickste Klumpen: Die Basisplatine.
Dazu können dann je nach Gusto oder bevorzugter Taster-Schaltung entweder die Tasten-Platine "R-Bus" für [user]Hardi[/user]s Tasten mit Widerstandscodierung oder eine abgewandelte Tasten-Platine "MUX" mit einem Multiplexer (7 auf 3) kommen.
Die werden noch von mir geklöppelt, und das dauert auf keinen Fall wieder ewig!


(Größere Version durch click auf die Abbildung)

Die Dateien im angehängten ZIP-Paket sind noch nicht freigegeben!

Ich möchte die hier vertretenen Fachleute (von meinem Level aus betrachtet also jede/r mit mehr als 6 Monaten Eagle-Praxis) bitten, sich mein Machwerk mal anzuschauen und ggf. zu kommentieren.


Freundliche Grüße aus Niederösterreich
Fred



Jede Bewegung, die nicht der Fortpflanzung oder Nahrungsaufnahme dient, ist unnötig und hat daher zu unterbleiben.

Dateianlage:
Sie haben nicht die nötigen Rechte, um die angehängten Dateien zu sehen

 
piefke53
InterCity (IC)
Beiträge: 749
Registriert am: 03.01.2020
Ort: Tulln an der Donau
Spurweite H0


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#308 von jacco60 , 30.08.2020 17:54

Hallo Fred ,
Ich habe Respekt vor Leuten die sowas entwickeln , aber Deine Entwicklung ist für mich böhmische Dörfer .
Solange es nirgendwo eine Erklärung gibt ist es also für mich nicht wirklich relevant , ich denke ich bin da nicht der einzige , aber es werden auch nicht alle zugeben .

Von daher habe ich natürlich für mich weiter experimentiert :
Da ich an den beiden Inselbahnsteigen aufgrund der Länge , min. 4 Doppeldisplay´s benötige , habe ich mal etwas mit den Arduiono´s vom Chinesen experimentiert . Es gibt den Mega 2560 , vom Chinesen , unter 15€ , Versand durch eine deutsche Firma , also innerhalb von 2-3 Tagen erhältlich . Dummerweise hat mir der Chinese , wo ich meine Display´s bestellt habe , es nicht fertig gebracht , die Display´s zu schicken , die ich haben wollte .
Beim ersten Mal habe ich 20 falsche Display´s bekommen , als Ersatz wurden mir dann nochmals 20 Display´s zum Preis von 10 geschickt , nur , waren diesmal gerade 14 für meine Zwecke nutzbar .
Somit habe ich also jetzt 26 Display´s zum experimentieren .
Die Rahmen die mir Sven , https://lichtschnitzer-shop.de/ , gefertigt hat , kann man ggf noch um etwa 2mm schmaler schleifen , jedoch werden in den nächsten Tagen , neue Rahmen mit geänderten Maßen gefertigt .
Auch wenn der Onlinshop von Sven geschlossen wird , kann man bei Sven bestellen .

Doch weiter zu dem Test , mit dem Arduino Mega Ersatz .
Zur Verwendung kam hier der Sketch vom Moppe ( Klaus ) , es wurden zwei Mega verwendet einer für Gleis 2 und einer für Gleis 3 , jeder Mega , kann 4 Display´s betreiben ohne Probleme , ich habe das 24 Std durchgehend getestet . Lediglich ein eine externe Stromversorgung habe ich zusätzlich angeschlossen , diese gibt es bei dem deutschen Händler ebenfalls für kleines Geld .

Soviel erstmal zu meiner Versuchsreihe .


Ecos 2 . nur Lopi´s , K-Gleise , Weichen mit Servoantrieben .
MFX freie Zone

Gruss
aus
Berlin
Ralf

Komisch , beim Strippen ziehen , reißen die immer ab


jacco60  
jacco60
InterRegio (IR)
Beiträge: 242
Registriert am: 08.07.2018
Ort: Kurz vor Ende der Erdscheibe
Spurweite H0
Steuerung Digital mit WDP
Stromart Digital


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#309 von piefke53 , 30.08.2020 19:08

Zitat

Hallo Fred ,
Ich habe Respekt vor Leuten die sowas entwickeln , aber Deine Entwicklung ist für mich böhmische Dörfer .
Solange es nirgendwo eine Erklärung gibt ist es also für mich nicht wirklich relevant , ich denke ich bin da nicht der einzige , aber es werden auch nicht alle zugeben .

[...]



Hallo Ralf,

die Erklärungen zum größten Teil meiner Schaltung sind bereits bei dem [user]Hardi[/user] veröffentlichten Schema zu finden.
https://stummiforum.de/viewtopic.php?p=1939102#p1939102

Was ist für Dich rätselhaft?



CAN-Bus Interface



DCC Interface



Spannungsversorgung und -anpassung

Der Multiplexer sollte verständlich sein, der macht aus 4 Signalen vom Arduino die Ansteuerung von maximal 15 Zielen

Die beiden zusätzlichen Eingänge sind auch einfach erklärt:

  • R-BUS: Hardi hat eine Schaltung vorgestellt, die mit Widerständen und nur 2 Leitungen eine Auswahl von Tastern ermöglicht
  • TASTER: Hier kommen die in der ursprünglichen Schaltung vorhandenen Taster über einen Multiplexer dran


Der Mega "kann" deutlich mehr als die paar Displays, aber die Kosten 1 × Mega vs. 1 × Nano + Multiplexer + "Kleinkram" liegen sehr weit auseinander.
Und für Deinen Zweck hättest Du auch keine 2 Megas benötigt.

Ist aber Deine Entscheidung.


Freundliche Grüße aus Niederösterreich
Fred



Jede Bewegung, die nicht der Fortpflanzung oder Nahrungsaufnahme dient, ist unnötig und hat daher zu unterbleiben.


 
piefke53
InterCity (IC)
Beiträge: 749
Registriert am: 03.01.2020
Ort: Tulln an der Donau
Spurweite H0


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#310 von piefke53 , 31.08.2020 10:37

Servus!

Einen ersten Dämpfer habe ich schon mal bekommen.

Hardi hat nach einem ersten Check zunächst einmal die vergessenen Pull-Up-Widerstände der SDA-Anschlüsse bemängelt.

  • Da muss ich erst mal zusehen, dass ich die auf dem "Brett" noch irgendwie dazwischengepfriemelt kriege ...


Alle anderen Mängel (wie andere Anschlussbuchsen etc.) sehe ich als behebbar an ...


Freundliche Grüße aus Niederösterreich
Fred



Jede Bewegung, die nicht der Fortpflanzung oder Nahrungsaufnahme dient, ist unnötig und hat daher zu unterbleiben.


 
piefke53
InterCity (IC)
Beiträge: 749
Registriert am: 03.01.2020
Ort: Tulln an der Donau
Spurweite H0


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#311 von volkerS , 31.08.2020 18:39

Hallo Fred,
welche eagle-Version hast du verwendet? Meine Vollversion 7.6 mag deine Dateien nicht.
Volker


volkerS  
volkerS
ICE-Sprinter
Beiträge: 5.981
Registriert am: 14.10.2014


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#312 von piefke53 , 31.08.2020 18:49

Zitat

Hallo Fred,
welche eagle-Version hast du verwendet? Meine Vollversion 7.6 mag deine Dateien nicht.
Volker



Hallo Volker,

ich verwende die (kostenlose) Version 8.71 ...

Auch wenn die Mängel noch zu beheben sind, habe ich die aktuelle Fassung für V7 abgespeichert.
Hardi hat auch speziell die + und - Leiter als etwas mager bezeichnet, ich habe aber (noch) keinen Plan, wie ich das ändern könnte.


Freundliche Grüße aus Niederösterreich
Fred



Jede Bewegung, die nicht der Fortpflanzung oder Nahrungsaufnahme dient, ist unnötig und hat daher zu unterbleiben.

Dateianlage:
Sie haben nicht die nötigen Rechte, um die angehängten Dateien zu sehen

 
piefke53
InterCity (IC)
Beiträge: 749
Registriert am: 03.01.2020
Ort: Tulln an der Donau
Spurweite H0


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#313 von andreakarina , 01.09.2020 11:53

Zitat von moppe im Beitrag Zugzielanzeiger für den Bahnsteig mit Arduino

Ich hab mehrere fragen um wie meiner Programm ist.

Es hab ohne zweifel, mehrere Fehler, zu mindestens in die Kommentaren......
Als ich Problemen hab mit Umlaut, in der Display zu anzeigen, schreiben ich ohne Umlaut.

Ich hab 2 Neuerungen seit meiner bilder.
Die erste ist das ich der Kontrast setzen kann (Helligkeit) und die ganze anzeige 180 grad drehen, sodass die "dicke" teil der Display, wer kein Bild hab, ist nach oben (unter der Dach der Bahnsteig).

Klaus


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
 
#include <U8glib.h>
 
U8GLIB_SSD1306_128X32_2X u8g(U8G_I2C_OPT_NONE);
 
int count = 0;
unsigned long previousMillis = 0; // Speichern letzte zeit der anziege hat sich geändert
const long interval = 31500; // interval zwischen änderungen (milliseconds)
int varianten = 7; // anzahl varianten
 

char gleis[5];
 
char uhrzeit[][6]{ // [6] ist anzahl ziffern
"09:34",
"10:04",
"12:53",
"15:21",
"17:02",
"18:30",
"21:45"
};
char zugnummer[][8]{// [8] ist anzahl charakteren
"RB 1521",
"RB 3237",
"EC 172",
"ICE 592",
"IC 602",
"RE 7",
"ICE 651",
};
char ziel[][17]{// [17] ist anzahl charakteren
"Aschaffenburg",
"Plattling",
"Hamburg - Altona",
"Berlin Ostbf",
"Puttgarden",
"Kiel / Flensburg",
"Leipzig Hbf",
};
char zuglauf1[][21]{ //[21] ist anzahl charakteren
"Grossauheim - Kahl,",
"Freising - Moosburg",
"Berlin Hbf - ",
"Fulda - Kassel -",
"Wuppertal - Dortmund",
"Elmshorn - ",
"Fulda - Eisenach"
};
char zuglauf2[][21]{ //[21] ist anzahl charakteren
"- Grosskrotzenburg",
"- Landshut",
"Hamburg Hbf",
"Braunschweig Hbf",
"Bremen - Hamburg",
"Neumunster",
""
};
char wagenstand[][9]{//[9] ist anzahl charakteren
"",
"",
"-222211",
"11111",
" 22111",
" 2121",
"111211"
};
char lauftext[][85]{ //[85] ist anzahl charakteren, mindstens 20 leerzeichnen um die lauftext zu haben
"",
"",
" Verspatung ca 10 Min",
"",
"",
" Zugteilung in Neumunster - Vorne zugteil fahrt bis Flensburg ",
""
};
 

 

const unsigned int lauftextlength = 21;
int offset = 0;
int subset = 0;
char ausgabe[lauftextlength];
 
char incomingByte = 0;
unsigned int incomingBytePosition = 0;
 
enum ReceiveState
{
ReceiveState_Idle,
ReceiveState_Hash,
ReceiveState_Lauftext,
ReceiveState_Gleis,
ReceiveState_Wagenstand,
ReceiveState_Zuglauf1,
ReceiveState_Zuglauf2,
ReceiveState_Ziel,
ReceiveState_Uhrzeit,
ReceiveState_Zugnummer
};
 
ReceiveState currentState = ReceiveState_Idle;
 
enum GleisSeite
{
GleisSeite_Links,
GleisSeite_Rechts
};
 
GleisSeite gleisSeite = GleisSeite_Rechts; // definiert der layout der zugzielanzieger
 

 

 
void draw()
{
u8g.setColorIndex(1);
static int zugdatenSaplte = 0;
if(gleisSeite == GleisSeite_Links)
{
zugdatenSaplte = 100;
}
else if(gleisSeite == GleisSeite_Rechts)
{
zugdatenSaplte = 0;
}
 
u8g.setFont(u8g_font_5x8); // 5x8
u8g.drawStr(zugdatenSaplte, u8g.getFontAscent(), uhrzeit[count]);
 
u8g.setFont(u8g_font_4x6); // 4x6
u8g.drawStr(zugdatenSaplte, 7 + u8g.getFontAscent(), zugnummer[count]);
 
if(strlen(wagenstand[count]) > 0)
{
u8g.setColorIndex(1);
u8g.setFont(u8g_font_4x6); // 4x6
u8g.drawStr(zugdatenSaplte, 15 + u8g.getFontAscent(), "ABCDEFG");
u8g.drawBox(zugdatenSaplte, 21 + u8g.getFontAscent() - 5, strlen(wagenstand[count]) * 4, 6);
u8g.setColorIndex(0);
u8g.drawStr(zugdatenSaplte, 21 + u8g.getFontAscent(), wagenstand[count]);
u8g.setColorIndex(1);
}
 
static int zuglaufSpalte = 30;
if(gleisSeite == GleisSeite_Links)
{
zuglaufSpalte = 20;
}
else if(gleisSeite == GleisSeite_Rechts)
{
zuglaufSpalte = 30;
}
 
//Verspätungsbox
if(lauftext[count][20] != '')
{
u8g.setColorIndex(1);
u8g.drawBox(zuglaufSpalte, 0, 78, 6);
u8g.setColorIndex(0);
u8g.setFont(u8g_font_4x6); // 4x6
int remaining = strlen(lauftext[count]) - offset;
if(remaining > (lauftextlength - 1))
{
remaining = lauftextlength - 1;
}
memcpy(ausgabe, &lauftext[count][offset], remaining);
ausgabe[remaining] = '';
u8g.drawStr(zuglaufSpalte-subset, 6, ausgabe);
u8g.setColorIndex(1);
}
 
u8g.drawStr(zuglaufSpalte, 12, zuglauf1[count]);

u8g.drawStr(zuglaufSpalte, 19, zuglauf2[count]);

u8g.setFont(u8g_font_tpss);
u8g.drawStr(zuglaufSpalte, 34 + u8g.getFontDescent(), ziel[count]);
 
u8g.setFont(u8g_font_6x13B);
if(gleisSeite == GleisSeite_Links)
{
u8g.drawStr(0, 13, gleis);
}
else if(gleisSeite == GleisSeite_Rechts)
{
u8g.drawStr(128 - (6 * strlen(gleis)), 13, gleis);

}

}
 

 

 
void initializeStrings()
{
String("9").toCharArray(gleis, 5); // Gleisnummer eingeben
}
 

 

 
void setup()
{
initializeStrings();

u8g.begin();
u8g.setContrast(150); // Kontrast eingeben
u8g.setRot180(); // anzeige 180 Grad rotieren.
}
 

 
void loop() {
 
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis; // Speichern letzte zeit der anziege hat sich geändert
count = (count+1);
}
if (count>(varianten-1)){
count = 0;
}
// delay(1500);

else{
u8g.firstPage();
do {

draw();

} while( u8g.nextPage() );

subset += 1;
if(subset > 3)
{
offset += 1;
subset = 0;
}

if(offset > strlen(lauftext[count]))
{
offset = 0;
}
}

 
}
 





Hallo.
Könnte ich den Sketch von deiner Anzeige bekommen.
Mfg


andreakarina  
andreakarina
RegionalExpress (RE)
Beiträge: 63
Registriert am: 29.03.2015
Spurweite H0


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#314 von jacco60 , 01.09.2020 12:47

Zitat

Zitat von moppe im Beitrag Zugzielanzeiger für den Bahnsteig mit Arduino

Ich hab mehrere fragen um wie meiner Programm ist.

Es hab ohne zweifel, mehrere Fehler, zu mindestens in die Kommentaren......
Als ich Problemen hab mit Umlaut, in der Display zu anzeigen, schreiben ich ohne Umlaut.

Ich hab 2 Neuerungen seit meiner bilder.
Die erste ist das ich der Kontrast setzen kann (Helligkeit) und die ganze anzeige 180 grad drehen, sodass die "dicke" teil der Display, wer kein Bild hab, ist nach oben (unter der Dach der Bahnsteig).

Klaus


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
 
#include <U8glib.h>
 
U8GLIB_SSD1306_128X32_2X u8g(U8G_I2C_OPT_NONE);
 
int count = 0;
unsigned long previousMillis = 0; // Speichern letzte zeit der anziege hat sich geändert
const long interval = 31500; // interval zwischen änderungen (milliseconds)
int varianten = 7; // anzahl varianten
 

char gleis[5];
 
char uhrzeit[][6]{ // [6] ist anzahl ziffern
"09:34",
"10:04",
"12:53",
"15:21",
"17:02",
"18:30",
"21:45"
};
char zugnummer[][8]{// [8] ist anzahl charakteren
"RB 1521",
"RB 3237",
"EC 172",
"ICE 592",
"IC 602",
"RE 7",
"ICE 651",
};
char ziel[][17]{// [17] ist anzahl charakteren
"Aschaffenburg",
"Plattling",
"Hamburg - Altona",
"Berlin Ostbf",
"Puttgarden",
"Kiel / Flensburg",
"Leipzig Hbf",
};
char zuglauf1[][21]{ //[21] ist anzahl charakteren
"Grossauheim - Kahl,",
"Freising - Moosburg",
"Berlin Hbf - ",
"Fulda - Kassel -",
"Wuppertal - Dortmund",
"Elmshorn - ",
"Fulda - Eisenach"
};
char zuglauf2[][21]{ //[21] ist anzahl charakteren
"- Grosskrotzenburg",
"- Landshut",
"Hamburg Hbf",
"Braunschweig Hbf",
"Bremen - Hamburg",
"Neumunster",
""
};
char wagenstand[][9]{//[9] ist anzahl charakteren
"",
"",
"-222211",
"11111",
" 22111",
" 2121",
"111211"
};
char lauftext[][85]{ //[85] ist anzahl charakteren, mindstens 20 leerzeichnen um die lauftext zu haben
"",
"",
" Verspatung ca 10 Min",
"",
"",
" Zugteilung in Neumunster - Vorne zugteil fahrt bis Flensburg ",
""
};
 

 

const unsigned int lauftextlength = 21;
int offset = 0;
int subset = 0;
char ausgabe[lauftextlength];
 
char incomingByte = 0;
unsigned int incomingBytePosition = 0;
 
enum ReceiveState
{
ReceiveState_Idle,
ReceiveState_Hash,
ReceiveState_Lauftext,
ReceiveState_Gleis,
ReceiveState_Wagenstand,
ReceiveState_Zuglauf1,
ReceiveState_Zuglauf2,
ReceiveState_Ziel,
ReceiveState_Uhrzeit,
ReceiveState_Zugnummer
};
 
ReceiveState currentState = ReceiveState_Idle;
 
enum GleisSeite
{
GleisSeite_Links,
GleisSeite_Rechts
};
 
GleisSeite gleisSeite = GleisSeite_Rechts; // definiert der layout der zugzielanzieger
 

 

 
void draw()
{
u8g.setColorIndex(1);
static int zugdatenSaplte = 0;
if(gleisSeite == GleisSeite_Links)
{
zugdatenSaplte = 100;
}
else if(gleisSeite == GleisSeite_Rechts)
{
zugdatenSaplte = 0;
}
 
u8g.setFont(u8g_font_5x8); // 5x8
u8g.drawStr(zugdatenSaplte, u8g.getFontAscent(), uhrzeit[count]);
 
u8g.setFont(u8g_font_4x6); // 4x6
u8g.drawStr(zugdatenSaplte, 7 + u8g.getFontAscent(), zugnummer[count]);
 
if(strlen(wagenstand[count]) > 0)
{
u8g.setColorIndex(1);
u8g.setFont(u8g_font_4x6); // 4x6
u8g.drawStr(zugdatenSaplte, 15 + u8g.getFontAscent(), "ABCDEFG");
u8g.drawBox(zugdatenSaplte, 21 + u8g.getFontAscent() - 5, strlen(wagenstand[count]) * 4, 6);
u8g.setColorIndex(0);
u8g.drawStr(zugdatenSaplte, 21 + u8g.getFontAscent(), wagenstand[count]);
u8g.setColorIndex(1);
}
 
static int zuglaufSpalte = 30;
if(gleisSeite == GleisSeite_Links)
{
zuglaufSpalte = 20;
}
else if(gleisSeite == GleisSeite_Rechts)
{
zuglaufSpalte = 30;
}
 
//Verspätungsbox
if(lauftext[count][20] != '')
{
u8g.setColorIndex(1);
u8g.drawBox(zuglaufSpalte, 0, 78, 6);
u8g.setColorIndex(0);
u8g.setFont(u8g_font_4x6); // 4x6
int remaining = strlen(lauftext[count]) - offset;
if(remaining > (lauftextlength - 1))
{
remaining = lauftextlength - 1;
}
memcpy(ausgabe, &lauftext[count][offset], remaining);
ausgabe[remaining] = '';
u8g.drawStr(zuglaufSpalte-subset, 6, ausgabe);
u8g.setColorIndex(1);
}
 
u8g.drawStr(zuglaufSpalte, 12, zuglauf1[count]);

u8g.drawStr(zuglaufSpalte, 19, zuglauf2[count]);

u8g.setFont(u8g_font_tpss);
u8g.drawStr(zuglaufSpalte, 34 + u8g.getFontDescent(), ziel[count]);
 
u8g.setFont(u8g_font_6x13B);
if(gleisSeite == GleisSeite_Links)
{
u8g.drawStr(0, 13, gleis);
}
else if(gleisSeite == GleisSeite_Rechts)
{
u8g.drawStr(128 - (6 * strlen(gleis)), 13, gleis);

}

}
 

 

 
void initializeStrings()
{
String("9").toCharArray(gleis, 5); // Gleisnummer eingeben
}
 

 

 
void setup()
{
initializeStrings();

u8g.begin();
u8g.setContrast(150); // Kontrast eingeben
u8g.setRot180(); // anzeige 180 Grad rotieren.
}
 

 
void loop() {
 
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis; // Speichern letzte zeit der anziege hat sich geändert
count = (count+1);
}
if (count>(varianten-1)){
count = 0;
}
// delay(1500);

else{
u8g.firstPage();
do {

draw();

} while( u8g.nextPage() );

subset += 1;
if(subset > 3)
{
offset += 1;
subset = 0;
}

if(offset > strlen(lauftext[count]))
{
offset = 0;
}
}

 
}
 





Hallo.
Könnte ich den Sketch von deiner Anzeige bekommen.
Mfg



Hallo Er/Sie /Es
Ich habe so den Eindruck , Du weißt nicht wirklich was man mit einem Sketch anfangen kann , oder ?
Bevor Du dich an einen Sketch dieser Größenordnung ranwagst solltest Du erst mal eine einfache Programmierung , Arduino und LED , versuchen .

Schon die Frage , ob Du den Sketch , bekommen könntest und der Inhalt ( ZITAT ) Deines Beitrages lässt mich den Kopf schütteln .

Um einiges mehr an Antworten zu bekommen , würde ich empfehlen , nicht nur MfG , sondern auch einen Namen , um besser ansprechbar zu sein , drunter zu setzen .
Um zu Deiner Frage zu kommen : Auch hier wirst Du vermutlich nicht wirklich viele Antworten bekommen .
Warum ?
Weil , der Sketch in Deinem Beitrag schon drinsteht .
Ich empfehle , nicht nur fragen , sondern auch mal die Beiträge zu lesen und dann zu fragen .


Ecos 2 . nur Lopi´s , K-Gleise , Weichen mit Servoantrieben .
MFX freie Zone

Gruss
aus
Berlin
Ralf

Komisch , beim Strippen ziehen , reißen die immer ab


jacco60  
jacco60
InterRegio (IR)
Beiträge: 242
Registriert am: 08.07.2018
Ort: Kurz vor Ende der Erdscheibe
Spurweite H0
Steuerung Digital mit WDP
Stromart Digital


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#315 von Hardi , 03.09.2020 12:34

Hallo Zusammen,

ich habe gestern das 0.91 " Display von meinen Freunden aus China bekommen (https://de.aliexpress.com/item/400018288....27424c4dgBldPH).

Zuerst ging gar nichts ;-( Die Anzeige war spiegelverkehrt und außerdem haben sich die Pixel überlappt. Ich dachte zunächst das Display ist kaputt, aber auch die anderen zeigten das gleiche Bild.

Dann habe ich festgestellt, dass dieses Display einen anderen Chip verwendet. In der Beschreibung findet man „SSD1316 Fahrer“. Die Übersetzung gefällt mir jedes Mal aufs Neue: „Driver“ => „Fahrer“. Das 0.96 " verwendet den SSD1306.

Wenn man diesen „Fahrer“ im Programm verwendet, dann geht es! Ich bin begeistert. Im Programm sieht das so aus:

1
2
3
4
5
6
7
8
 

#if 1 // 0.87" Display (New U8g2 library required 2.27.6) // 03.09.20:
U8G2_SSD1316_128X32_F_HW_I2C u8g(U8G2_R2, U8X8_PIN_NONE); // Für 0.87" Display full frame buffer
#else // 0.91" Display
// Rotate by 180 Deg: U8G2_R2 (Normal: U8G2_R0) See: https://github.com/olikraus/u8g2/wiki/u8g2setupc
U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g(U8G2_R2, U8X8_PIN_NONE); // 55-60 ms update time, full frame buffer: 512 bytes RAM
#endif
 
 


Achtung: Dazu muss die neueste U8g2lib installiert sein. Ich habe die Version 2.27.6 verwendet.

Es gab noch ein zweites Problem. In der aktuellen arduino avr core Bibliothek (Ver. 1.8.3) wurden neue Funktionen eingefügt welche noch nicht ganz richtig sind. Man bekommt drei Fehlermeldungen:
error: no 'void TwoWire::setWireTimeout(uint32_t, bool)
error: no 'bool TwoWire::getWireTimeoutFlag()
error: no 'void TwoWire::clearWireTimeoutFlag()
Erst mit der älteren Version (1.8.2) ließ sich mein Programm kompilieren.

Das neue Display leuchtet weiß und ist nicht ganz so hell. Aber es gefällt mir besser als das andere.


Ich werde Alf demnächst bitten die Platinen zu bestellen.

Hardi


Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr hier:
RE: Unsere Kinder und Vater Anlage(n)


 
Hardi
InterCityExpress (ICE)
Beiträge: 2.138
Registriert am: 28.12.2015
Homepage: Link
Ort: Mainz
Gleise C
Spurweite H0
Steuerung MS2 + Eigenbau
Stromart Digital


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#316 von piefke53 , 03.09.2020 13:07

Hallo [user]Hardi[/user],

schaut nicht schlecht aus. 👍

Zur Steuerplatine ist mir neben dem noch "bebrüteten" Problem, die zusätzlichen Widerstände unterzubringen, noch etwas aufgefallen:

Es gibt scheinbar mehrere CAN-Module, die sich ähneln ...



Das von Dir verwendete NYREN ...



... das u.a. bei Reichelt angebotene DEBO ...



... und das von JOY-IT (sieht inzwischen noch etwas anders aus)

Von "Deinem" habe ich den so genannten footprint, die anderen müsste ich ggf. suchen.


Freundliche Grüße aus Niederösterreich
Fred



Jede Bewegung, die nicht der Fortpflanzung oder Nahrungsaufnahme dient, ist unnötig und hat daher zu unterbleiben.


 
piefke53
InterCity (IC)
Beiträge: 749
Registriert am: 03.01.2020
Ort: Tulln an der Donau
Spurweite H0


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#317 von aftpriv , 03.09.2020 13:43

Hi Guru Hardi und alle anderen MLLer

Zitat

.... In der Beschreibung findet man „SSD1316 Fahrer“. Die Übersetzung gefällt mir jedes Mal aufs Neue: „Driver“ => „Fahrer“. Das 0.96 " verwendet den SSD1306.

Wenn man diesen „Fahrer“ im Programm verwendet, dann geht es! Ich bin begeistert. Im Programm sieht das so aus:


Deshalb stelle ich bei Ali immer Sprache "Englisch" ein, dann stimmt es!

Gruß Alf


Pickel-Bahner seit 1958 / K-Gleis + ZIMO-Decoder (MX633P22/MX645P22)
RocRail & RocNetNode jeweils auf RasPi
Email bezüglich MobaLedLib-Belange: LedLib@yahoo.com


aftpriv  
aftpriv
EuroCity (EC)
Beiträge: 1.279
Registriert am: 03.04.2012
Ort: MKK, Hessischer Spessart
Gleise K-Gleis und Selbsbau-Pickel-Gleis (DC-Gleis mit Mittelleiter ausrüsten)
Spurweite H0
Steuerung Rocrail + Rocnetnode auf Raspi
Stromart Digital


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#318 von Hardi , 03.09.2020 14:26

Hallo Alf,

aber die automatische Übersetzung ist doch gerade das Schöne daran…


Hallo Fred,

ich nehme an, dass ich der einzige CAN Bus Nutzer bin. Das ist also nicht so schlimm.
Schade, dass das Modul von Reichelt und vermutlich auch das von JOY-IT einen zusätzlichen Pin für die Versorgung haben. An diesen wird aber in Verbindung mit dem Arduino auch nur +5V angeschlossen. Du könntest diesen zusätzlichen Pin ja mal vorsehen. Den CAN Bus kann man ja auch über die Schraubklemmen abgreifen.
Achtung: Der CAN Anschluss bei „meinem“ (dem oberen) Modul ist nicht im 100 Mil sondern im 50 Mil Raster. Du kannst Dir das Bauteil von hier https://github.com/Hardi-St/MobaLedLib_D...M_o_LED_CAN.zip holen.

Hardi


Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr hier:
RE: Unsere Kinder und Vater Anlage(n)


 
Hardi
InterCityExpress (ICE)
Beiträge: 2.138
Registriert am: 28.12.2015
Homepage: Link
Ort: Mainz
Gleise C
Spurweite H0
Steuerung MS2 + Eigenbau
Stromart Digital


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#319 von aftpriv , 03.09.2020 14:49

Hallo Fred

hier kannst Du kaufen: https://de.aliexpress.com/item/400053473...earchweb201603_

Gruß Alf


Pickel-Bahner seit 1958 / K-Gleis + ZIMO-Decoder (MX633P22/MX645P22)
RocRail & RocNetNode jeweils auf RasPi
Email bezüglich MobaLedLib-Belange: LedLib@yahoo.com


aftpriv  
aftpriv
EuroCity (EC)
Beiträge: 1.279
Registriert am: 03.04.2012
Ort: MKK, Hessischer Spessart
Gleise K-Gleis und Selbsbau-Pickel-Gleis (DC-Gleis mit Mittelleiter ausrüsten)
Spurweite H0
Steuerung Rocrail + Rocnetnode auf Raspi
Stromart Digital


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#320 von Hardi , 03.09.2020 15:21

Hallo Alf,

auch hier lohnt sich wieder die deutsche Übersetzung:

Zitat
1 stücke MCP2515 KÖNNEN Bus Modul TJA1050 Empfänger SPI Modul für arduino DIY KIT



Hardi


Haltet Euch unbedingt von diesen Seiten fern:
viewtopic.php?f=7&t=165060
https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr hier:
RE: Unsere Kinder und Vater Anlage(n)


 
Hardi
InterCityExpress (ICE)
Beiträge: 2.138
Registriert am: 28.12.2015
Homepage: Link
Ort: Mainz
Gleise C
Spurweite H0
Steuerung MS2 + Eigenbau
Stromart Digital


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#321 von jacco60 , 03.09.2020 15:32

Hallo Hardy ,
zum Beitrag 315 , der Vergleich der beiden Display´s :
das 0,87" hier ist die Schrift in Weiß , während beim 0,91" die Schrift in Blau ist , wobei genau dabei die Schrift verwaschen wirkt . Selbiges ist mir schon bei einigen Versuchen mit den 0,91" Display´s aufgefallen , es gibt also schon dabei Unterschiede .
Ich habe hier 0,91" mit beiden Farben , obwohl ich nur eine Sorte bestellt habe .
Weiterhin , ich weiß nicht welchen Sketch Du verwendest hast , als Bahnhofsanzeige . Ich benutze den zunächst mal von Klaus/Moppe , hier versuche ich die Erklärungen zu ergründen , dabei ist mir aufgefallen , der Befehl " ROTATE " verschiebt die Zeilen nach unten , sollte also nicht unbedingt benutzt werden .
Zumindest in Klaus seiner Ergänzumg sollte man den Kontrast benutzen und den Wert auf " 0 " setzen , das lässt zumindest dis blaue Schrift nicht ganz so grell wirken .

Falls also noch jemand , vernünftige Erklärungen , zur Ergänzung liefern kann , also ich wäre dankbar . Die Ergänzungen von Klaus sind da nicht wirklich hilfreich .


Ecos 2 . nur Lopi´s , K-Gleise , Weichen mit Servoantrieben .
MFX freie Zone

Gruss
aus
Berlin
Ralf

Komisch , beim Strippen ziehen , reißen die immer ab


jacco60  
jacco60
InterRegio (IR)
Beiträge: 242
Registriert am: 08.07.2018
Ort: Kurz vor Ende der Erdscheibe
Spurweite H0
Steuerung Digital mit WDP
Stromart Digital


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#322 von volkerS , 03.09.2020 17:47

Hallo Fred,
habe was die Leiterbahnführung mit Eagle V7.6 verstärkt und entflochten.
Bauteile vorteilhafter plaziert.
Auf fehlende Teile habe ich jetzt keine Rücksicht genommen.
Volker

Dateianlage:
Sie haben nicht die nötigen Rechte, um die angehängten Dateien zu sehen

volkerS  
volkerS
ICE-Sprinter
Beiträge: 5.981
Registriert am: 14.10.2014


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#323 von piefke53 , 03.09.2020 18:44

Zitat

Hallo Fred,
habe was die Leiterbahnführung mit Eagle V7.6 verstärkt und entflochten.
Bauteile vorteilhafter plaziert.
Auf fehlende Teile habe ich jetzt keine Rücksicht genommen.
Volker



Danke Volker, schaut schon mal besser aus als mein "Kram".


Freundliche Grüße aus Niederösterreich
Fred



Jede Bewegung, die nicht der Fortpflanzung oder Nahrungsaufnahme dient, ist unnötig und hat daher zu unterbleiben.


 
piefke53
InterCity (IC)
Beiträge: 749
Registriert am: 03.01.2020
Ort: Tulln an der Donau
Spurweite H0


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#324 von piefke53 , 03.09.2020 18:51

Zitat von jacco60 im Beitrag Zugzielanzeiger für den Bahnsteig mit Arduino

[...] Ich benutze den zunächst mal von Klaus/Moppe , hier versuche ich die Erklärungen zu ergründen , dabei ist mir aufgefallen , der Befehl " ROTATE " verschiebt die Zeilen nach unten , sollte also nicht unbedingt benutzt werden .
Zumindest in Klaus seiner Ergänzumg sollte man den Kontrast benutzen und den Wert auf " 0 " setzen , das lässt zumindest dis blaue Schrift nicht ganz so grell wirken .

Falls also noch jemand , vernünftige Erklärungen , zur Ergänzung liefern kann , also ich wäre dankbar . Die Ergänzungen von Klaus sind da nicht wirklich hilfreich .



Hallo Ralf,

der Befehl "SET.ROTATION" bewirkt eine funktionelle Drehung des Displays ....

https://forum.arduino.cc/?topic=338149#msg2331148

Zitat

tft.setRotation(1) --> 90°
tft.setRotation(2) --> 180°
tft.setRotation(3) --> 270°


Freundliche Grüße aus Niederösterreich
Fred



Jede Bewegung, die nicht der Fortpflanzung oder Nahrungsaufnahme dient, ist unnötig und hat daher zu unterbleiben.


 
piefke53
InterCity (IC)
Beiträge: 749
Registriert am: 03.01.2020
Ort: Tulln an der Donau
Spurweite H0


RE: Zugzielanzeiger für den Bahnsteig mit Arduino

#325 von piefke53 , 03.09.2020 19:22

Zitat von aftpriv im Beitrag Zugzielanzeiger für den Bahnsteig mit Arduino

Hallo Fred

hier kannst Du kaufen: https://de.aliexpress.com/item/400053473...earchweb201603_

Gruß Alf



Hallo Alf,

danke für den Link ... aber ich wollte nicht 6 Wochen warten und habe bei Reichelt bestellt.

Kam auch heute ... und statt des angebotenen DEBO war es ein Joy-It.



Ich werde dafür mal versuchen, dafür eine LIB zu klöppeln. Für einen 8er-Mux habe ich das schon gemacht, ist also nicht sooo schwer.


Freundliche Grüße aus Niederösterreich
Fred



Jede Bewegung, die nicht der Fortpflanzung oder Nahrungsaufnahme dient, ist unnötig und hat daher zu unterbleiben.


 
piefke53
InterCity (IC)
Beiträge: 749
Registriert am: 03.01.2020
Ort: Tulln an der Donau
Spurweite H0


   

TAMS GBM-1 umgekehrt anschliessen
Decoderproblem bei Piko BR151

  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz