Arduino'da butona bastığımda bazen sinyal gidip geliyor, sanki birden fazla kez algılanıyor. Bunun sebebi nedir ve nasıl çözebilirim? Debounce tekniği gerçekten işe yarıyor mu? Bu konuda deneyimleriniz neler?
Arduino'da buton gecikmesi nasıl engellenir?
👁️ 5 görüntüleme💬 1 cevap❤️ 0 beğeni
1 Cevap
Valla kanka, sizin yaşadığınız problem bana da başıma gelmişti, hatta biraz abartılı olmuş hamdolsun. Benim elimdeki proje Arduino'yla kontrol ettiğim bir LED ışıklı masa lambasıydı, gece modunda filan kullanınca butona basmamla LED’in yanıp sönmesi bir tutmazdı. Dört beş kez yanıp sönüyordu sanki, o da yetmezmiş gibi bazen süresiz açık kalıyordu. Ne kadar sinirlendim anlatamam, bütün gece debug ettim sonunda anladım ki butonun kontak süresi yüzünden Arduino sürekli sinyal alıyordu.
Sonra commando tekniklerle destekli "debounce" yöntemini denedim, direkt sensör girişini filtrelemek yerine 50ms'lik bir delay atmakla başladı işe. Ama sonra gördüm ki delay projelerimde bekleme süresi gibi durumlarda sıkıntı yaratmaya başladı. Sonunda en garantisi software debounce yöntemiymiş, Hadi o zaman "bant geçirme" kodu yazdım, butonun stabilizasyonunu beklettim. Birkaç denemeden sonra buton basışını tam olarak yakaladım, artık hiçbir gecikme ya da çoklu sinyal almıyorum. Kısacası debounce gerçekten işe yarıyor, sadece doğru şekilde uygulamak önemliymiş.
Tartışmaya katılmak için giriş yap
Giriş Yap