750TL ÜZERİ ÜCRETSİZ KARGO
 

Rotary Enkoder Modülü

  • 359,00 TL279,00 TL

Arduino projelerinin en çok kullanılan sensörü, Rotary Enkoder Modülü ALPGEN Robotics'te! Hemen şimdi incele!

Alışveriş Listeme Ekle

Karşılaştırma listesine ekle

Soru Sor

Vergiler Hariç: 279,00 TL

Stok Durumu: 44

Marka: ALPGEN Robotics

Ürün Kodu: 20220027

Garanti Süresi(Ay): 24

arduino sensör modülleri

ENCODER MODÜLÜ

Encoder sensör modülü, giriş birimi olarak kullanılan bir modüldür. Encoder yönü değiştiğinde farklı dijital çıkış vermektedir. 


Arduino uyumlu Rotary Encoder / Döner Enkoder Modülü çeşitli projelerde kolayca kullanabileceğiniz bir giriş birimidir. 5V ile çalışan bu encoder çıkışları dijital olup saat yönünde farklı saat yönünün tersinde farklı çıkış vermektedir.

arduino rotary enkoder modülü

Nerede Kullanılır?

Arduino ile robotik kodlama projelerinde rotary enkoder modülü ile ekranlar için menüler yapabilirsiniz. Sonsuz turdaki dönüş özelliği sayesinde özellikle LCD ekran projelerinde sıkça kullanılmaktadır.


Çalışma Voltajı
5V DC
Data Çıkışı
Dijital
En
40.58mm
Boy
52.3mm
Vida Delik Çapı
3.2mm
 Örnek Proje Devre Şeması
Bu projede encoder sensör modülü, okuduğu değeri seri porta yazdıracaktır. Encoder çevrildiğinde okuduğu değer değişecektir. Projede rotary enkoder modülü ile Arduino Uno Breadboard kullanılmıştır.


Encoder Modülü
Arduino Uno Breadboard
-5V
+GND
D1D3
D2D2
arduino rotary enkoder devresi ve örnek kod


Örnek Proje Arduino Kodu


/* ALPGEN Robotics 
// Encoder Modülü Kullanımı
// 15.05.2021 
// Soru ve Yardım İçin: proje@alpgenrobotics.com
// www.alpgenrobotics.com */

volatile unsigned int temp, counter = 0; //Bu değişkenleri encoder hareket ederken ve daha önceki konumu ile karşılaştırmak için kullanacağız
    
void setup() {
  Serial.begin (9600);
  pinMode(2, INPUT_PULLUP); // Arduinonun 2. pininin giriş ve dahili PULLUP dirençli olduğunun tanımlanması
  pinMode(3, INPUT_PULLUP); // Arduinonun 3. pininin giriş ve dahili PULLUP dirençli olduğunun tanımlanması
  
  /*  Aşağıda "interrupt" dediğimiz bölme,araya girme anlamları olan fonksiyonları tanımlıyoruz burada temel mantık şu;
   *  Bu pinlerdeki sinyalde değişiklik olduğu anda işlemci yaptığı işi yarım bırakıp bu pine bağlı fonksiyonu yapıp normal işlemlerine geri dönecek.
   *  Bu işlemi yaptırtabilemek için bu pinlere interrupt koyduğumuzu belirten kodu yazıyoruz.
   */
  
  
  //Burada 2 numaralı pinde sinyal seviyesi yükselidinde "Interrupt_fonksiyonu1" i çalıştır diyoruz
  attachInterrupt(digitalPinToInterrupt(2), Interrupt_fonksiyonu1, RISING);
   
  //Burada 3 numaralı pinde sinyal seviyesi yükselidinde "Interrupt_fonksiyonu2" i çalıştır diyoruz
  attachInterrupt(digitalPinToInterrupt(3), Interrupt_fonksiyonu2, RISING);
  }

  //Yukarıdaki kodda "Interrupt_fonksiyonu1" ve "Interrupt_fonksiyonu2" içerisinde ne olacağını en aşağıda belirledik
   
  void loop() {
  // Aşağıdaki if kodunda elimizdeki "counter" değeri ile kayıtlı olan "temp" değeri aynı mı onu kontrol ediyoruz aynı ise işlem yapmıyoruz fakat farklı 
  // ise "counter" değerimizi serial porta yazdırıyoruz ve yeni counter değerimizi "temp" değerine kayıt ediyoruz
 
  if( counter != temp ){
  Serial.println (counter);
  temp = counter;
  }
  }
   
  void Interrupt_fonksiyonu1() { 
    // bu fonksiyon 2 numaralı pinde sinyal değerimiz yükseldiğinde çalışıyor diğer pinin sinyaline bakıp saat yönünde yada tersine döndüğünü tayin ediyoruz
    // dönüş yönüne göre değeri arttırıp azaltıyoruz
  if(digitalRead(3)==LOW) {
  counter++;
  }else{
  counter--;
  }
  }
   
  void Interrupt_fonksiyonu2() {
     // bu fonksiyonda aynı üsteki fonksiyon gibi 3 numaralı pinde sinyal değerimiz yükseldiğinde çalışıyor diğer pinin sinyaline bakıp saat yönünde yada tersine döndüğünü tayin ediyoruz
    // dönüş yönüne göre değeri arttırıp azaltıyoruz
  if(digitalRead(2)==LOW) {
  counter--;
  }else{
  counter++;
  }
  }


Haftaiçi 15.00'a kadar verilen sipariş aynı gün kargolanır.

Son Sorular

Ürün hakkında soru sor

Yorumlar

Bu ürün için daha önce yorum yapılmadı.

Yorum Yap

Not: HTML'e dönüştürülmez!