Yeni Açılan Kurumlara Ücretsiz   •   Yeni Açılan Kurumlara Ücretsiz   •   Yeni Açılan Kurumlara Ücretsiz   •   Yeni Açılan Kurumlara Ücretsiz   •   Yeni Açılan Kurumlara Ücretsiz   •   Yeni Açılan Kurumlara Ücretsiz   •   Yeni Açılan Kurumlara Ücretsiz   •   Yeni Açılan Kurumlara Ücretsiz   •  

Anaokulu veya eğitim kurumunuz için kodlama eğitimi mi arıyorsunuz? Hemen İletişime Geç
Arduino

Rotary Encoder: Sonsuz Dönen Düğme

2 dk okuma

Sonu olmayan bir düğme: encoder'ın dönüş yönünü nasıl anladığını ve potansiyometreden farkını anlattık.

Rotary encoder, sonuna kadar çevirdiğinizde durmayan bir döner düğmedir. Potansiyometre gibi bir konum bildirmez; ne kadar ve hangi yöne çevrildiğini bildirir.

Yönü nasıl anlıyor?

Encoder'ın içinde iki ayrı temas vardır ve bunlar birbirine göre kaydırılmış biçimde açılıp kapanır. Çıkışta A ve B diye iki sinyal görürsünüz.

Sırayı okumak yönü verir:

  1. Saat yönünde çevirirken önce A değişir, sonra B.
  2. Ters yönde çevirirken önce B değişir, sonra A.

Kod, bir sinyalin değiştiği anda diğerinin durumuna bakar. İkisi farklıysa bir yön, aynıysa diğer yön. Bütün mesele bu karşılaştırmadır.

Potansiyometreden farkı

PotansiyometreRotary encoder
SınırVar, uçtan ucaYok, sonsuz döner
BildirdiğiMutlak konumDeğişim ve yön
OkumaAnalogDijital
Güç kesilinceKonum korunurYazılım hatırlamalıdır

Bir ses seviyesi düğmesi için potansiyometre yeterlidir. Bir menüde gezinmek ya da sayıyı bir bir artırmak için encoder çok daha uygundur.

Kaçırılan adımlar

Encoder'ı hızlı çevirdiğinizde kart bazı adımları kaçırabilir; menü yavaş ilerliyormuş gibi görünür. İki yaygın çözüm vardır: sinyalleri kesme (interrupt) ile okumak ya da döngüyü hafifletmek. Kesme kullanmak, döngüde ne olursa olsun adımın yakalanmasını sağlar.

Çoğu encoder'da milin üzerine basıldığında çalışan bir de buton bulunur. Bu, "seç" eylemi için ayrı bir tuş gerektirmez — döndür, bas, seç.

Hızlanma (acceleration)

Bir menüde yüz kademeyi tek tek çevirmek yorucudur. Çözüm, çevirme hızına bakmaktır: encoder hızlı çevriliyorsa adım büyüklüğünü artırırsınız. Yavaş çevirince birer birer, hızlı çevirince onar onar ilerler.

Bu, mekanik bir düğmeyi yazılımla akıllı hâle getiren küçük ama etkili bir dokunuştur; profesyonel cihazların çoğunda vardır.

Kalitesiz encoder'lar

Ucuz encoder'larda mekanik temaslar gürültülüdür ve bazen yön yanlış okunur — düğmeyi tek yöne çevirirken sayı ara ara geri gider. Küçük kondansatörlerle basit bir filtre ya da kodda ardışık iki okumayı karşılaştırmak bunu büyük ölçüde düzeltir.

Sorun devam ediyorsa neden neredeyse her zaman parçanın kendisidir; kodda daha fazla uğraşmak vakit kaybıdır.

Analog karşılığı için potansiyometre yazımıza bakabilir, HipoCodes devre simülasyonunda encoder'ı deneyebilirsiniz.

Etiketler

  • rotary encoder
  • döner enkoder
  • menü
  • arduino
  • robotik kodlama
  • elektronik

Bunlar da ilginizi çekebilir