Rotary Enkoder Modülü
- 359,00 TL279,00 TL
Vergiler Hariç: 279,00 TL
Stok Durumu: 44
Marka: ALPGEN Robotics
Ürün Kodu: 20220027
Garanti Süresi(Ay): 24
Arduino projelerinin en çok kullanılan sensörü, Rotary Enkoder Modülü ALPGEN Robotics'te! Hemen şimdi incele!
Vergiler Hariç: 279,00 TL
Stok Durumu: 44
Marka: ALPGEN Robotics
Ürün Kodu: 20220027
Garanti Süresi(Ay): 24
ENCODER MODÜLÜ
Çalışma Voltajı | 5V DC |
Data Çıkışı | Dijital |
En | 40.58mm |
Boy | 52.3mm |
Vida Delik Çapı | 3.2mm |
Encoder Modülü | Arduino Uno Breadboard |
- | 5V |
+ | GND |
D1 | D3 |
D2 | D2 |
Ö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.
Bu ürün için daha önce yorum yapılmadı.
Benzer Ürünler
Teknopark Ankara 2224. Cadde B Blok No:1/116 - BUZ-32 Yenimahalle/ANKARA
0312 395 07 64
info@alpgenrobotics.com