Arduino TCO – ovládací pult s Arduinem na XpressNet

 

Strana článku  …  2/4 —     Popis programu TCO a nastavení vstupů
————————————————————————————————

Změny v nastaveni Arduino TCO se provádí přímo v programu a následně se za pomocí propojovacího kabelu USB přenášení společně s programem do Arduino desky. Nad nastavování pomocí CV či podobným způsobeb jsem ani nepřemýšlel, protože mi to přijde jako kdybych chtěl posílat dlouhý text za pomoci “dálnopisu”, když mi vedle leží FAX :-)

Ale zpět k návodu. Uvedu zde program pro Arduino, ale není třeba rozumět všemu, jde jen o přehled, abych zde nevypisoval pouhé kousky a čitatel se pak ztratil v odkazech. I tak je program z pohledu programátora jednoduchý, většinu funkcí obstarávají knihovny (takové zásuvné moduly vytvořené pro nějakou konkrétní práci).

Pro uživatele jsou zajímavé pouze řádky 20 až 26. Z toho jsou řádky 20, 21 a 26 pouze komenty, které nic nenastavují a slouží pouze k lepšímu pochopení nastavení. V případě potřeby se budou upravovat pouze řádky 23, 24, 25. Pro lepší orientaci teď uvedu pouze tyto řádky, které vás budou zajímat.

Na řádku č. 20 jsou uvedeny čísla vstupů, tak jak jsou označeny na DPS (popis svorkovnic). Na řádku č. 21 pak vstupy, jak jsou označeny na desce Arduina. Tyto řádky jsou za znaky ” // ” které říkají překladači programu, že jsou to jen popisky programátora (stejně tak ještě řádek č. 26).
Mnohem zajímavější je řádek č. 23, kde je uvedena již adresa v systému. To znamená, že pokud ovládáte výhybku např. za pomoci MultiMouse, kde zadáte “1” pro ovládání výhybky s adresou “1“, tak v prvním sloupečku zadáte také číslo “1” a to samé pro druhý sloupeček, protože potřebujeme dvě tlačítka pro tuto adresu (rovně a do odbočky, stejně jako na MultiMouse máte dvě tlačítka).
O řádek níže (tedy řádek programu č. 24) nám definuje zda se bude jednat o tlačítko rovně nebo do odbočky. Zadáváme tedy “1” rovně nebo “0” do odbočky.
V posledním řádku říkáme, zda výstup se bude chovat pulzně nebo na délku stisku tlačítka. A to následovně “1” pulz nebo “0” dle délky stisku. 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).

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 60
 – u posledních čtyř tlačítek (56-60) si můžete povšimnout, že mají pro ukázku nastavenu reakci na délku stisku tlačítka.

Zde se nám projevují hned dvě zajímavé vlastnosti tohoto provedení TCO, prvním je možnost definování adres pro jednotlivé tlačítkové vstupy plně dle libosti. A druhou je pak možnost nezávislého nastavení chování rekce tlačítka.
Další zajímavou možností je jako přepínací prvky použít přímo přepínače, které budou rovnou zobrazovat stav výhybky. To je vhodné, pokud budeme používat pro ovládání výhybek pouze TCO. V případě použití přepínačů je třeba jen dodržet nastavení na “pulzní stav” tedy hodnotu “1” v posledním řádku nastavení. Při používání přepínačů místo tlačítek má ještě jednu zajímavou vlastnost a tou je po spuštění systému (připojení TCO), dojde k přenastavení výhybek do nastaveného stavu podle přepínačů na TCO.

Myslím, že tento systém je to nejjednodušší co se dalo vymyslet. Samotný překlad je také velice snadný. Pokud by však někdo měl obavy, zkuste napsat, na kterém vstupu jakou adresu chcete a já se vám pokusím odpovědět nebo přímo přeložit program.

Jinak pokud nepoužijete některé vstupy (tím je míněno, že nebudou připojena tlačítka), tak i přesto je třeba je mít obsazeny adresou, klidně stále stejnou, třeba “1”. Z tohoto je dále patrné, že adresy se klidně mohou opakovat. Více vstupů/tlačítek může mít stejnou adresu.

Jako oddělovač jednotlivé hodnoty (čísla) slouží “,“(spodní čárka) , “mezery” jsou pouze pro zarovnání hodnot pod sebou a v programu nemají význam. Jde jen o lepší orientaci v kódu.

Tímto je doufám všem jasné, jak je možné s kódem zacházet a jak TCO nastavovat. Na další stránce se zaměříme na samotný překlad programu a následné nahrání do Arduina TCO.

______________________________________________________________________________________

______________________________________________________________________________________