İnşaat & Yapısal Mühendislik
Arduino Düğme Girişlerinde İyileştirme ve Uygulamayı Anlama ve Uygulamayı Öğrenin
Table of Contents
Debouncing, bu istenmeyen sinyalleri filtrelemek ve düğme basınlarının doğru tespitini sağlamak için mikro kontrol programlamada kullanılan bir tekniktir.Bir düğme basıldığında veya serbest bırakılırsa, mekanik titreşimler nedeniyle birden fazla sinyal oluşturabilir, yanlış tetikleyicilere neden olur. Implementing debouncing bu istenmeyen sinyalleri filtreye yardımcı olur ve düğme basınlarının doğru tespitini sağlar.
Ne defekte?
Debouncing, bir düğmenin basıldığı fiziksel temas tarafından kaynaklanan gürültüyü ortadan kaldırmak ve yerleşmeden birkaç kez bağlantı kurmak için hızlı bir şekilde bağlantı kurmaktır.
Debouncing yöntemleri
Arduino'da dezenfekte etmek için iki ortak yöntem vardır:
- [FONT:0)Software Debouncing:[Döneticiler bir gecikme ekledi veya sabit bir sinyal onaylayacak zaman içinde düğme durumunu kontrol eder.
- [FONT:0)Zizman Debouncing:[Dönetici:[Dönetici: · 1 ) RC filtreleri veya Schmitt gibi elektronik bileşenleri sinyalden uzaklaştırmak için tetikler.
Yazılım Debouncing
Yazılım debouncing, Arduino projelerinde yaygın olarak kullanılır.Bu, kısa bir süre boyunca bekleyen düğme durumunu okumak ve sonra durum değişmemiş olup olmadığını doğrulayın.Bu işlem, bouncing tarafından sebep edilen yanlış tetikleyicileri azaltır.
Örnek kod parçaları:
[FONT=0]0.Int düğmesinePin = 2;).
[0]Dönemli düğmeState = 0;[Dönem: 1)
[FONT=0] Son zamanlarda uzun süre yemin etti = 0;).
[FONT=0]) Uzun bir kınayan nefse yemin ederim; ).
[0]) {[0][/FONT][/FONT][/FONT][/FONT][/TRNT][/FONT][/TRNT][/FONT][/TRNT][/FONT][/FONT][/TRNT=)
[0] Okunma = dijital okuma (buttonPin); ).
[FONT=0) Eğer (okuma) ise (geçmiş) {[Döntgen:0)
[Dönem:0) sonDebounceTime = milis();).
[FONT:0)[[Dönem: 1)
[Küreselâm-ı Hakka yemin olsun ki, Âdem-i İmran-i İmran-ı Hakk'a yemin olsun.
[0] düğmesine tıklayınız.
}
}