Serial kütüphanesini bu iş için kullanmak bana çok tuhaf geldi. Bir UART veri akışından veri okuma yapılmıyor ki Tam olarak bu Serial kütüphanesi ile nasıl çalışması gerekiyor?
Ben olsam bunu ya ana döngüde sürekli enkoderi okuyarak yaparım yada kesme kullanırım.
Çevirme hızına bağlı olarak tek tük pals kaçırsa da bu kod doğru çalışıyor.Belki şu video işine yarar.
@Endorfin35+ 'e katılıyorum. Baud rate hızını arduinonun desteklediği en yüksek hıza çıkarıp ayrıca "direction" , "value" , "---" , kısımlarını da koddan çıkartırsanız ekrana veri basma kısmındaki gereksiz gecikmeyi en aza indirmiş olursunuz. Ekrana sadece yön ve data bilgisi basarsanız daha iyi olur. hatta yön için CW ile CWW terimleri yerine "saat yönüne doğru" cümlesini temsilen "d" , "saat yönünün tersine" cümlesini temsilen de "t" gibi tek harfli bir sembol kullanırsanız denetleyicinize yardım etmiş olurusunuz.Muhtemelen Serial kütüphanesi seni yavaşlatıyor ve ondan pals kaçırıyorsun...
Şuan için bana lazım olmasa da konuyu okuyan birine lazım olur düşüncesi ile sorunu çözmek adına eve geçince deneyeceğim. Bu kadarcık sapmanın bana hiç zararı yok. Hatta bunu öyle bir programlamalıyım ki normal çevirince tek tek atlasın, hızlı çevirince 10'ar 10'ar atlasın. Çünkü uçağa uçuş başı vermem gerektiğinde hızlıca 0 rakamından 200'e çıkmam gerekiyor.@Gokrtl
@Endorfin35+ 'e katılıyorum. Baud rate hızını arduinonun desteklediği en yüksek hıza çıkarıp ayrıca "direction" , "value" , "---" , kısımlarını da koddan çıkartırsanız ekrana veri basma kısmındaki gereksiz gecikmeyi en aza indirmiş olursunuz. Ekrana sadece yön ve data bilgisi basarsanız daha iyi olur. hatta yön için CW ile CWW yerine "saat yönüne doğru" cümlesini temsilen "d" , "saat yönünün tersine" cümlesini temsilen de "t" gibi tek harfli bir sembol kullanırsanız denetleyicinize yardım etmiş olurusunuz.
Arduinonun desteklediği en yüksek değer olan 115200 baud a çıkarıldı.@Gokrtl
@Endorfin35+ 'e katılıyorum. Baud rate hızını arduinonun desteklediği en yüksek hıza çıkarıp ayrıca "direction" , "value" , "---" , kısımlarını da koddan çıkartırsanız ekrana veri basma kısmındaki gereksiz gecikmeyi en aza indirmiş olursunuz. Ekrana sadece yön ve data bilgisi basarsanız daha iyi olur. hatta yön için CW ile CWW terimleri yerine "saat yönüne doğru" cümlesini temsilen "d" , "saat yönünün tersine" cümlesini temsilen de "t" gibi tek harfli bir sembol kullanırsanız denetleyicinize yardım etmiş olurusunuz.
Denerim ama bu işin sonu bir encoderi çalıştırmak için pcb hazırlamaya kadar gidecek ellamdata ve clk girişine birer tane 100nf bağlayıp kontansatörlerin diğer uçlarını da şaseye bağlayarak deneyebilirsiniz.
Valla bende youtube da yapanların tek bir pals kaçırmadan yaptıklarını görünce, ben neden yapamıyorum konusuna takıldığım için uğraşıyorum.Mevzu neden olduğunu anlamak. Sadece sizin konunuzla ilgili değil ama ben en çok bu noktalara takılıyorum. Yoksa dediğiniz gibi bu şekilde de iş görür.
Gokhan emin ol kacirmanin onune gecemessinArduinonun kendi sitesinden encoder ile ilgili kod buldum. Daha kısa tutulmuş ve daha stabil çalışıyor.
Ama yinede kaçak var. Youtube da bulduğum kodların hepside stabil çalışıyordu. Hiç kaçak olmuyordu. Ben 3-4 farklı biçimde kod denedim. Hepside kaçırıyor. Artık iki şeyden şüpheleniyorum. Ya encoderlar çok dandik yada benim bilgisayar ile haberleşmesinde bir sıkıntı var.
Dediğim gibi benim için hiç önemi yok ama adamların yaptığını görünce bozuluyorumGokhan emin ol kacirmanin onune gecemessin
Sana yok gibi gelir ama fark etmedigin anlarda hizlica cevirirken 1-2 tane kacirir.
Bu durum aslinda encoderin mekanik yapisindan kaynaklidir.
Hatta kacirma durumunu minimuma indirmek adina tonla paraya satilan encoderler mevcuttur.
Fakat nafile.
"Elektronikci plan yaparmis, murphy ise buna gulermis"