Debouncingは、ボタン入力の信頼性のある読み取りを確保するために、マイクロコントローラプログラミングで使用される技術です。 ボタンが押されたり、解放されたら、誤ったトリガーを引き起こし、機械的な振動による複数の信号を生成できます。 バリニングを実施すると、これらの不要な信号をフィルタリングし、ボタンプレスの正確な検出を保証します。

脱線とは?

ボタンの物理的な接触のバウンスによって引き起こされる騒音を除去するプロセスです。ボタンが押された場合、接触は、設定する前に数回接続し、切断する可能性があります。 開封せずに、これらの急速な信号は複数のプレスとして誤認することができます。

脱線方法

Arduino でデバインを実装する2つの一般的な方法があります。

  • []ソフトウェアのデバッグ:[]]]]を遅延またはボタンの状態を時間をかけて確認して安定した信号を確認します。
  • ] ハードウェアのデバッグ:[[] 信号を滑らかにするために、RCフィルタやSchmittトリガーなどの電子部品を使用します。

ソフトウェアのデバッシングの実装

一般的にArduinoプロジェクトでソフトウェアのデバインは使用されます。 ボタンの状態を読んだり、短期間待ってから状態が変更されていないか確認したりします。 このプロセスは、バウンスによって引き起こされる偽のトリガーを減らします。

ニペット例コード:

[ int ボタンを合成 = 2;]

[]int ボタン ステータス = 0;[

[ 長い lastDebounceTime = 0; を省略しました。]

符号なし長デバウンス遅延 = 50;

void loop() {

読み込む int = デジタル読み取り(buttonPin);]

の場合 (!= ボタン ステータスを読み込みます) {

最後の出勤時間 = ミリシス();]]

〔FLT:0〕

[ (((() - lastDebounceTime) > debounceDelay) {[]]

ボタン ステータス = 読み込み;[

ふりがな

ふりがな