ユーザ用ツール

サイト用ツール


ja-jp_commands:reference:itmr

Itmr()

Itmr()は(Retentive Timer)条件がONの時間を積算し、Reset入力で初期化します。

Itmr コマンドの動作フロー

bool Itmr(uint8_t timer_id, bool state, unsigned long delayTime, bool reset = false)

コマンド

コマンド 引数 戻り値 動作
Itmr(timer_id, state, delayTime, reset) uint8_t timer_id — タイマ番号。0 ~ 255の範囲で使用可能
bool state — タイマ入力状態
unsigned long delayTime — 設定時間。単位はms
bool reset = falseItmr積算値の初期化
bool (Retentive Timer)条件がONの時間を積算し、Reset入力で初期化します。

使用例

MPINO-8A4R(T)-Sを選択した例です。入力P0と出力P32を使用し、loop()を止めずに毎回コマンドを呼び出します。 P0のON時間を累積し、3秒でP32をONにします。P0がOFFでも累積値を保持し、P1で初期化します。

const uint8_t RUN_INPUT = 0;
const uint8_t RESET_INPUT = 1;
const uint8_t OUTPUT_PIN = 32;
 
void setup() {}
 
void loop() {
  const bool run = digitalRead(RUN_INPUT) == HIGH;
  const bool reset = digitalRead(RESET_INPUT) == HIGH;
  const bool elapsed = Itmr(0, run, 3000, reset);  // ON時間だけを累積し、resetがtrueなら初期化します。
  digitalWrite(OUTPUT_PIN, elapsed ? HIGH : LOW);
}

注意事項

  • 経過時間と入力OFFを処理するため、タイマコマンドをloop()で繰り返し呼び出します。
  • 異なるタイマ動作で同じtimer_idを共有すると状態が混ざるため、別の番号を使用します。
  • resetがtrueなら累積時間と完了状態が初期化されます。

同じカテゴリの内蔵コマンド

ja-jp_commands/reference/itmr.txt · 最終更新: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki