Witam,
sprzętowe maskowanie drgań styków wymaga zastosowania odpowiednio dobranego dolnoprzepustowego filtru RC. Wskazane jest również użycie bramki z histerezą dla uniknięcia niezdefiniowanych poziomów logicznych na wejściu procesora.
Znacznie łatwiej oraz bez żadnych dodatkowych kosztów można zrobić to programowo. Najbardziej elegancko można zrobić to za pomocą przerwania zegarowego (dajmy na to 10 ms). W programie obsługi tego przerwania należy czytać aktualny stan styków i porównywać go ze stanem poprzednim, to znaczy odczytanym w poprzednim przerwaniu (oczywiście trzeba ten poprzedni stan pamiętać). Jeżeli oba stany są identyczne, oznacza to, że styk jest w stanie stabilnym (stabilnie zwarty lub stabilnie rozwarty). Ten stabilny stan należy skopiować do odpowiedniej zmiennej i z niej korzystać. Finalnie należy aktualny stan skopiować do poprzedniego, będzie potrzebny w następnym przerwaniu.
Eleganckim sposobem na porównywanie stanów jest operacja ex-or.
Pozdrawiam