De software voor de Arduino decoder wordt steeds verder doorontwikkeld. Ieder keer wanneer ik weer een nieuw idee krijg of een foutje vind, komt er weer een nieuwe versie.

Omdat ik het beschikbaar stellen via Google Drive geen groot succes vind, heb ik de code op Github gezet.

Dus vanaf nu beschikbaar op https://github.com/ArjanMooldijk/Signal-Decoder

De googledrive wordt uitgezet.

Vind je fouten of zie je mogelijkheden tot verbeteren (en die zijn er vast) laat het me dan ajb weten.

Aanpassingen

In de zip-file vind je twee sketches en twee libraries. Deze laatste twee heb ik bijgevoegd, zoadat je alles in één keer kunt downloaden, en omdat er in de TLC library een paar waardes zijn aangepast t.o.v. de standaard. Dit om het faden mogelijk te maken.

De sketch DCC_Schweizer_Signale_Decoder_Rev2 bevat routines voor de meeste Zwitserse signalen. Er ontbreken er nog een paar, die zullen t.z.t. wel eens worden toegevoegd.

Voor alle seinen behalve de SIM, geldt dat je ze met of zonder fade kunt uitvoeren. Hiermee zijn dus zowel oude lampen-seinen als moderne led versies te maken.

De adressen moet je nog steeds zelf invoeren. Ook het type sein moet de controller weten. De codes hiervoor staan bovenin de code.
Verder moet je bij ieder adres invoeren welke poort de eerste led.  van het sein is.

Voorbeeld:

Je wilt een 4- licht voorsein en een 3 licht hoofdsein aansluiten. De adressen zijn 304 en 305 voor het voorsein en 306 en 307 voor het hoofdsein. Dan worden de regels in het programma dus:

// Constants:
const unsigned int signalAdr[] = { 304, 305, 306, 307}; 
const byte signalType[] = { VorAdr1F, VorAdr2F, HauptAdr1F, HptAdr2Fb3F};
const byte signalLeds[] = { 4 , 4, 3, 3};
const byte signalChannel[] = { 0, 0, 4, 4};

VorAdr1F, VorAdr2F geeft aan dat op de eerste twee adressen een Vorsingnal is aangesloten. Op het volgende adres een Hauptsignal (Fb0 en Fb1). Het vierde adres hoort ook bij het Hauptsignal (HptAdr2) en is om Fb3 weer te geven.
Alle aangesloten signalen gebruiken fade (de laatste F).

Het Vorsignal heeft 4 leds en het Hauptsignal 3. Dit wordt voor ieder adres aangegeven.

De poort waarop de eerste led van het Vorsignal is aangesloten is 0. Ook het tweede adres hoort bij het sein dat begint op poort 0. Het Hauptsignal heeft de eerste led aangesloten op poort 4.

Dwergseinen

Voor de dwergseinen heb ik een extra aparte sketch gemaakt: DCC_Schweizer_Zwergsignale_Decoder_Rev3. De dwergen zitten ook in de eerste, maar om het hier en daar wat kort te houden heb ik overbodige ballast uit de code gehaald.

In deze sketch zitten nog twee bijzonderheden:

  1. Bij het opstarten van de Arduino zal het eerste sein (op poort 0) de verschillende seinbeelden doorlopen. Dit gaat door totdat een DCC commando wordt ontvangen. Daarna gedraagt de decoder zich normaal. Dit is toegevoegd om de decoder te kunnen testen zonder dat het aan DCC is aangesloten. De functie is uit te zetten door de variabele boolean runSequence op FALSE te zetten.
  2. Een dwerg kent drie seinbeelden. Halt en Fahrt worden met het eerste adres geschakeld. Fahrt mit Vorsicht wordt via het tweede adres gekozen. Hierbij had ik nog een toets over en heb daar de keuze op gezet om van Halt naar Fahrt te schakelen via Fahrt mit Vorsicht. Met slechts één toets kom je dus langs twee seinbeelden. Ik heb me laten vertellen dat dit vroeger altijd zo geschakeld werd.
    Deze functie is alleen beschikbaar bij dwergen die met fade worden geschakeld. De moderne led-versie gaat direct.

Plaats een reactie

Deze site gebruikt Akismet om spam te bestrijden. Ontdek hoe de data van je reactie verwerkt wordt.