ユーザ用ツール

サイト用ツール


ja-jp_commands:ibounce

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
ja-jp_commands:ibounce [2026/09/07 21:53] – 만듦 - 바깥 편집 127.0.0.1ja-jp_commands:ibounce [2026/10/25 10:18] (現在) – 外部編集 127.0.0.1
行 1: 行 1:
 ====== Ibounce() ====== ====== Ibounce() ======
  
-''Ibounce()''は入力状態が指定した時間変化せずに維持された値を返す関数です。入力の短い変動や機械式スイッチのチャタリングが発生しても、安定した状態だけを返します。+''Ibounce()''は入力状態が指定時間にわたって変化しなかった場合、その安定した状態を返す関数です。入力の短い変動や機械式スイッチのチャタリングが発生しても、安定した状態だけを返します。
  
 この関数は''delay()''のようにプログラムを停止しないため、''loop()''で継続的に呼び出せます。 この関数は''delay()''のようにプログラムを停止しないため、''loop()''で継続的に呼び出せます。
行 16: 行 16:
 ===== 使用例 ===== ===== 使用例 =====
  
-次の例ではMPAINOの最初のデジタル入力''0''を50msフィルタ処理し、最初のデジタル出力''64''に渡します。+この例では、MPAINOのデジタル入力''0''を50 msの安定時間でフィルタリングし、その結果をデジタル出力''64''に反映し、状態が変化したときだけシリアルモニターへ記録します。
  
 <code cpp> <code cpp>
 +const uint8_t INPUT_CHANNEL = 0;
 +const uint8_t OUTPUT_CHANNEL = 64;
 +
 +void setup() {
 +  Serial.begin(115200);
 +}
 +
 void loop() { void loop() {
-  // 入力0の状態が50ms変わらない場合、保持された値を返します。 +  const bool inputState = Ibounce(INPUT_CHANNEL, 50);  // 入力状態が50 ms継続したら、安定したON・OFF値を返します。 
-  bool inputState = Ibounce(0, 50); +  digitalWrite(OUTPUT_CHANNEL, inputState ? HIGH : LOW); 
-  digitalWrite(64, inputState);+ 
 +  static bool previousState = false; 
 +  if (inputState != previousState) { 
 +    previousState = inputState; 
 +    Serial.println(inputState ? F("input ON") : F("input OFF")); 
 +  }
 } }
 </code> </code>
行 29: 行 41:
  
   * ''Ibounce()''はONとOFFの両方向に同じ安定時間を適用します。   * ''Ibounce()''はONとOFFの両方向に同じ安定時間を適用します。
-  * ''loop()''で短い周期で継続的に呼び出してください。呼び出し間隔が長いと入力状態の反映も遅くなります。+  * ''loop()''内で、短い間隔を保ちながら繰り返し呼び出してください。呼び出し間隔が長いと入力状態の反映も遅くなります。
   * ''debounceTime''を長くするとノイズに強くなりますが、正常入力への応答もその分遅くなります。   * ''debounceTime''を長くするとノイズに強くなりますが、正常入力への応答もその分遅くなります。
-  * ''pin''は使用する製品の入力番号基準に従ってください。MPINOは製品別のArduinoデジタル入力ピン番号、対応するMPAINOは''0''から始まる論理入力番号を使用します。+  * ''pin''は使用する製品の入力番号基準に従ってください。MPINOでは製品別のArduinoデジタル入力ピン番号、MPAINOでは''0''から始まる論理入力番号を使用します。
   * 無効なピン番号を指定すると''false''を返します。   * 無効なピン番号を指定すると''false''を返します。
 +
 +
 +===== 同じカテゴリの内蔵コマンド =====
 +
 +  * [[:ja-jp_commands:reference:idigitalread|IdigitalRead() 詳細説明を見る]]
 +  * [[:ja-jp_commands:reference:ibounceon|IbounceOn() 詳細説明を見る]]
 +  * [[:ja-jp_commands:reference:ibounceoff|IbounceOff() 詳細説明を見る]]
  
 [[:ja-jp_commands:builtin|← 内蔵コマンド一覧]] [[:ja-jp_commands:builtin|← 内蔵コマンド一覧]]
  
ja-jp_commands/ibounce.1788785588.txt.gz · 最終更新: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki