Arduino TCO – ovládací pult s Arduinem – SW s možností stavění cest

Článek navazuje na předchozí návod na stavbu ovládacího pultu k digitální modelové železnici “Arduino TCO – ovládací pult s Arduinem na XperssNet“.  Při provozu kolejiště, jsem si uvědomil, že především ovládání pro menší děti je až moc složité. Bylo potřeba nějaké jednoduché zařízení, které by jim pomohlo sestavit celou průjezdnou trasu vlaku nebo třeba jen část trasy pro průjezd stanicí, či navedení soupravy z příjezdové koleje na správnou kolej ve stanici. Hardware byl již hotový, stačilo tedy jen promyslet vhodnou formu software.

 

Sestavené Arduino TCO na desce

Sestavené Arduino TCO na desce

Jak už bylo zmíněno v popisu článku, software je určený pro universální desku Arduino TCO, jejíž postup stavby a oživení je popsán v tomto článku – Arduino TCO – ovládací pult s Arduinem na XperssNet. Připravil jsem dvě základní verze. První obsahuje možnost zadání 10 cest a ovládat nezáviste příslušenství na 50 tlačítkách (například 25 výměn). Dále pak na desce jsou zachována tlačítka pro ovládání stavu provozu a nouzového zastavení. Druhá verze programu je jen upravena na počet 30 cest a 30 samostatných tlačítek. Délka cest je teoreticky možná až v rozsahu maximální velikosti paměti kontroléru, ale nedokážu si takovou cestu představit :-) a tak jsem velikost volbou proměnné omezil na 127 příkazů v cestě.
Fungování je jednoduché, v programu se přiřadí adresa dekodéru výměny a směr přehození. Po zvolení cesty patřičným tlačítkem dojde k postupnému odesílání příkazů. Čas mezi příkazy se dá v programu také změnit. To je z důvodu, aby nedošlo k přetížení centrály, k čemuž by mohlo dojít pokud by začalo vše najednou přestavovat (především u přestavníku s větším odběrem). Také je program nastaven tak, že další volby budou prováděny až po dokončení předchozí, to by opět mělo zabránit přetěžování centrály, ale je třeba si uvědomit, že provedení velice dlouhé cesty bude nějakou dobu trvat a v této době nebude možné volit jiné volby.

Nyní si ukážeme jak se nastavují jednotlivé proměnné v programu a začneme zopakováním si pro základní tlačítka ovládající příslušenství.

Zde je hned úvodní část programu, kde si nastavujeme potřebné údaje. Ty jsou pro lepší orientaci pod sebou ve sloupcích.
“buttons number” – označení pinu na plošném spoji pro připojení tlačítka
“byte addresses” – adresa dekodéru výměn/příslušenství (výstupu) v systému DCC (číslo odpovídá adrese v systému)
“boolean turn” – volba směru přehození (rovně nebo do odbočky)
“boolean mode” – zde je možné zvolit chování reakce tlačítka v systému, zda se chová pulzně nebo dle délky držení tlačítka (to je vhodné třeba pokud máme na nějaké dekodéru nastaveno na výstupu ovládání např. závor. Tedy dokud držím, mám závory dole – sepnutý výstup).
Délku pulzu je možné změnit v proměnné “#define waiting” , výchozí hodnota 200 je 200ms (0.2s což pro běžný dekodér je dostatečné)

Pokud si to tedy shrneme  máme nastaveno takto:
 – vstup prvního tlačítka je nastaven na adresu “1” stav rovně “1” a pulzní stav “1
 – vstup druhého tlačítka je nastaven na adresu “1” stav odbočka “0” a pulzní stav “1
 – vstup třetího tlačítka je nastaven na adresu “2” stav rovně “1” a pulzní stav “1
 – vstup čtvrtého tlačítka je nastaven na adresu “2” stav odbočka “0” a pulzní stav “1
 – atd. …. až do tlačítka 50 (nebo 30 u programu s počtem cest 30)

Nyní se můžeme podívat na způsob zadávání cest do programu:

Již ze zápisu je patrné fungování, každá řádka je jedna cesta. Zapisuje se vždy adresa následovaná směrem přehození.
Hodnoty v první cestě tedy určují – adresa 21 a stav rovně, adresa 20 a stav do odbočky, adresa 13 a stav do odbočky ….. takto pokračuje až do konce na poslední zápis – adresa 8 a stav rovně.
Pokud nechcete cestu použít, necháte mezi závorky prázdné místo bez zápisu. Tak jako v cestě 9.

První cesta je pak ovládána tlačítkem 51 a dalších 9 nasleduje. U verze která ovládá 30 cest, pak první cesta začíná na tlačítku 31 a další následují.

Zde pak je verze pro 10 cest, na konci článku je možné stáhnout jako INO soubor pro Arduino.

 

a následuje verze pro 30 cest, na konci článku je možné stáhnout jako INO soubor pro Arduino.

Návod na stavbu shieldu a způsob nahraní programu do Arduina pak najdete v předešlém článku:
Arduino TCO – ovládací pult s Arduinem na XpressNet

Také bych zde rád dal poděkování pro pana Zdeňka Hovorku, který mi pomohl na svém kolejišti s otestováním obslužného programu.

————————————————————————————————————————————————-
Soubory ke stažení:

TCO pult v0.30  10 cest
Titul : TCO pult v0.30 10 cest
Název souboru : TCO_pult_v0_30.ino (13 kB)
TCO pult v0.30 30 cest
Titul : TCO pult v0.30 30 cest
Název souboru : TCO_pult_v0_30_30.ino (21 kB)

————————————————————————————————————————————————-

______________________________________________________________________________________

______________________________________________________________________________________