TÜM TÜRKİYE KARGO 74.90₺ | 750₺ ÜZERİ ÜCRETSİZ

Arduino Rotary Enkoder Modülü

WHATSAPP İLE SİPARİŞ VER

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
En40.58mm
Boy52.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 */volatileunsignedinttemp,counter=0;//Bu değişkenleri encoder hareket ederken ve daha önceki konumu ile karşılaştırmak için kullanacağız   voidsetup(){ 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   voidloop(){ // 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; } }   voidInterrupt_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--; } }   voidInterrupt_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++; } }
TESLİMAT
 
Ürünü sipariş verdiğiniz gün saat 18:00 ve öncesi ise siparişiniz aynı gün kargoya verilir.Ve ertesi gün teslim edilir.

Eğer kargoyu saat 18:00`den sonra verdiyseniz ürününüzün stoklarda olması durumunda ertesi gün kargolama yapılmaktadır.
 
Bu ürün için henüz yorum yapılmadı.
Benzer Ürünler
Size nasıl yardımcı olabiliriz?
Yükleniyor...