Tuşlu Rotary Encoder Modül Yapımı

Şu videoyu bir incele. O dediğin yere genelde timer yazılıyor. Sanırım ne kadar süre keseceğini belirtiyor.
4.dk dan başlatabilirsin.

Bu hintliler çok zeki oluyor abi havasından suyundan herhalde hindistanın.
O kadar garip ingilizce konuşuyorlar ki çat pat anlıyorum ama anladığım kadarıyla deneyeyim.
Bizde bulalım bu pico C/C++ SDK pdf'sini
 
Abi senin güç kaynağı bittikten sonra bir konu altında toplayalım bütün öğrendiklerimizi bırak türkçe içeriği dünyada yok arduino ide ile bu kadar ileri kullanıp paylaşım yapan.

Her rp pico ile arduino ide içeriği yapan blink yükleyip videoyu bitiriyor.
 
Abi senin güç kaynağı bittikten sonra bir konu altında toplayalım bütün öğrendiklerimizi bırak türkçe içeriği dünyada yok arduino ide ile bu kadar ileri kullanıp paylaşım yapan.

Her rp pico ile arduino ide içeriği yapan blink yükleyip videoyu bitiriyor.
İşin sıkıcı yanı o işte. Yaparken zevkli ama sonradan toparla, paylaş, video çek, editle filan proje bittikten sonra çok sıkıcı oluyor. Ama toparlarız. Sorun değil.
 
intt:
#define intrp 0

void setup() {
  pinMode(25, OUTPUT);
  pinMode(intrp, INPUT_PULLUP);

  attachInterrupt(intrp , kesme , LOW );//BAĞLI PIN LOW OLURSA KES
  Serial.begin(9600);
  //  attachInterrupt(intrp , kesme , HIGH );//BAĞLI PIN HIGH OLURSA KES
  //  attachInterrupt(intrp , kesme , FALLING );//BAĞLI PIN 1 DEN 0A DÜŞTÜĞÜ ANDA KES
  //  attachInterrupt(intrp , kesme , RISING );//BAĞLI PIN 0 DAN 1E ÇIKTIĞI ANDA KES
  //  attachInterrupt(intrp , kesme , CHANGE );//BAĞLI PINDEKI DEGISIME GORE KES(0-1 ARASI GECIS)(1-0 ARASI GECIS)

}

void kesme() {
  Serial.println("KESME");
  digitalWrite(25, LOW);
}

void loop() {
  digitalWrite(25, HIGH);
  delay(20000);
}

yaptık ya çalışıyor bu haliyle gayet güzel
 
intt:
#define intrp 0

void setup() {
  pinMode(25, OUTPUT);
  pinMode(intrp, INPUT_PULLUP);

  attachInterrupt(intrp , kesme , LOW );//BAĞLI PIN LOW OLURSA KES
  Serial.begin(9600);
  //  attachInterrupt(intrp , kesme , HIGH );//BAĞLI PIN HIGH OLURSA KES
  //  attachInterrupt(intrp , kesme , FALLING );//BAĞLI PIN 1 DEN 0A DÜŞTÜĞÜ ANDA KES
  //  attachInterrupt(intrp , kesme , RISING );//BAĞLI PIN 0 DAN 1E ÇIKTIĞI ANDA KES
  //  attachInterrupt(intrp , kesme , CHANGE );//BAĞLI PINDEKI DEGISIME GORE KES(0-1 ARASI GECIS)(1-0 ARASI GECIS)

}

void kesme() {
  Serial.println("KESME");
  digitalWrite(25, LOW);
}

void loop() {
  digitalWrite(25, HIGH);
  delay(20000);
}

yaptık ya çalışıyor bu haliyle gayet güzel
Harika. Bunu uygulayayım kısa zamanda.
@hafy de etiketleyelim kaçırmasın pico kesmesini.
 
İşin sıkıcı yanı o işte. Yaparken zevkli ama sonradan toparla, paylaş, video çek, editle filan proje bittikten sonra çok sıkıcı oluyor. Ama toparlarız. Sorun değil.
abi forumda yazarız video ile uğraşma biraz okuma alışkanlığı'da kazandıralım
 
Peki buradaki low - high mantığı doğru mu?
Sanki timer kullanmak gerek. Loop'un içine yazılan delay sıkıntı olabilir.
Abi düşündüm nası o delayı test ederim diye ama aklıma bişey gelmedi.
Kesme girdiği anda delayı tutuyor mesela delay 10. saniyedeyken kestin kesme bırakınca 10'dan mı devam ediyor yoksa 0a mı alıyor orayı test edemedim
 
IMG_20220407_121635.jpg

Buda hiçbir teknik geçerliliği olmayan ama kanıt barındıran test sonucum.

Picoya elektirk verirdiğim anda sayacı başlatıyorum.
Kestirdiğim anda bayrak veriyorum
Led tekrar yandığı anda sayacı durduruyorum
Delayı baştan başlatmıyor kaldığı yerden devam ediyor kesme bırakınca
 
Abi düşündüm nası o delayı test ederim diye ama aklıma bişey gelmedi.
Kesme girdiği anda delayı tutuyor mesela delay 10. saniyedeyken kestin kesme bırakınca 10'dan mı devam ediyor yoksa 0a mı alıyor orayı test edemedim
Neyse bakarız onada.
 
@insect23
Keypade kesme ekleyeyim diye uğraşıyorum ama biliyorsun keypad i2c ile bağlı.
Bağlı olduğu pinleri okuyorum 1 çıkıyor. Sonra tuşlara basıyorum ama hiç 0'a düşmüyorlar.
Böyle oluncada kesmeyi devreye sokamıyorum. Var mı bir fikrin?

keypad_interrupt.png
 
@insect23
Keypade kesme ekleyeyim diye uğraşıyorum ama biliyorsun keypad i2c ile bağlı.
Bağlı olduğu pinleri okuyorum 1 çıkıyor. Sonra tuşlara basıyorum ama hiç 0'a düşmüyorlar.
Böyle oluncada kesmeyi devreye sokamıyorum. Var mı bir fikrin?

16559 eklentisine bak
Abi keypad butonları fiziksel pinlere bağlı değil ona bizim yöntem ile kesme yapamazssın eğer fikri varsa büyük ustamızın vardır
 
Abi keypad butonları fiziksel pinlere bağlı değil ona bizim yöntem ile kesme yapamazssın eğer fikri varsa büyük ustamızın vardır
Senin yöntem ile encoderin butonuna kesme ekliyim dedim ama beceremedim.
Butona basınca normalde "Butona basıldı" yazması lazım ama onun yerine ekrana bin tane "KESME" yazıyor
 
Benim şu anda üzerinde çalıştığım projede de encoder okumam gerekiyor. Dönüş sinyalini kesme, A ve B sinyallerini de normal GPIO yapmayı düşünüyorum. İşlemci Renesas RA6M2.
 
Benim şu anda üzerinde çalıştığım projede de encoder okumam gerekiyor. Dönüş sinyalini kesme, A ve B sinyallerini de normal GPIO yapmayı düşünüyorum. İşlemci Renesas RA6M2.
Sayın @taydin encoderde malum olduğu üzere button, A ve B pinleri var ve döndüğünde A, B pinlerini manipüle ediyor. A ve B pinini normal GPIO yaptığınızda dönüş sinyalini kesme olarak nasıl elde edebilirsiniz?

Redmi Note 8 Pro cihazımdan Tapatalk kullanılarak gönderildi
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
6,142
Mesajlar
104,843
Üyeler
2,553
Son üye
trojann

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top