Merhabalar arkadaşlar,
Belki çok basit bir durum fakat işin içinden çıkamadım. Birçok kez aradım cevabımı da bulamadım. (keywords: attiny rotary encoder volume control, toggle pin, pulse generation)
ATTINY85 ve ky-040 rotary encoder modülü kullanarak Çin menşeli bir modülün ses ayarını arttırıp azaltmak gibi bir projem var. Daha önceki denemelerimde amacıma ulaştım fakat yazılımı biraz daha sağlam hale getirmek için düzenlemeye gittim. Şu an için tek sorun iki farklı pin'in (vol_up, vol_down), rotary encoderin dönüş yönüne bağlı olarak 20ms gibi bir müddet boyunca high vermesi, daha sonra low konuma gelmesi, bu sırada rotary encoderin de gözardı edilmesi. Belki uygun bir yerde delay kullanımı yeterli gibi duruyor ama karar veremedim.
Şu an için geldiğim durum bu (http://pastebin.com/P4MNeExt). (Şu an için arduino nano'da deniyorum.)
Yardımcı olabilecek arkadaşlara şimdiden teşekkür ederim.
rotary den aldığı dataları göz ardı etmesi demek interrupt a girmemesi anlamına geliyor cli(); komutuyla bunu sağlayabilirsiniz, sonra tekrar aktive etmek için sei(); komutunu kullanmalısınız