Arduino TCO – ovládací pult s Arduinem – Aktualizovaná verze SW

Článek popisuje nové možnosti nastavení rozšířené verze programu určeného pro TCO pult pro ovládání digitálního kolejiště systému DCC. Popis zapojení naleznete v předchozím článku s návodem na stavbu “Arduino TCO – ovládací pult s Arduinem na XpressNet“. Tato verze není žádnou pouze opravnou verzí, ale jde o rozšíření funkcí, není tedy třeba nahrazovat původní, pokud vám její funkcionalita vyhovuje. Verze obsahuje dvě nové možnosti nastavení časů spínání výstupů v pulzním režimu. Je tedy možné si určit, jak dlouhý stisk tlačítka je simulován. Prvních 50 tlačítek je možné nastavit na dobu do 2sec a posledních dalších 10 tlačítek je možné nastavit na dlouhé časy až do 51 sec.

 

První rozšíření umožňuje volbu délky pulzu v rozsahu 200ms až 2s v krocích po 200ms. Teto rozsah by měl být dostatečný pro případné přizpůsobení pro většinu i atypických dekodérů výhybek. Po aktivaci vstupu (tlačítka), se čeká na jeho dočasování a teprve poté lze provádět obsluhu dalších. Toto platí pro vstupy (tlačítka) číslo 1 až 50.

Druhá úprava se týká vstupů (tlačítek) číslo 51 až 60. Ty vám umožní ovládání i dlouhých časů od 200ms do 51s. Dále jsou pravě pro tyto dlouhé časy tlačítka upravena do multitaskingu, kdy se nečeká na jejich dočasování a je možné volit další volby na tlačítkách. K samotnému přepnutí zpět dojde na pozadí, po dočasování. To umožní ovládat různé dekodéry  například pro přejezdy a zařízení, kde je potřeba dlouhého času.

Co se týká konfigurace, došlo jen ke změně hodnot zadávaných na řádku u proměnné “byte mode[]“.

Význam je podobným jako v předchozí verzi:

  • 0 – znamená, že výstup je spínán podle délky držení tlačítka, platí pro všechny vstupy (tlačítka)
  • 1-10 pro vstupy (tlačítka) číslo 1-50, určuje dobu sepnutí v rozsahu 200ms až 2s s krokem po 200ms.
    například pro první dvě tlačítka je nastaveno “5” to je tedy “5 x 0.2 = 1sec“. Volba dalších přepnutí je možná až po dočasování zvoleného.
  • 1-255 pro vstupy (tlačítka) číslo 51-60, určuje dobu sepnutí v rozsahu 200ms až 51s s krokem po 200ms.
    Zde v režimu multitasking, kde se nečeká na dočasování a lze další volby provádět i při běhu času.
    například pro dvě poslední tlačítka je nastaveno “60” to je tedy “60 x 0.2 = 120sec (2 minuty)“.

Ostatní nastavení zůstává totožné jako v návodu pro stavbu s popisem první verze programu v článku Arduino TCO – ovládací pult s Arduinem na XpressNet.

Co se týká nahrání nové verze software, postupujete stejně, jako v případě nahrávání do prázdné desky Arduina Mega. Opět vše podrobně popsáno v předchozím článku s návodem ke stavbě.

Celý program je zde, včetně komentářů u důležitých částí.

Pozorné oko čtenáře si ještě může povšimnout změn v deklaraci velikosti proměnných, to má vliv pouze na lepší používání prostředků procesoru a pak v případě, že uživatel při konfiguraci provede změnu mimo rozsah (chybu), nemělo by jít přeložit takto upravený kód a tím je uživatel varován, že někde udělal chybu.
Raději to uvádím, aby to nemátlo případné zájemce o úpravu kódu.

Zdrojový kód je možné stáhnout zde na konci článku, jako i přeložený soubor HEX.

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

TCO_pult. v0.22 - zdrojový kód
Titul : TCO_pult. v0.22 - zdrojový kód
Název souboru : TCO_pult.v0.22.ino (11 kB)
TCO_pult.v0.22.ino.mega - přeložený HEX
Titul : TCO_pult.v0.22.ino.mega - přeložený HEX
Název souboru : TCO_pult.v0.22.ino.with_bootloader.mega_.hex (40 kB)

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

______________________________________________________________________________________

______________________________________________________________________________________