Skip to content

Ovladani vystupu

Svata Dedic edited this page Oct 3, 2018 · 4 revisions

Table of Contents

Ovládání spínaných výstupů

Zapnutí a vypnutí

K zapnutí a vypnutí slouží příkaz

OUT:x:s
OUT:x:T
kde "x" je číslo výstupu (1-63) a "s" představuje stav. Základní stavy jsou 1, + zapnutí výstupu 0, - vypnutí výstupu T změna stavu - zapnutý výstup vypne, vypnutý zapne. Ke změně dojde okamžitě, je-li zapotřebí před nebo po vypnutí čekat, musí se použít příkaz WAT (viz dále). Sepnutí výstupů je možné kontrolovat ve výpisu příkazu INF, kde každému sepnutému výstupu odpovídá "1" v řádku "Out state".

Příklady:

OUT:1:1
OUT:2:-
Zapne výstup č. 1 (rozsvítí se zabudovaná LED v Arduinu), vypne výstup č. 2.

Impulz

Některá zařízení se spínají krátkým elektrickým pulzem, po kterém musí zůstat výstup opět vypnutý. Pulz se dá na výstup poslat příkazy

OUT:x:P
OUT:x:P:d
kde "d" je nepovinné, a představuje délku pulzu v jednotkách 1ms. Standardní pulz trvá 100ms. Po skončení pulzu zůstane výstup vypnutý. "Reverzní" operace k pulzu je vypnutí výstupu. Pozor: kvůli úspoře místa se uchovávají časy v jednotkách 50ms. Zadaný čas se zaokrouhlí.

Příklad: OUT:1:P:1000 OUT:2:P Sepne výstup č. 1 (LEDku Arduina) na dobu 1000ms = 1s. Výstup 2 sepne na

Konfigurace blikání

Popis "blikací sekvence" se musí provést zvlášť (důvod viz kód programu a datové struktury). Nejprve se nadefinují styly blikání (celkem 4 možné), následně lze výstup namísto prostého zapnutí nechat blikat (střídavě zapínat a vypínat) určitým stylem.

Blikání se konfiguruje jako

FLS:n:a:b:c
n
číslo blikacího stylu, 1-4.
a
délka zapnutí, v jednotkách 50ms
b
délka vypnutí, v jednotkách 50ms
c
počet cyklů, nebo 0 - opakovat neustále.
V případě určeného počtu opakování se příkaz považuje za dokončený (následující akce čekají, nespouští se) až po provedení stanoveného počtu cyklů. Poté se výstup vypne a pokračuje se další akcí sekvence. V případě trvalého opakování (hodnota 0) akce končí ihned, avšak výstup zustává blikat i nadále.

Blikací styly je možné definovat 4. Celkem může blikat 8 výstupů v jeden okamžik.

Příkaz FLS je konfigurační, nezazaznamenává se do akcí reagujících na tlačítka.

Zapnutí blikání

Blikání se zapne příkazem

OUT:x:F:y
kde "y" je číslo stylu blikání. Akce se ukončí buďto po stanoveném počtu bliknutí, nebo - pokud se bliká stále - ihned (přičemž výstup bliká i nadále).

Blikání lze zrušit nastavením výstupu na on nebo off (OUT:x:0, OUT:x:1). Další příkaz k blikání na daném výstupu zruší předchozí blikání. Zapnuté blikání se pro účely vyhodnocení stavu výstupu a podmínek (viz dále) považuje za "aktivní výstup" i v době kdy je výstup ve "vypnuté" fázi blikacího cyklu.

Jako speciální připad může ihned následující výstup blikat v protifázi, tzn. je zapnutý tehdy, když je hlavní výstup vypnutý a naopak. Blikání s protifází se provede příkazem

OUT:x:F:y:i
Do protifáze je možné přivést pouze výstup bezprostředně následující, nelze určit konkrétní výstup číslem jako u jiných akcí.