🚛 CarMotion: Steuerung via IR Fernbedienungsbefehle durch Arduino generiert

#1 von fbstr , 09.04.2024 19:29

Schon von Anfang an interessiert mich das Rückwärtsfahren der CarMotion-LKW's. Diese Funktion kann man mit der IR-Fernbedienung auslösen.
Ich hätte gerne das "Rückwärtsfahren" in der DCC-IR-Steuerung integriert, aber der Viessmann-Support ziert sich noch.

Beim Bahnpark Augsburg würde ich nämlich gerne unter den Kran fahren und stoppen. Auf meinem Testmodel kann ich dann vorwärts weiterfahren.


In Augsburg geht das aber nicht. Also wäre der Wunsch:
- Ich drücke einen Taster und halte diesen fest
- Der LKW setzt den Warnblinker
- per Servo werden "Bordsteine" hochgefahren damit der LKW beim Rückwärtsfahren geführt wird (ich denke da an die MobaLedLib)
- das nervige Piepsen wird per Sound aktiviert (ich denke immer noch an die MobaLedLib)
- der LKW fährt so lange zurück wie ich den Taster gedrückt halte
- ich lasse den Taster los
- der Bordstein fährt wieder herunter
- der LKW kann vorwärts nach rechts abbiegen und weiterfahren

Letzte Woche konnte jemand die IR-Befehle mittels Arduino und IR-Sendediode generieren und hat diese Info in der Facebookgruppe gepostet. Ich war begeistert!

Mittels dem "Multi-function Tester-T7" kann man die IR-Signale auslesen, aber diese dann richtig in den Sketch zu bringen - daran war ich gescheitert. Z.B.:






Mit Hilfe des Facebook-Hinweis konnte ich heute zum ersten Mal per Tastendruck den LKW rückwärts fahren lassen.

Ich habe folgenden Testaufbau:
- Taster gelb: Ein-/Ausschalten der Warnblinker (war eher als Kontrolle gedacht)
- Taster grau: Aktivieren der Rückwärtsfahrt. Bei der Fernbedienung muß man die Taste gedrückt halten.
- grüne LED: Die soll leuchten, wenn die IR-Diode das "Rückwärtsfahren" sendet. So als Kontrolle



So ganz funktioniert mein Sketch noch nicht
- die grüne LED macht fast nichts
- das Rückwärtsfahren reagiert nur auf die abfallende Flanke des Tasters und dann fährt der LKW eine bestimmte Zeit rückwärts

Aber hey, das ist doch schon mal was!



Vielleicht können die Arduino-Profis mir ein paar Tipps geben was ich verbessern kann:

Zitat


#include <IRremote.hpp>

const int SenderPin = 5; //Pin für IR-Diode
const byte buttonDriveBackwards = 8 ; //Taster "Anhalten und Rückwärts"
const byte buttonWarnblinker = 9 ; //Taster "Warnblinker"
const byte ledDriveBackwardsPin = A4; //LED Feedback "Anhalten und Rückwärts"
byte buttonStatusDriveBackwards = 0 ;
byte buttonStatusWarnblinker = 0 ;
uint8_t Repeats = 0;

uint32_t rawData01 = 0xBA45FF00; //Fahrzeug aus
uint32_t rawData02 = 0xBF40FF00; //Beschleunigen
uint32_t rawData03 = 0xBC43FF00; //Anhalten und Rückwärts
uint32_t rawData04 = 0xF807FF00; //Blinken links
uint32_t rawData05 = 0xEA15FF00; //losfahren
uint32_t rawData06 = 0xF609FF00; //Blinken rechts
uint32_t rawData07 = 0xE916FF00; //Hauptlichter schalten
uint32_t rawData08 = 0xE619FF00; //Abbremsen
uint32_t rawData09 = 0xF20DFF00; //Akkuanzeige
uint32_t rawData10 = 0xF30CFF00; //Fernlicht
uint32_t rawData11 = 0xE718FF00; //Rundumlicht
uint32_t rawData12 = 0xA15EFF00; //Warnblinker
uint32_t rawData13 = 0xF708FF00; //Taste 4
uint32_t rawData14 = 0xE31CFF00; //Taste 5
uint32_t rawData15 = 0xA55AFF00; //Taste 6
uint32_t rawData16 = 0xBD42FF00; //Taste 7
uint32_t rawData17 = 0xAD52FF00; //Taste 8
uint32_t rawData18 = 0xB54AFF00; //Taste 9
uint32_t rawData19 = 0xBB44FF00; //Taste Test
uint32_t rawData20 = 0xB847FF00; //Taste MENU


void setup() {
Serial.begin(115200);
pinMode(SenderPin, OUTPUT);
pinMode(ledDriveBackwardsPin, OUTPUT);
IrSender.begin(SenderPin,DISABLE_LED_FEEDBACK,0);

pinMode(buttonDriveBackwards, INPUT_PULLUP);
pinMode(buttonWarnblinker, INPUT_PULLUP);
}

void loop() {

// Status der Taster einlesen
buttonStatusDriveBackwards = digitalRead(buttonDriveBackwards);
buttonStatusWarnblinker = digitalRead(buttonWarnblinker);

if (buttonStatusDriveBackwards == LOW) // Wenn Taster gedrueckt...
{
IrSender.sendNECRaw(rawData03, 5500); //Anhalten und Rückwärts, 6000=17cm, 5500=19,5cm
digitalWrite(ledDriveBackwardsPin, HIGH);
}
else
{
digitalWrite(ledDriveBackwardsPin, LOW);
}

if (buttonStatusWarnblinker == LOW) // Wenn Taster gedrueckt...
{
IrSender.sendNECRaw(rawData12, Repeats); //Warnblinker
// digitalWrite(ledDriveBackwardsPin, HIGH);
}
else
{
// digitalWrite(ledDriveBackwardsPin, LOW);
}



}



Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


hlinke, piefke53, nakott, WolfiR, gerald bock, DanielSiefert und KaiW haben sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.533
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital

zuletzt bearbeitet 20.04.2024 | Top

🚛 CarMotion: Steuerung via IR Fernbedienungsbefehle durch Arduino generiert

#2 von fbstr , 11.04.2024 19:22

Ich habe noch 2 zusätzliche Taster eingebaut und die internen Pullups verwendet. Hat aber nichts daran geändert, dass die abfallende Flanke verwendet wird.



Hier im Spoiler der aktuelle Sketch:

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
 

 
#include <IRremote.hpp>
 
const int SenderPin = 5; //Pin für IR-Diode
const byte buttonDriveBackwards = 8 ; //Taster "Anhalten und Rückwärts"
const byte buttonWarnblinker = 9 ; //Taster "Warnblinker"
const byte buttonLosfahren = 4 ; //Taster "+"
const byte buttonAbbremsen = 3 ; //Taster "-"
const byte ledDriveBackwardsPin = A4; //LED Feedback "Anhalten und Rückwärts"
byte buttonStatusDriveBackwards = 0 ;
byte buttonStatusWarnblinker = 0 ;
byte buttonStatusLosfahren = 0 ;
byte buttonStatusAbbremsen = 0 ;
uint8_t Repeats = 0;
 
uint32_t rawData01 = 0xBA45FF00; //Fahrzeug aus
uint32_t rawData02 = 0xBF40FF00; //Beschleunigen, (+)
uint32_t rawData03 = 0xBC43FF00; //Anhalten und Rückwärts
uint32_t rawData04 = 0xF807FF00; //Blinken links
uint32_t rawData05 = 0xEA15FF00; //losfahren, (Fahren)
uint32_t rawData06 = 0xF609FF00; //Blinken rechts
uint32_t rawData07 = 0xE916FF00; //Hauptlichter schalten
uint32_t rawData08 = 0xE619FF00; //Abbremsen, (-)
uint32_t rawData09 = 0xF20DFF00; //Akkuanzeige
uint32_t rawData10 = 0xF30CFF00; //Fernlicht
uint32_t rawData11 = 0xE718FF00; //Rundumlicht
uint32_t rawData12 = 0xA15EFF00; //Warnblinker
uint32_t rawData13 = 0xF708FF00; //Taste 4
uint32_t rawData14 = 0xE31CFF00; //Taste 5
uint32_t rawData15 = 0xA55AFF00; //Taste 6
uint32_t rawData16 = 0xBD42FF00; //Taste 7
uint32_t rawData17 = 0xAD52FF00; //Taste 8
uint32_t rawData18 = 0xB54AFF00; //Taste 9
uint32_t rawData19 = 0xBB44FF00; //Taste Test
uint32_t rawData20 = 0xB847FF00; //Taste MENU
 

void setup() {
Serial.begin(115200);
pinMode(SenderPin, OUTPUT);
pinMode(ledDriveBackwardsPin, OUTPUT);
IrSender.begin(SenderPin,DISABLE_LED_FEEDBACK,0);
 
pinMode(buttonDriveBackwards, INPUT_PULLUP);
pinMode(buttonWarnblinker, INPUT_PULLUP);
pinMode(buttonAbbremsen, INPUT_PULLUP);
pinMode(buttonLosfahren, INPUT_PULLUP);
}
 
void loop() {
 
// Status der Taster einlesen
buttonStatusDriveBackwards = digitalRead(buttonDriveBackwards);
buttonStatusWarnblinker = digitalRead(buttonWarnblinker);
buttonStatusAbbremsen = digitalRead(buttonAbbremsen);
buttonStatusLosfahren = digitalRead(buttonLosfahren);

if (buttonStatusDriveBackwards == LOW) // Wenn Taster gedrueckt...
{
IrSender.sendNECRaw(rawData03, 5500); //Anhalten und Rückwärts, 6000=17cm, 5500=19,5cm
// digitalWrite(ledDriveBackwardsPin, HIGH);
}
else
{
digitalWrite(ledDriveBackwardsPin, LOW);
}
 
if (buttonStatusWarnblinker == LOW) // Wenn Taster gedrueckt...
{
IrSender.sendNECRaw(rawData12, 2); //Warnblinker Repeats
delay(100); // mindestens 5 ms Pause nach dem Senden
digitalWrite(ledDriveBackwardsPin, HIGH);
}
else
{
// digitalWrite(ledDriveBackwardsPin, LOW);
}
 
if (buttonStatusAbbremsen == LOW) // Wenn Taster gedrueckt...
{
IrSender.sendNECRaw(rawData08, 0); //Abbremsen
// digitalWrite(ledDriveBackwardsPin, HIGH);
}
else
{
// digitalWrite(ledDriveBackwardsPin, LOW);
}
 
if (buttonStatusLosfahren == LOW) // Wenn Taster gedrueckt...
{
IrSender.sendNECRaw(rawData05, 0); //Losfahren
// digitalWrite(ledDriveBackwardsPin, HIGH);
}
else
{
// digitalWrite(ledDriveBackwardsPin, LOW);
}

 
}
 
 



Am Ende noch ein Stopp-Magnet. Damit kann ich ohne die IR-Fernbedienung hin- und herfahren.



Aber im Prinzip bin ich noch nicht weiter gekommen. Ich kann auch nur 1 Stufe beschleunigen, bzw. Abbremsen.


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen


hlinke, WolfiR und KaiW haben sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.533
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital

zuletzt bearbeitet 20.04.2024 | Top

RE: 🚛 CarMotion: Steuerung via IR

#3 von fpps , 19.04.2024 11:43

Hallo Frank,

Schon Gemacht!
Ich habe eine Frage über deine Lösung: Benutzt Du die IR-Drahtloss Protocol (Ahnlich wie TV) oder Viessmann's eigene IR Abstands- und Steuerungs Protocol.

MfG,
Frank (fpps).


fpps  
fpps
Beiträge: 7
Registriert am: 06.09.2018
Ort: Cuijk
Spurweite H0
Steuerung CS3
Stromart Digital


🚛 CarMotion: Steuerung via IR Fernbedienungsbefehle durch Arduino generiert

#4 von fbstr , 20.04.2024 15:15

Zitat von fpps im Beitrag #3
Benutzt Du die IR-Drahtloss Protocol (Ahnlich wie TV) oder Viessmann's eigene IR Abstands- und Steuerungs Protocol.

MfG,
Frank (fpps).



Hallo Frank,

hier wird das IRremote.hpp verwendet, also wie bei Fernbedienungen. Ich habe inzwischen das "IR Mini" bekommen und angefangen damit herumzuprobieren, aber das muß irgendwie anders funktionieren. Hier geht es aber um die Funktionalität der IR Fernbedienung und den Versuch diese in meinem "Bahnpark Augsburg" Szenario anzuwenden.

Zur Erinnerung:
Ich möchte gerne einen Taster drücken und der LKW soll so lange rückwärts fahren wie ich den Taster gedrückt halte.


Das hat bisher nicht funktioniert.

Und heute morgen hat sich @Hardi Zeit genommen mit mir das Problem anzusehen.

Mittels dem Beispiel-Sketch "SimpleReceiver" der IRremote-Bibliothek konnten wir sehen was passiert, wenn die Taste auf der Fernbedienung lange gedrückt wird:

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
 

14:40:58.323 -> START C:\Users\xxx\Documents\Arduino\libraries\IRremote\examples\SimpleReceiver\SimpleReceiver.ino from Apr 20 2024
14:40:58.323 -> Using library version 4.3.1
14:40:58.323 -> Ready to receive IR signals of protocols: NEC/NEC2/Onkyo/Apple, at pin 2
14:41:08.908 -> Protocol=NEC Address=0x0 Command=0x43 Raw-Data=0xBC43FF00 32 bits LSB first
14:41:08.908 -> Send with: IrSender.sendNEC(0x0, 0x43, <numberOfRepeats>);
14:41:08.908 ->
14:41:08.978 -> Protocol=NEC Address=0x0 Command=0x43 Repeat gap=38050us
14:41:08.978 ->
14:41:09.082 -> Protocol=NEC Address=0x0 Command=0x43 Repeat gap=92700us
14:41:09.082 ->
14:41:09.177 -> Protocol=NEC Address=0x0 Command=0x43 Repeat gap=92700us
14:41:09.177 ->
14:41:09.309 -> Protocol=NEC Address=0x0 Command=0x43 Repeat gap=92700us
14:41:09.309 ->
14:41:09.391 -> Protocol=NEC Address=0x0 Command=0x43 Repeat gap=92750us
14:41:09.391 ->
14:41:09.482 -> Protocol=NEC Address=0x0 Command=0x43 Repeat gap=92750us
14:41:09.482 ->
14:41:09.625 -> Protocol=NEC Address=0x0 Command=0x43 Repeat gap=92750us
14:41:09.625 ->
14:41:09.694 -> Protocol=NEC Address=0x0 Command=0x43 Repeat gap=92750us
14:41:09.694 ->
14:41:09.791 -> Protocol=NEC Address=0x0 Command=0x43 Repeat gap=92750us
14:41:09.838 ->
14:41:09.931 -> Protocol=NEC Address=0x0 Command=0x43 Repeat gap=92700us
14:41:09.931 ->
14:41:10.027 -> Protocol=NEC Address=0x0 Command=0x43 Repeat gap=92700us
14:41:10.027 ->
14:41:10.126 -> Protocol=NEC Address=0x0 Command=0x43 Repeat gap=92750us
14:41:10.126 ->
14:41:10.216 -> Protocol=NEC Address=0x0 Command=0x43 Repeat gap=92750us
14:41:10.261 ->
 

 



D.h. nur einmal wird gesendet: Protocol=NEC Address=0x0 Command=0x43 Raw-Data=0xBC43FF00 32 bits LSB first
Danach kommt "nur" noch: Protocol=NEC Address=0x0 Command=0x43 Repeat gap=92700us

Dies zeigte Hardi, dass es noch einen Folgebefehl geben müßte, der nach "IrSender.sendNECRaw" verwendet werden muß.
Und das ist "IrSender.sendNECRepeat"

Dann noch den Taster für das Rückwärtsfahren genauer auswerten:

1
2
3
4
5
6
7
8
9
 

// Verhalten des Tasters:
//
// ---------------, ,---------------
// | |
// '------------'
// Nicht gedrückt Gehalten Losgelassen
// ^ ^
 
 




Herausgekommen ist der angehängte Sketch:

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
 

/*
Am 20.04.24 mit Hardi angepasst. Rückwärtsfahren solange wie Taster gedrückt.


Von Odracir Repahcs am 01.04.2024 auf Facebook gepostet
https://www.facebook.com/groups/800631387836720/permalink/1070476617518861/
Ich habe die Signale der Fernbedienung ausgelesen
Das "Rückwärtsfahrsignal" in der Wiederholrate enorm erhöht (900).

Bibliothek "IRremote" installieren
Pin 5 am Mega verwendet

Wunschliste:
- Feedback LED fürs Rückwärtsfahren
- Taster der das Rückwärtsfahren auslöst
- Sound "Sicherheitspiepsen" beim Rückwärtsfahren: https://www.videvo.net/de/lizenzfreie-soundeffekte/lkw-ruckwarts-piepton/705171/
 

*/
 
#include <IRremote.hpp>
 
const int SenderPin = 5; //Pin für IR-Diode
const byte buttonDriveBackwards = 8 ; //Taster "Anhalten und Rückwärts"
const byte buttonWarnblinker = 9 ; //Taster "Warnblinker"
const byte buttonLosfahren = 4 ; //Taster "+"
const byte buttonAbbremsen = 3 ; //Taster "-"
const byte ledDriveBackwardsPin = A4; //LED Feedback "Anhalten und Rückwärts"
byte buttonStatusDriveBackwards = 0 ;
byte buttonStatusWarnblinker = 0 ;
byte buttonStatusLosfahren = 0 ;
byte buttonStatusAbbremsen = 0 ;
uint8_t Repeats = 0;
bool Old_DriveBackwards = true; // Vorheriger Status des Tasters (nicht gedrückt = HIGH, gedrückt = LOW)
uint32_t StartTimer;
 
uint32_t rawData01 = 0xBA45FF00; //Fahrzeug aus
uint32_t rawData02 = 0xBF40FF00; //Beschleunigen, (+)
uint32_t rawData03 = 0xBC43FF00; //Anhalten und Rückwärts
uint32_t rawData04 = 0xF807FF00; //Blinken links
uint32_t rawData05 = 0xEA15FF00; //losfahren, (Fahren)
uint32_t rawData06 = 0xF609FF00; //Blinken rechts
uint32_t rawData07 = 0xE916FF00; //Hauptlichter schalten
uint32_t rawData08 = 0xE619FF00; //Abbremsen, (-)
uint32_t rawData09 = 0xF20DFF00; //Akkuanzeige
uint32_t rawData10 = 0xF30CFF00; //Fernlicht
uint32_t rawData11 = 0xE718FF00; //Rundumlicht
uint32_t rawData12 = 0xA15EFF00; //Warnblinker
uint32_t rawData13 = 0xF708FF00; //Taste 4
uint32_t rawData14 = 0xE31CFF00; //Taste 5
uint32_t rawData15 = 0xA55AFF00; //Taste 6
uint32_t rawData16 = 0xBD42FF00; //Taste 7
uint32_t rawData17 = 0xAD52FF00; //Taste 8
uint32_t rawData18 = 0xB54AFF00; //Taste 9
uint32_t rawData19 = 0xBB44FF00; //Taste Test
uint32_t rawData20 = 0xB847FF00; //Taste MENU
 

void setup() {
Serial.begin(115200);
pinMode(SenderPin, OUTPUT);
pinMode(ledDriveBackwardsPin, OUTPUT);
IrSender.begin(SenderPin,DISABLE_LED_FEEDBACK,0);
 
pinMode(buttonDriveBackwards, INPUT_PULLUP);
pinMode(buttonWarnblinker, INPUT_PULLUP);
pinMode(buttonAbbremsen, INPUT_PULLUP);
pinMode(buttonLosfahren, INPUT_PULLUP);
}
 
void loop() {
 
// Status der Taster einlesen
buttonStatusDriveBackwards = digitalRead(buttonDriveBackwards);
buttonStatusWarnblinker = digitalRead(buttonWarnblinker);
buttonStatusAbbremsen = digitalRead(buttonAbbremsen);
buttonStatusLosfahren = digitalRead(buttonLosfahren);

// Verhalten des Tasters:
//
// ---------------, ,---------------
// | |
// '------------'
// Nicht gedrückt Gehalten Losgelassen
// ^ ^
//
 
if (Old_DriveBackwards == HIGH && buttonStatusDriveBackwards == LOW) // Taster wird gedrückt
{
// Serial.println("Taster gedrückt");
IrSender.sendNECRaw(rawData03, 0); //Anhalten und Rückwärts
StartTimer = millis();
}
else if (Old_DriveBackwards == LOW && buttonStatusDriveBackwards == HIGH) // Taster wird losgelassen
{
digitalWrite(ledDriveBackwardsPin, LOW);
// Serial.println("Taster losgelassen");
}
else if (buttonStatusDriveBackwards == LOW) // Wenn Taster gehalten wird
{
if (millis() - StartTimer > 92)
{
// Serial.println("Taster gehalten");
digitalWrite(ledDriveBackwardsPin, HIGH); // Kontroll-LED: Taster Rückwärtsfahren gehalten
IrSender.sendNECRepeat();
StartTimer = millis();
}
}
 
if (buttonStatusWarnblinker == LOW) // Wenn Taster gedrueckt...
{
IrSender.sendNECRaw(rawData12, 0); //Warnblinker
}
else
{
 
}
 
if (buttonStatusAbbremsen == LOW) // Wenn Taster gedrueckt...
{
IrSender.sendNECRaw(rawData08, 0); //Abbremsen
}
else
{
 
}
 
if (buttonStatusLosfahren == LOW) // Wenn Taster gedrueckt...
{
IrSender.sendNECRaw(rawData05, 0); //Losfahren
}
else
{
 
}
Old_DriveBackwards = buttonStatusDriveBackwards;
 
}
 
 






Inzwischen zeigt die grüne LED auch an, wenn ich den grauen Taster gedrückt halte.

Ich bin voll happy!
Vielen Dank Hardi!


Gruss
Frank
---------------------------------------------------------------------------------------------------------------------
MobaLedLib Wiki
Projekt "Bahnpark Augsburg"
Stummitreff BB: jeden 3. Freitag im Monat im Haus Sommerhof in Sindelfingen

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

Hardi, DanielSiefert und WolfiR haben sich bedankt!
 
fbstr
Metropolitan (MET)
Beiträge: 2.533
Registriert am: 28.08.2016
Ort: Stuttgart
Gleise Peco Code 75, Trix C
Spurweite H0, H0e
Steuerung YD7001, MobaLedLib, MirZ21, Lenz LZV100
Stromart DC, Digital


   

Modellautos Epoche VI
Alternativen zum FCS

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