RE: Arduino DC Car Funktionen schalten

#1 von Wugkie939 ( gelöscht ) , 15.11.2018 10:52

Hallo zusammen,

ich benötige mal eure Hilfe.
Ich würde gern meinen DC Car Fahrzeugen den Befehl schicken, z.b. vor einer Kreuzung zu blinken. Dieses Signal würde ich gern mit einem Arduino erzeugen und per IR an die Fahrzeuge senden.
Hat jemand von euch damit schon Erfahrung und würde mir erklären, wie das funktioniert?

Gruss Udo


Wugkie939

RE: Arduino DC Car Funktionen schalten

#2 von rmayergfx , 15.11.2018 14:27

Schon mal beim Hersteller auf die Homepage geschaut und dort angefragt ?
http://wiki.dc-car.de/index.php?title=Progset http://modelleisenbahn-claus.de/files/CV_DC07_DC08.pdf
Lade im Arduino die DCC Library und damit sollte schon ein kurzer Test erfolgreich sein.

mfg

Ralf


Der Computer soll die Arbeit des Menschen erleichtern und nicht umgekehrt!
Neue Kupplungen für Faller OHU Selbstentladewagen: viewtopic.php?f=27&t=82863
Kein Support per PN !


 
rmayergfx
ICE-Sprinter
Beiträge: 5.391
Registriert am: 07.07.2008
Gleise C-K-Flex-M-Gleis
Spurweite H0, Z, 1
Steuerung MS2, 6021, 60213
Stromart AC, Digital, Analog


RE: Arduino DC Car Funktionen schalten

#3 von Wugkie939 ( gelöscht ) , 16.11.2018 07:33

Moin Ralf,

vielen Dank für die schnelle Antwort.
Habe das DC Car System von den Fichtelbahnern, die Idee mit der DCC Lib ist super, das werde ich mal testen.


Wugkie939

RE: Arduino DC Car Funktionen schalten

#4 von Modellautobahnen , 16.11.2018 20:46

Hallo
DC-Car ist ein eingetragener Markename und wird nicht von Fichtelbahn vertrieben wird.
Von DC-Car sind keine Codes zur Übertragung veröffendlicht.
Es gibt nur Codes für den PC-Sender um eigene Programme zu benutzen.

OpenCar ist das Produkt von Fichtelbahn.

Bitte beachten:
Ein Tempotaschentuch ist ein Papiertaschentuch aus dem Hause Tempo. Es gibt aber auch viel andere.

Deshalb die System nicht vermischen.
Vergleich_der_digitalen_Car_Systeme


Gruß
Siegmund


Modellautobahnen  
Modellautobahnen
InterRegioExpress (IRE)
Beiträge: 298
Registriert am: 24.07.2014
Spurweite H0, H0e, H0m, TT, N, 0, 00, 1
Stromart Digital


RE: Arduino DC Car Funktionen schalten

#5 von rmayergfx , 17.11.2018 14:46


Danke für die Klarstellung. Zumindest dürfte es auch mit OpenCar möglich sein mit DCC über den Arduino zu steuern: https://www.opencarsystem.de/control/software/software.html. So ganz lag ich mit meinem Tipp also nicht daneben.

@Wugkie939
Bitte vor dem Posten immer 2x schauen, welches Produkt man wirklich besitzt und dann erst schreiben.

mfg

Ralf


Der Computer soll die Arbeit des Menschen erleichtern und nicht umgekehrt!
Neue Kupplungen für Faller OHU Selbstentladewagen: viewtopic.php?f=27&t=82863
Kein Support per PN !


 
rmayergfx
ICE-Sprinter
Beiträge: 5.391
Registriert am: 07.07.2008
Gleise C-K-Flex-M-Gleis
Spurweite H0, Z, 1
Steuerung MS2, 6021, 60213
Stromart AC, Digital, Analog


RE: Arduino DC Car Funktionen schalten

#6 von Wugkie939 ( gelöscht ) , 17.11.2018 23:21

vielen Dank für die Klarstellung

Ich habe mir die DCC Library mal angesehen, werde daraus aber nicht ganz schlau.
Ich habe mir das Ganze etwas einfacher vorgestellt.

Mein Gedanke: Taster drücken -> Signal an Outpin -> auf IR Led -> Auto -> Auto blinkt (Funktion 1 am Decoder) soll dann für alle Fahrzeuge gelten, die im Bereich der LED sind

Kennt jemand von euch eine einfache lösung dafür?


Wugkie939

RE: Arduino DC Car Funktionen schalten

#7 von digitalmarc , 24.11.2018 18:13

Hallo Udo

Habe mal ein Sketch gemacht, um DCC Signale über IR zu übertragen. Ev hilft Dir das weiter...


#define IR_LED 3

//High Low
#define L 116
#define H 58
#define PREAMBLE 14

#define F1 (1<<0)
#define F2 (1<<1)
#define F3 (0<<2)
#define F4 (0<<3)

#define ADDRESS 0
#define FORWARD 1
#define REVERSE 0
#define SPEED 0


uint8_t function = 0x04;
uint8_t functionPlus = 0x05;

uint8_t Address = ADDRESS;
uint8_t Data= 0b01000000 | (SPEED & 0x0F) | (FORWARD << 5);
//uint8_t Data= //0b10010000 | F1|F2|F3|F4;
uint8_t Crc = Address ^ Data;

void setup() {
pinMode(IR_LED, OUTPUT);
digitalWrite(IR_LED, LOW);

//Serial.begin(9600);
//Serial.println("start");
}




void loop() {

delay(20);
dccPreamble();
zero();
dccAddress(Address);
zero();
dccData(Data);
zero();
dccCrc(Crc);
stopBit();



}

void DCC_Bit(uint8_t b)
{
int duration;
if(b)
{
duration = H;
}
else
{
duration = L;
}

digitalWrite(IR_LED, LOW);
delayMicroseconds(duration);
//delay(duration);
digitalWrite(IR_LED, HIGH);
//delay(duration);
delayMicroseconds(duration);
}

void dccPreamble()
{
int i = 0;
for(i=1;i<PREAMBLE;i++)
{
DCC_Bit(1);
}
}

void zero()
{
DCC_Bit(0);
}

void dccAddress(uint8_t adr)
{
for(int a =7; a>=0; a--)
{
DCC_Bit(((adr >> a) & 0x01));
}
}
void dccData(uint8_t data)
{
for(int d =7; d>=0; d--)
{
DCC_Bit(((data >> d) & 0x01));
}
}

void dccCrc(uint8_t crc)
{
for(int c =7; c>=0; c--)
{
DCC_Bit(((crc >> c) & 0x01));
}
}

void stopBit()
{
DCC_Bit(1);
}


Freundliche Grüsse
Marc

Märklin H0, CS2, Traincontroller Gold +Street,

https://www.digitalmarc.ch 3D-Druck, Open Car System


 
digitalmarc
RegionalExpress (RE)
Beiträge: 86
Registriert am: 18.05.2013


RE: Arduino DC Car Funktionen schalten

#8 von Wugkie939 ( gelöscht ) , 25.11.2018 20:38

Hallo Marc,

vielen Dank für deine Mühe.
Da bei meinem System, das DCC Broadcast deaktiviert ist, hilft mir das auch nicht weiter. Einzelne Fahrzeuge ansprechen, habe ich geschafft. Mir ging es aber darum alle Fahrzeuge vor einer Kreuzung abzubremsen und blinken zu lassen, wenn das Servo auf Abzweig steht.

Gruss Udo

PS: was machst du so mit deinem 3D Drucker?


Wugkie939

RE: Arduino DC Car Funktionen schalten

#9 von digitalmarc , 25.11.2018 22:25

Hallo Udo

Du könntest ja als Workaround in einer For-Schleife die Adressen durch iterieren. So könntest Du auch alle Fahrzeuge ansprechen. Wenn Du 255 Adressen durch iterrierst, kommst Du auf eine Dauer von ca. 1,2 Sekunden. Ich nehme mal an, dass Du nicht 255 Fahrzeuge hast. Somit musst Du nicht alle 255 Nummern durchlaufen. Probiere es doch mal aus, vielleicht klappt es ja.

Mit meinem Drucker drucke ich hauptsächlich Modellbahn Zubehör und Chassis für meine Fahrzeuge. Auf meiner Webseite habe ich einige Bilder dazu.


Freundliche Grüsse
Marc

Märklin H0, CS2, Traincontroller Gold +Street,

https://www.digitalmarc.ch 3D-Druck, Open Car System


 
digitalmarc
RegionalExpress (RE)
Beiträge: 86
Registriert am: 18.05.2013


RE: Arduino DC Car Funktionen schalten

#10 von Wugkie939 ( gelöscht ) , 26.11.2018 07:19

Moin Marc,

eine etwas verrückte Idee, diese hatte ich auch schon, war aber davon ausgegangen, das es viel zu lange dauern würde.
Aber, da ich eher weniger wie 50 Fahrzeuge haben werde hält sich das wohl in Grenzen.

Ich danke dir für deine Mithilfe.

Druckst du zufällig auch Stopstellen für dein CarSystem oder machst du das über IR?
Von den Chassis bin ich sehr begeistert, meinen Drucker muss ich heute erstmal zerlegen, da hat gestern der Temp. Sensor gesponnen und er hat bei 275°C fröhlich das Filament gekocht. Nun läufts auch oberhalb der Düse raus.

Gruss Udo


Wugkie939

RE: Arduino DC Car Funktionen schalten

#11 von digitalmarc , 26.11.2018 07:34

Hallo Udo,

Nein, Stoppstellen drucke ich nicht. Die Fahrzeuge sind eingemessen und so kann ich wie bei der Bahn mit Blöcken und Rückmeldern arbeiten.

Abzweigungen habe ich aber gedruckt.

Was hast Du für einen Drucker? Was druckst Du so?


Freundliche Grüsse
Marc

Märklin H0, CS2, Traincontroller Gold +Street,

https://www.digitalmarc.ch 3D-Druck, Open Car System


 
digitalmarc
RegionalExpress (RE)
Beiträge: 86
Registriert am: 18.05.2013


   

Faller Hanomag: Wie wird der Motor befestigt?
Bus O 3500 (Busch/Brekina) als Car-System?

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