Irgendwie geht's hier nicht weiter ... Schade
Irgendwie geht's hier nicht weiter ... Schade
Grüße Detlef
Beiträge: | 94 |
Registriert am: | 17.12.2016 |
Ort: | Schwarzwald |
Gleise | Roco Geoline |
Spurweite | H0 |
Steuerung | Traincontroller 9 Gold |
Stromart | DC, Digital |
Den Kommentar halte ich jetzt für absolut unangemessen ...
Die Freiheit des Menschen liegt nicht darin, dass er tun kann, was er will, sondern dass er nicht tun muss, was er nicht will. (Jean-Jacques Rousseau)
Meine Anlage - Meine Dauerbaustelle
Platinen für Modellbahn- und Arduino-Anwendungen
Naja, irgendwie gibt es auch noch ein Leben neben der Moba
Ich bin schon dabei, einen universellen Lichtsignaldecoder als Beispieldatei für den Zubehördecoder zu entwerfen. Ich möchte es aber so gestalten, dass möglichst viele was davon hätten ( auch wenn das Interesse sich in Grenzen hält - wenn ich's mache, dann richtig )
Damit ihr schonmal was zu lesen habt, hier der derzeitige Entwurf des entsprechenden Abschnitts im Manual:
[attachment=0]DCC-Lichtsignal-Decoder-Entwurf.pdf[/attachment]
und hier die zugehörige Konfigurationsdatei:
/* Universeller DCC - Zubehördecoder
**************************************************************************************************
* Beispieldatei für L i c h t h a u p t s i g n a l e (ohne Vorsignale am gleichen Mast).
* Die Pins sind für den Arduino Nano ausgelegt.
* Es können 3- oder 5-begriffige Hauptsignale angesteuert werden. Die Anzahl der
* Ansteuerbaren Signale hängt von der Zahl der Led's ab:
* Ohne Zugbeeinflussungsrelais können 6 3-Begriffige (3 Leds) oder 3 4-begriffige Signale ( 5/6 Leds) angesteuert werden
* Es müssen nur gegebenenfalls die PinZuordnungen angepasst werden. Alle anderen Paramter können
* unverändert bleiben.
* Die Leds werden aktiv HIGH angesteuert. Für 16V ausgelegte Lichtsignale müssen über einen invertierenden
* ULN2803 (o.ä.) angesteuert werden
* Beim Lichtsignaldecoder ist kein Rückkanal für das Auslesen der CV-Werte vorgesehen
**************************************************************************************************
*
*
* Eigenschaften:
* Bis zu 8 (aufeinanderfolgende) Zubehöradressen ansteuerbar. Je nach verfügbaren Digitalausgängen
* sind ggfs auch mehr möglich.
* 1. Adresse per Programmierung einstellbar
*
* Das Verhalten der konfigurierten Funktionen wird über CV-Programmierung festgelegt:
* Bei Servoausgängen die Endlagen und die Geschwindigkeit
* bei Doppelspulenantrieben die Einschaltzeit der Spulen.
* bei blinkenden Ausgängen das Blinkverhalten ( in V3.0 noch nicht realisiert )
*
* Aufteilung der CV's:
* CV Bedeutung
* 47 Kennung für Erstinitiierung, allgemeine Optionen die für den gesamten Decoder gelten
* 48/49 Pom-Adresse
* 50-54 Parameter für 1. Weichenadresse
* 55-59 Parameter für 2. Weichenadresse
* ...
* Bedeutung der CV's bei den verschiedenen Funktione (CV-Nummern für 1. Weichenadresse)
* FSIGNAL2 Lichtsignalfunktion mit 1..3 Weichenadressen
* bei den Folgeadressen ist als Typ FSIGNAL0 einzutragen
* Lichtsignale starten beim Einschalten immer im Zustand 0 (Bitmuster CV51)
* CV50 Signalmodus: Bit7=1 : invertiert die Softled-Ausgänge (HIGH=OFF) (MobaTools ab V0.9)
* Bit 2..0: Bitmuster hard/soft gibt an, welche Ausgänge 'hart' umschalten (Bit=1)
* und welche Ausgänge weich überblenden (Bit=0)
* CV51 Bitmuster der Ausgänge für Befehl 1.Adresse 0 (rot)
* CV52 Bitmuster der Ausgänge für Befehl 1.Adresse 1 (grün)
* CV53 Index des Vorsignals am gleichen Mast ( 0 …. )
* CV54 Bitmuster der Zustände, bei denen das Vorsignal dunkel ist:
* Bit 0: Befehl 1.Adresse 0 (rot)
* Bit 1: Befehl 1.Adresse 1 (grün)
* Bit 2: Befehl 2.Adresse 0 (rot)
* u.s.w.
* FSIGNAL0 1. Folgeadresse (optional)
* CV55 Bit 2.. 0 Bitmuster hard/soft gibt an, welche Ausgänge 'hart' umschalten (Bit=1)
* und Welche Ausgänge weich überblenden (Bit=0)
* CV56 Bitmuster der Ausgänge für Befehl 2.Adresse 0 (rot)
* CV57 Bitmuster der Ausgänge für Befehl 2.Adresse 1 (grün)
* CV58 reserved
* CV59 reserved
* FSIGNAL0 2. Folgeadresse (optional)
* CV60 Bit 2.. 0 Bitmuster hard/soft gibt an, welche Ausgänge 'hart' umschalten (Bit=1)
* und Welche Ausgänge weich überblenden (Bit=0)
* CV61 Bitmuster der Ausgänge für Befehl 3.Adresse 0 (rot)
* CV62 Bitmuster der Ausgänge für Befehl 3.Adresse 1 (grün)
* CV63 reserved
* CV64 reserved
*
* FVORSIG Vorsignalfunktion
* weitgehend wie FSIGNAL2 ausser:
* CV53 low Byte der Adresse des angekündigten Hauptsignals
* CV54 high Byte der Adrsse des angekündigten Hauptsignals
*/
#define ENCODER_DOUBLE // Eigenschaften des Drehencoders (Impulse per Raststellung)
// vom Anwender änderbare Parameter um den Zubehördecoder an die verwendete HW anzupassen
// Beispiel für Variante mit Licht-Ausfahrsignal mit Vorsignal, mit Betriebsmode Led an Pin 13 (interne Led)
//----------------------------------------------------------------
// Hardwareabhängige Konstante ( nicht per CV änderbar)
//----------------------------------------------------------------
const byte dccPin = 2;
const byte ackPin = NC;
// Eingänge analog: ( Bei Nano und Mini - Versionen kann hier auch A7 und A6 verwendet werden, um mehr
// digital nutzbare Ports freizubekommen.
// beim UNO sind A7+A6 nicht vorhanden! )
const byte betrModeP = A7; // Analogeingang zur Bestimmung des Betriebsmodus. Wird nur beim
// Programmstart eingelesen!
const byte resModeP = A6; // Rücksetzen CV-Werte + Mittelstellung Servos
// Eingänge digital (die Ports A0-A5 lassen sich auch digital verwenden): ---------
// Drehencoder zur Servojustierung ...........
//#define ENCODER_AKTIV // Wird diese Zeile auskommentiert, wird der Encoder nicht verwendet.
// Die Encoder-Ports werden dann ignoriert, und können anderweitig
// verwendet werden.
const byte encode1P = NC; // Eingang Drehencoder zur Justierung.
const byte encode2P = NC;
// ............................................
//-------------------------------------------------------------------------------------------------------
// Betriebswerte ( per CV änderbar ) Diese Daten werden nur im Initiierungsmodus in die CV's geschrieben.
// Der Initiierungsmodus lässt sich per Mode-Eingang aktivieren oder er ist automatisch aktiv, wenn keine
// sinnvollen Werte im CV47 stehen.
//-------------------------------------------------------------------------------------------------------
const byte DccAddr = 17; // DCC-Decoderadresse
const byte iniMode = 0x50 | AUTOADDR /*| ROCOADDR*/; // default-Betriebsmodus ( CV47 )
const int PomAddr = 50; // Adresse für die Pom-Programmierung ( CV48/49 )
//Konstante für Lichtsignalfunktion
#define SIG_DARK_TIME 300 // Zeit zwischen Dunkelschalten und Aufblenden des neuen Signalbilds
#define SIG_RISETIME 500 // Auf/Abblendezeit
// Ausgänge: mit NC gekennzeichnete Ausgänge werden keinem Port zugeordnet. Damit können Ports gespart werden,
// z.B. wenn bei einem Servo kein Polarisierungsrelais benötigt wird
const byte modePin = 13; // Anzeige Betriebszustand (Normal/Programmierung) (Led)
#define MAX_LEDS 16 // default ist 16. Kann auf die tatsächlich benutzte Zahl reduziert werden, um RAM zu sparen.
// Pro Softled werden 19 Byte benötigt
const byte iniTyp[] = { FSIGNAL2, FSIGNAL0, FSIGNAL2, FSIGNAL0, FSIGNAL2, FSIGNAL0, FSIGNAL2, FSIGNAL0, FSIGNAL2, FSIGNAL0 };
const byte out1Pins[] = { A0, NC, A3, NC, 3, NC, 6, NC, 9, NC };
const byte out2Pins[] = { A1, NC, A4, NC, 4, NC, 7, NC, 10, NC };
const byte out3Pins[] = { A2, NC, A5, NC, 5, NC, 8, NC, 11, NC };
const byte iniFmode[] = { 0, 0b000100, 0, 0b000100, 0, 0b000100, 0, 0b000100, 0, 0b000100 };
const byte iniPar1[] = { 0b001001, 0b110001, 0b001001, 0b110001, 0b001001, 0b110001, 0b001001, 0b110001, 0b001001, 0b110001 };
const byte iniPar2[] = { 0b100010, 0b100110, 0b100010, 0b100110, 0b100010, 0b100110, 0b100010, 0b100110, 0b100010, 0b100110 };
const byte iniPar3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
const byte iniPar4[] = { 0b000101, 0, 0b000101, 0, 0b000101, 0, 0b000101, 0, 0b000101, 0 };
//------------------------------------------------------------------------------------
Ist aber alles noch nicht endgültig getestet. und das Manual ist sicher auch noch nicht ganz vollständig. Aber wenn's unverständlich ist, könnt ihr das ja auch schonmal anmerken
viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'
Beiträge: | 2.833 |
Registriert am: | 28.11.2012 |
Ort: | Mittelfranken |
Gleise | Tillig Elite |
Steuerung | Eigenbau |
Stromart | Analog |
Hallo zusammen,
zuerst einmal ein fettes Lob (und Daumen hoch) für dieses Projekt!
Mit diesem Decoder ist man nicht nur flexibler als mit einem gekauften, es wird auch noch günstiger.
Also weiter so, ich werde dabei bleiben.
Nun aber zu meinem Problem, vielleicht stehe ich ja auch nur auf der Leitung:
Ich habe den Decoder (in verschiedenen Konfigurationen) auf einem Mega zum Laufen bekommen. Servo, LEDs und Relais arbeiten wie gewünscht.
Nun habe ich exakt dieselben Dateien sowohl auf einem UNO als auch auf einem mini pro installiert - und nichts geht.
Für mich sieht es so aus, als würden diese die Signale von der Steuerung ignorieren, obwohl der Pin 2 doch bei allen interruptfähig ist.
Ich bin gerade etwas ratlos, warum derselbe Sketch nur auf dem Mega laufen will...
Gibt es da noch Unterscheide, die ich nicht beachtet habe?
Gruß
Jürgen
Gruß
Jürgen
Beiträge: | 44 |
Registriert am: | 08.02.2016 |
Hallo Jürgen,
das freut mich natürlich, dass Du den Decoder nutzt
Zitat von juergiboy im Beitrag Arduinobasierter DIY Zubehördecoder V7.0.0 freigegebenDas ist für mich erstmal etwas verwunderlich, da es bei mir eher umgekehrt ist: Ich teste alles erstmal auf einem Nano ( der ja den gleichen Prozessor hat wie Uno und mini) Auf dem Mega teste ich dann eher nur sporadisch.
Nun habe ich exakt dieselben Dateien sowohl auf einem UNO als auch auf einem mini pro installiert - und nichts geht.
viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'
Beiträge: | 2.833 |
Registriert am: | 28.11.2012 |
Ort: | Mittelfranken |
Gleise | Tillig Elite |
Steuerung | Eigenbau |
Stromart | Analog |
Natürlich gib es ein Leben außer Moba
Ich möchte mich auch bedanken und werde sobald ich meine ChinaNanos zum laufen bekomme anfangen es zu testen...
vielleicht habt ihr auf diesem Wege einen Tip was sein könnte das die Nanos nicht erkannt werden...
Ich habe den passenden Treiber vom Hersteller herunter geladen (ch340) aber es funktioniert leider nicht...
Grüße Detlef
Beiträge: | 94 |
Registriert am: | 17.12.2016 |
Ort: | Schwarzwald |
Gleise | Roco Geoline |
Spurweite | H0 |
Steuerung | Traincontroller 9 Gold |
Stromart | DC, Digital |
Was funktioniert den nicht? Wird eine neue Com-Schnittstelle angelegt, wenn Du den Nano anschließt? Oder geht nur der Upload nicht?
viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'
Beiträge: | 2.833 |
Registriert am: | 28.11.2012 |
Ort: | Mittelfranken |
Gleise | Tillig Elite |
Steuerung | Eigenbau |
Stromart | Analog |
Nein, der Nano wird überhaupt nicht erkannt wenn ich ihn über usb anschließe...
Grüße Detlef
Beiträge: | 94 |
Registriert am: | 17.12.2016 |
Ort: | Schwarzwald |
Gleise | Roco Geoline |
Spurweite | H0 |
Steuerung | Traincontroller 9 Gold |
Stromart | DC, Digital |
Dann sieht es so aus, als hättest Du nicht den richtigen Treiber.
viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'
Beiträge: | 2.833 |
Registriert am: | 28.11.2012 |
Ort: | Mittelfranken |
Gleise | Tillig Elite |
Steuerung | Eigenbau |
Stromart | Analog |
Hallo Franz-Peter,
ich habe mein .h File mal angehängt, das ist meine Testkonfiguration, um Erfahrungen zu sammeln.
M. E. ist hier nichts drin, was ich hardwareabhängig anpassen müsste?!
Der Sketch lässt sich ja auch kompilieren und hochladen, laut Debug im SerialMonitor läuft er auch, nur die Steuerung über die Zentrale (MS2) scheint nicht anzukommen. Die Schaltung mit dem Optokoppler funktioniert, ist dieselbe wie beim Mega.
Gruß
Jürgen
Gruß
Jürgen
Beiträge: | 44 |
Registriert am: | 08.02.2016 |
Ok, alles zurück....
Ich habe gerade nochmal neu kompiliert, hochgeladen und neu verdrahtet.... und schon läuft auch der UNO.
Wo auch immer das Problem lag, jetzt ist es erstmal gelöst.
Trotzdem danke für die Hilfe.
Gruß
Jürgen
Gruß
Jürgen
Beiträge: | 44 |
Registriert am: | 08.02.2016 |
Na super, ich wollt's gerade auch mal testen. Aber dann ist das ja unnötig
viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'
Beiträge: | 2.833 |
Registriert am: | 28.11.2012 |
Ort: | Mittelfranken |
Gleise | Tillig Elite |
Steuerung | Eigenbau |
Stromart | Analog |
Würde das ganze auch mit einem Uno funktionieren?
Da ich ja Anfänger bin... was genau ist eine h. Datei und was mache ich damit?
Die Nanos bekomme ich nicht ans laufen... ich schätze das ich wohl lieber keine Billigteile nehmen sollte bzw mit echtem ftdi Chip.....
Grüße Detlef
Beiträge: | 94 |
Registriert am: | 17.12.2016 |
Ort: | Schwarzwald |
Gleise | Roco Geoline |
Spurweite | H0 |
Steuerung | Traincontroller 9 Gold |
Stromart | DC, Digital |
Zitat
Würde das ganze auch mit einem Uno funktionieren?
Grundsätzlich ja. Der hat allerdings 2 Analogeingänge weniger als der Nano, was dann bei der Zuordnung der Pins zu berücksichtigen ist. Die Konfiguration für die Lichtsignale ist auf den Nano zugeschnitten.
Zitat
Da ich ja Anfänger bin... was genau ist eine h. Datei und was mache ich damit?
.h ist der Dateityp und steht für 'Header-Datei'. Die heissen so weil sie eigentlich immer im 'Kopf' eines C-Programms eingebunden werden. Header-Dateien enthalten üblicherweise keine ausführbaren Anweisungen, sondern nur Konstanten und Hinweise an den Compiler, wie z.B. die Unterprogramme in einer Library heissen und wie sie aufgerufen werden ( in der C-Terminologie 'Deklarationen' ).
Zitat
Die Nanos bekomme ich nicht ans laufen... ich schätze das ich wohl lieber keine Billigteile nehmen sollte bzw mit echtem ftdi Chip.....
Ich habe dir eine PN geschickt. Bisher hat noch jeder die 'Billigteile' zum Laufen gebracht
viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'
Beiträge: | 2.833 |
Registriert am: | 28.11.2012 |
Ort: | Mittelfranken |
Gleise | Tillig Elite |
Steuerung | Eigenbau |
Stromart | Analog |
Ich habs mit dem Treiber auch versucht aber es funktioniert trotzdem nicht... com/ltp oder Serial wird gar nicht angezeigt...
dann bin ich wohl der 1.
exit status 1
'NC' was not declared in this scope
Was heisst das ?
Grüße Detlef
Beiträge: | 94 |
Registriert am: | 17.12.2016 |
Ort: | Schwarzwald |
Gleise | Roco Geoline |
Spurweite | H0 |
Steuerung | Traincontroller 9 Gold |
Stromart | DC, Digital |
Zitat
Ich habs mit dem Treiber auch versucht aber es funktioniert trotzdem nicht.
Seltsam - und Du hast auch die richtige Treibervariante installiert (32/64Bit-System)? Aber da sollte eigentlich auch der Installer meckern, wenn man das falsche wählt.
Bist Du sicher, dass dein USB-Kabel i.O ist? hast Du das schon mit einem anderen Gerät erfolgreich getestet?
Zitat
exit status 1
'NC' was not declared in this scope
Was heisst das ?
Na ja, dass er eben mit dem Namen 'NC' nichts anzufangen weis. NC wird in 'DCC_Zubehoerdecoder.ino' definiert, bevor das 'DCC_Zubehoerdecoder.h' File eingebunden wird.
Was hast Du denn gemacht?
viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'
Beiträge: | 2.833 |
Registriert am: | 28.11.2012 |
Ort: | Mittelfranken |
Gleise | Tillig Elite |
Steuerung | Eigenbau |
Stromart | Analog |
Ich denke schon das ich die richtige Treibervariante genommen habe, weil wie Du sagst Windows dann meckert wenn es der das falsche ist.
Also die nanos die ich habe funktionieren alle nicht und Kabel habe ich mehrere ausprobiert.
Uno funktioniert wunderbar.
Ich habe das Beispiel von dir versucht auf einen Uno zu laden bzw. überprüft(kompiliert?) da kam schon die Fehlermeldung... habe einfach ausprobiert ohne etwas zu verändern ....
/* Universeller DCC - Zubehördecoder
**************************************************************************************************
* Beispieldatei für L i c h t h a u p t s i g n a l e (ohne Vorsignale am gleichen Mast).
* Die Pins sind für den Arduino Nano ausgelegt.
* Es können 3- oder 5-begriffige Hauptsignale angesteuert werden. Die Anzahl der
* Ansteuerbaren Signale hängt von der Zahl der Led's ab:
* Ohne Zugbeeinflussungsrelais können 6 3-Begriffige (3 Leds) oder 3 4-begriffige Signale ( 5/6 Leds) angesteuert werden
* Es müssen nur gegebenenfalls die PinZuordnungen angepasst werden. Alle anderen Paramter können
* unverändert bleiben.
* Die Leds werden aktiv HIGH angesteuert. Für 16V ausgelegte Lichtsignale müssen über einen invertierenden
* ULN2803 (o.ä.) angesteuert werden
* Beim Lichtsignaldecoder ist kein Rückkanal für das Auslesen der CV-Werte vorgesehen
**************************************************************************************************
*
*
* Eigenschaften:
* Bis zu 8 (aufeinanderfolgende) Zubehöradressen ansteuerbar. Je nach verfügbaren Digitalausgängen
* sind ggfs auch mehr möglich.
* 1. Adresse per Programmierung einstellbar
*
* Das Verhalten der konfigurierten Funktionen wird über CV-Programmierung festgelegt:
* Bei Servoausgängen die Endlagen und die Geschwindigkeit
* bei Doppelspulenantrieben die Einschaltzeit der Spulen.
* bei blinkenden Ausgängen das Blinkverhalten ( in V3.0 noch nicht realisiert )
*
* Aufteilung der CV's:
* CV Bedeutung
* 47 Kennung für Erstinitiierung, allgemeine Optionen die für den gesamten Decoder gelten
* 48/49 Pom-Adresse
* 50-54 Parameter für 1. Weichenadresse
* 55-59 Parameter für 2. Weichenadresse
* ...
* Bedeutung der CV's bei den verschiedenen Funktione (CV-Nummern für 1. Weichenadresse)
* FSIGNAL2 Lichtsignalfunktion mit 1..3 Weichenadressen
* bei den Folgeadressen ist als Typ FSIGNAL0 einzutragen
* Lichtsignale starten beim Einschalten immer im Zustand 0 (Bitmuster CV51)
* CV50 Signalmodus: Bit7=1 : invertiert die Softled-Ausgänge (HIGH=OFF) (MobaTools ab V0.9)
* Bit 2..0: Bitmuster hard/soft gibt an, welche Ausgänge 'hart' umschalten (Bit=1)
* und welche Ausgänge weich überblenden (Bit=0)
* CV51 Bitmuster der Ausgänge für Befehl 1.Adresse 0 (rot)
* CV52 Bitmuster der Ausgänge für Befehl 1.Adresse 1 (grün)
* CV53 Index des Vorsignals am gleichen Mast ( 0 …. )
* CV54 Bitmuster der Zustände, bei denen das Vorsignal dunkel ist:
* Bit 0: Befehl 1.Adresse 0 (rot)
* Bit 1: Befehl 1.Adresse 1 (grün)
* Bit 2: Befehl 2.Adresse 0 (rot)
* u.s.w.
* FSIGNAL0 1. Folgeadresse (optional)
* CV55 Bit 2.. 0 Bitmuster hard/soft gibt an, welche Ausgänge 'hart' umschalten (Bit=1)
* und Welche Ausgänge weich überblenden (Bit=0)
* CV56 Bitmuster der Ausgänge für Befehl 2.Adresse 0 (rot)
* CV57 Bitmuster der Ausgänge für Befehl 2.Adresse 1 (grün)
* CV58 reserved
* CV59 reserved
* FSIGNAL0 2. Folgeadresse (optional)
* CV60 Bit 2.. 0 Bitmuster hard/soft gibt an, welche Ausgänge 'hart' umschalten (Bit=1)
* und Welche Ausgänge weich überblenden (Bit=0)
* CV61 Bitmuster der Ausgänge für Befehl 3.Adresse 0 (rot)
* CV62 Bitmuster der Ausgänge für Befehl 3.Adresse 1 (grün)
* CV63 reserved
* CV64 reserved
*
* FVORSIG Vorsignalfunktion
* weitgehend wie FSIGNAL2 ausser:
* CV53 low Byte der Adresse des angekündigten Hauptsignals
* CV54 high Byte der Adrsse des angekündigten Hauptsignals
*/
#define ENCODER_DOUBLE // Eigenschaften des Drehencoders (Impulse per Raststellung)
// vom Anwender änderbare Parameter um den Zubehördecoder an die verwendete HW anzupassen
// Beispiel für Variante mit Licht-Ausfahrsignal mit Vorsignal, mit Betriebsmode Led an Pin 13 (interne Led)
//----------------------------------------------------------------
// Hardwareabhängige Konstante ( nicht per CV änderbar)
//----------------------------------------------------------------
const byte dccPin = 2;
const byte ackPin = NC;
// Eingänge analog: ( Bei Nano und Mini - Versionen kann hier auch A7 und A6 verwendet werden, um mehr
// digital nutzbare Ports freizubekommen.
// beim UNO sind A7+A6 nicht vorhanden! )
const byte betrModeP = A7; // Analogeingang zur Bestimmung des Betriebsmodus. Wird nur beim
// Programmstart eingelesen!
const byte resModeP = A6; // Rücksetzen CV-Werte + Mittelstellung Servos
// Eingänge digital (die Ports A0-A5 lassen sich auch digital verwenden): ---------
// Drehencoder zur Servojustierung ...........
//#define ENCODER_AKTIV // Wird diese Zeile auskommentiert, wird der Encoder nicht verwendet.
// Die Encoder-Ports werden dann ignoriert, und können anderweitig
// verwendet werden.
const byte encode1P = NC; // Eingang Drehencoder zur Justierung.
const byte encode2P = NC;
// ............................................
//-------------------------------------------------------------------------------------------------------
// Betriebswerte ( per CV änderbar ) Diese Daten werden nur im Initiierungsmodus in die CV's geschrieben.
// Der Initiierungsmodus lässt sich per Mode-Eingang aktivieren oder er ist automatisch aktiv, wenn keine
// sinnvollen Werte im CV47 stehen.
//-------------------------------------------------------------------------------------------------------
const byte DccAddr = 17; // DCC-Decoderadresse
const byte iniMode = 0x50 | AUTOADDR /*| ROCOADDR*/; // default-Betriebsmodus ( CV47 )
const int PomAddr = 50; // Adresse für die Pom-Programmierung ( CV48/49 )
//Konstante für Lichtsignalfunktion
#define SIG_DARK_TIME 300 // Zeit zwischen Dunkelschalten und Aufblenden des neuen Signalbilds
#define SIG_RISETIME 500 // Auf/Abblendezeit
// Ausgänge: mit NC gekennzeichnete Ausgänge werden keinem Port zugeordnet. Damit können Ports gespart werden,
// z.B. wenn bei einem Servo kein Polarisierungsrelais benötigt wird
const byte modePin = 13; // Anzeige Betriebszustand (Normal/Programmierung) (Led)
#define MAX_LEDS 16 // default ist 16. Kann auf die tatsächlich benutzte Zahl reduziert werden, um RAM zu sparen.
// Pro Softled werden 19 Byte benötigt
const byte iniTyp[] = { FSIGNAL2, FSIGNAL0, FSIGNAL2, FSIGNAL0, FSIGNAL2, FSIGNAL0, FSIGNAL2, FSIGNAL0, FSIGNAL2, FSIGNAL0 };
const byte out1Pins[] = { A0, NC, A3, NC, 3, NC, 6, NC, 9, NC };
const byte out2Pins[] = { A1, NC, A4, NC, 4, NC, 7, NC, 10, NC };
const byte out3Pins[] = { A2, NC, A5, NC, 5, NC, 8, NC, 11, NC };
const byte iniFmode[] = { 0, 0b000100, 0, 0b000100, 0, 0b000100, 0, 0b000100, 0, 0b000100 };
const byte iniPar1[] = { 0b001001, 0b110001, 0b001001, 0b110001, 0b001001, 0b110001, 0b001001, 0b110001, 0b001001, 0b110001 };
const byte iniPar2[] = { 0b100010, 0b100110, 0b100010, 0b100110, 0b100010, 0b100110, 0b100010, 0b100110, 0b100010, 0b100110 };
const byte iniPar3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
const byte iniPar4[] = { 0b000101, 0, 0b000101, 0, 0b000101, 0, 0b000101, 0, 0b000101, 0 };
//------------------------------------------------------------------------------------
Grüße Detlef
Beiträge: | 94 |
Registriert am: | 17.12.2016 |
Ort: | Schwarzwald |
Gleise | Roco Geoline |
Spurweite | H0 |
Steuerung | Traincontroller 9 Gold |
Stromart | DC, Digital |
Dir ist aber schon klar, dass das nur die Konfigurationsdatei für den Zubehördecoder ist?
Du brauchst in deinem Sketchdirectory ( DCC_Zubehoerdecoder ) also 2 Dateien:
viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'
Beiträge: | 2.833 |
Registriert am: | 28.11.2012 |
Ort: | Mittelfranken |
Gleise | Tillig Elite |
Steuerung | Eigenbau |
Stromart | Analog |
Soooo es funktioniert... und es lag doch am Kabel... ich hatte bestimmt 5 verschiedene ausprobiert und das letzte was noch passte war es dann... 2 Tage rumgebastelt
Zitat
Du brauchst in deinem Sketchdirectory ( DCC_Zubehoerdecoder ) also 2 Dateien:
1. DCC_Zubehoerdecoder.ino - das eigentliche Programm ( das musst Du nicht ändern, aber es muss da sein )
2. DCC_Zubehoerdecoder.h - Die Konfigurationsdatei. Die hat dann den von mir oben geposteten Inhalt.
also das heisst den DCC_Zubehördecoder laden und Deine Datei dann hinein kopieren?
Grüße Detlef
Beiträge: | 94 |
Registriert am: | 17.12.2016 |
Ort: | Schwarzwald |
Gleise | Roco Geoline |
Spurweite | H0 |
Steuerung | Traincontroller 9 Gold |
Stromart | DC, Digital |
Zitat
Soooo es funktioniert... und es lag doch am Kabel... ich hatte bestimmt 5 verschiedene ausprobiert und das letzte was noch passte war es dann.
Na super! . Aber so einen Ausschuß an Kabeln hatte ich bisher noch nicht
Zitat
also das heisst den DCC_Zubehördecoder laden und Deine Datei dann hinein kopieren?
Genau! ( Den Inhalt der DCC_Zubehoerdecoder.h austauschen )
viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'
Beiträge: | 2.833 |
Registriert am: | 28.11.2012 |
Ort: | Mittelfranken |
Gleise | Tillig Elite |
Steuerung | Eigenbau |
Stromart | Analog |
Perfekt! Das hat alles super funktioniert. Ich habe den Sketch erfolgreich auf den Nano laden können.
Ja, das mit den Kabeln find ich auch sehr merkwürdig.
Nun zu dem was ich eigentlich gerne machen würde.
Hp0 Hp1 Hp2 schalten
wie muss ich was wo ändern?
Digitale Adressen vergeben damit ich die Signale ansteuern kann...
Grüße Detlef
Beiträge: | 94 |
Registriert am: | 17.12.2016 |
Ort: | Schwarzwald |
Gleise | Roco Geoline |
Spurweite | H0 |
Steuerung | Traincontroller 9 Gold |
Stromart | DC, Digital |
Hast Du die Hardware schon komplett aufgebaut, wie in dem Auszug des Manuals?
Dann sollte das 1. Signal (Leds an A0-A2) auf die DCC-Adressen 17/18 reagieren.
viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'
Beiträge: | 2.833 |
Registriert am: | 28.11.2012 |
Ort: | Mittelfranken |
Gleise | Tillig Elite |
Steuerung | Eigenbau |
Stromart | Analog |
die Pins sind irgendwie anders verteilt, kann ich ihn überhaupt verwenden? Die "Verbindungen" einfach anders, so das es passt?
Grüße Detlef
Beiträge: | 94 |
Registriert am: | 17.12.2016 |
Ort: | Schwarzwald |
Gleise | Roco Geoline |
Spurweite | H0 |
Steuerung | Traincontroller 9 Gold |
Stromart | DC, Digital |
Zitat
die Pins sind irgendwie anders verteilt, kann ich ihn überhaupt verwenden?
Was meinst Du mit 'anders verteilt? Ich hoffe, Du verwechselst einen Schaltplan nicht mit einem Bestückungsplan? Wenn in einem Schaltplan die Pinreihenfolge im Bild mit der Reihenfolge am Bauteil übereinstimmt ist das eher zufällig und keineswegs die Regel.
Da das Platinchen keine eindeutige Pin-Numerierung hat, musst Du dich da auschließlich nach den aufgedruckten Pinnamen richten.
viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'
Beiträge: | 2.833 |
Registriert am: | 28.11.2012 |
Ort: | Mittelfranken |
Gleise | Tillig Elite |
Steuerung | Eigenbau |
Stromart | Analog |
Zitat
Ich hoffe, Du verwechselst einen Schaltplan nicht mit einem Bestückungsplan?
anscheinend schon... ich bin davon ausgegangen das die Anordnung genauso ist wie auf Deinem Schaltplan... sorry ops:
wieder etwas gelernt.
Ich sag ja "Anfänger" flaster:
Dann werde ich Morgen mal ans löten gehen und hoffe das es klappt... einen Anfang hatte ich ja schon gepostet. Einwände gab es dazu keine also gehe ich davon aus das es ganz ordentlich aussieht. Das ist meine 1. Platine die ich gelötet habe!
Grüße Detlef
Beiträge: | 94 |
Registriert am: | 17.12.2016 |
Ort: | Schwarzwald |
Gleise | Roco Geoline |
Spurweite | H0 |
Steuerung | Traincontroller 9 Gold |
Stromart | DC, Digital |
Einfach ein eigenes Forum erstellen |