Closed7

光学式の無接点プッシュスイッチとチャタリング

こまきちこまきち

この件で、チャタリング対策してる??って大先輩からツッコミをいただいたので、ちゃんと調べる。
そういうツッコミしてくださる先輩に感謝。

こまきちこまきち

ChatGPT 4oに聞いてみた。

総合的な対策

  • デバウンス回路:
    - ハードウェアデバウンスやソフトウェアデバウンスを用いて、ノイズや瞬間的な信号変動を平滑化し、チャタリングを防ぐことができます。
  • ノイズフィルタ:
    • 電源ラインにフィルタを追加したり、シールドを使用して外部からの干渉を防ぐことが効果的です。

結論
光学式の無接点プッシュスイッチでは、機械的なスイッチに比べてチャタリングの発生が大幅に減少します。しかし、完全に排除されるわけではないため、適切なデバウンス処理やノイズ対策を行うことが重要です。

こまきちこまきち

ソフトウェアデバウンスは実装済みだった。

def debounce(pin, debounce_time=0.02):
    
    start = time.time()

    while time.time() - start < debounce_time:
        if GPIO.input(pin) != GPIO.LOW:
            return False
    
    return True

こまきちこまきち

ハードウェアデバウンスとノイズフィルタは完全に知識不足なので別の機会に体系的に学習する。
あとコンデンサ今持ってない。

このスクラップは3ヶ月前にクローズされました