チャタリング

異常な係数
 スイッチの押し下げ回数を計数する場合、異常な計数が起こります。よく起こる異常は、スイッチを押し下げたときでなく、スイッチを離したときにも計数してしまいます。また、一回の押し下げで数回の係数をすることもあります。
 この現象は機械式スイッチのチャタリング現象として知られています。機械式スイッチは、振動などで押したら離すときに、複数のオン/オフを繰り返してしまいます。この余分な断続がミスカウントを引き起こします。

対策
 一つの対策は、スイッチ回路に 抵抗ーコンデンサ 充電回路接続する方法です。
右上の回路で、コンデンサは通常充電されています。スイッチをオンにすると、コンデンサを放電して電圧が下がります。このとき、スイッチがチャタリングしても、コンデンサの電圧は急変しないのでミスカウントしません。
 スイッチを離すと、コンデンサは充電しながら、電圧が上がります。ここでも、チャタリングによるオン・オフをコンデンサが軽減してくれます。

立ち上がり
 この回路でコンデンサの値を増やすと、チャタリングの抑止に有効ですが、大きくしすぎると今度は、変化が遅くなるため、状態変化による割り込みが起こらなくなります。
 コンデンサを10μF程度にすると、エッジ(上がり、下がり)による処理がかかりません。