ユーザ用ツール

サイト用ツール


ja-jp_commands:ibounce

文書の過去の版を表示しています。


Ibounce()

Ibounce()は入力状態が指定した時間変化せずに維持された値を返す関数です。入力の短い変動や機械式スイッチのチャタリングが発生しても、安定した状態だけを返します。

この関数はdelay()のようにプログラムを停止しないため、loop()で継続的に呼び出せます。

Ibounce入力フィルタの動作

コマンド

bool Ibounce(uint8_t pin, uint32_t debounceTime)

コマンド 引数 戻り値 動作
Ibounce(pin, debounceTime) pin: デジタル入力ピンまたは論理入力番号
debounceTime: 状態維持時間(ms)
bool 入力状態が指定時間変わらない場合、保持された値を返します。

使用例

次の例ではMPAINOの最初のデジタル入力0を50msフィルタ処理し、最初のデジタル出力64に渡します。

void loop() {
  // 入力0の状態が50ms変わらない場合、保持された値を返します。
  bool inputState = Ibounce(0, 50);
  digitalWrite(64, inputState);
}

注意事項

  • Ibounce()はONとOFFの両方向に同じ安定時間を適用します。
  • loop()で短い周期で継続的に呼び出してください。呼び出し間隔が長いと入力状態の反映も遅くなります。
  • debounceTimeを長くするとノイズに強くなりますが、正常入力への応答もその分遅くなります。
  • pinは使用する製品の入力番号基準に従ってください。MPINOは製品別のArduinoデジタル入力ピン番号、対応するMPAINOは0から始まる論理入力番号を使用します。
  • 無効なピン番号を指定するとfalseを返します。

← 内蔵コマンド一覧

ja-jp_commands/ibounce.1788785588.txt.gz · 最終更新: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki