maus tekerleği ?

Başlatan papsukkal, 09 Eylül 2008, 23:06:47

papsukkal

mausların tekerleklerini pik ile nasıl kullanabiliriz bu konuda daha önce çalışan varmı?

aletin içini söktüm parçaladım ama çalışma prensibi hakkında fikir edinemedim. tek gördüğüm üç bacak aynı anda kısadevre oluyor, aynı anda açık devre oluyor.  bilgisayarda gördüğümüz yukarı aşağı hareketi picte nasıl tanıtabiliriz?

Tagli

Fareyi parçalamadan PS/2 iletişimini kullanarak dene bence. Yanlış hatırlamıyorsam 4 byte veri yolluyordu, gerçi sen bunun sadece bazı bölümlerini kullanacaksın. Bu siteye bir bak.

"Ben parçalamaya kararlıyım." diyorsan; benim bu konuda deneyimim yok (aslında yukarda bahsettiğim konuda da yok) ama büyük ihtimalle ikili bir photogate benzeri birşey vardır. Eğer hangi yönde döndüğünün bir önemi yoksa tek birini de kullanabilirsin.

Düzeltme: Şimdi açıp baktım da photogate olmadığı açık. Yaptığım denemelerde üç farklı durum buldum ama kaçırdığım başka durumlar da olabilir:
1) Tüm bacaklar birbirine bağlı (Normal konumda)
2) Tüm bacaklar bağlantısız (Normal konumda ve geçiş sırasında)
3) Orta bacak bağlantısız, yandakiler birbirine bağlı (Geçiş sırasında)

Geçiş sırasında derken bir kademe dönmenin ortasından bahsediyorum (benim fare tekerleği çıt çıt eder gibi kademe kademe dönüyor). Geçiş sırasında hepsinin bağlantısız olduğu bir durumla karşılaşmam ortayı tam tutturamamış olmamdan kaynaklanıyor da olabilir. Deneme işi biraz zahmetli olduğu için fazla uğraşmadım, vardığım sonuçlar hatalı olabilir, zaten tam değiller.
Gökçe Tağlıoğlu

papsukkal

Alıntı yapılan: "Tagli".

"Ben parçalamaya kararlıyım." diyorsan; ............


elimde daha önceden parçaladığım mauslar var. zaten derdim tekerleği hangi yöne çevirdiğimi ve ne kadar çevirdiğimi anlamak. yani şöyle düşünülebilir. pic ile bir menu hazırladım ve menüde gezinmek için bunu kullanacağım

Tagli

Alıntı yapılan: "FxDev"Daha güzel bir soru soralım. Tekerleği hangi yöne döndürdüğümüzü hangi algılayıcılarla algılamalıyız??

Yeni bir algılayıcıya ihtiyaç olduğunu sanmıyorum. Sonuçta farenin içindeki mevcut parça hangi yönde döndüğünü anlayabiliyorsa biz de bunu kullanabiliriz, tek sorun nasıl çalıştığını anlamak. Toplu farelerde X-Y eksenleri için ikili photogate'ler kullanılıyor, bunlardan gelen sinyaller yorumlanarak yön belirlenebiliyor ama tekerlekte daha farklı mekanik bir düzenek kullanılmış.
Gökçe Tağlıoğlu

nurim

Alıntı yapılan: "papsukkal"mausların tekerleklerini pik ile nasıl kullanabiliriz bu konuda daha önce çalışan varmı?

aletin içini söktüm parçaladım ama çalışma prensibi hakkında fikir edinemedim. tek gördüğüm üç bacak aynı anda kısadevre oluyor, aynı anda açık devre oluyor.  bilgisayarda gördüğümüz yukarı aşağı hareketi picte nasıl tanıtabiliriz?

Maus tekerleğinin çalışması.........



Maus tekerleğinin hareketi 4 konumda tamamlanır.

( 0-0 ),( 1-0 ),( 1-1 ),( 0-1 )

Maus'un konum değişikliği (ileri-geri) nasıl anlaşılır?Burada yütülen mantık nedir?Basit olarak açıklarsak....
Dikkat edilecek olursa,hiç bir konum diğerinin aynısı değildir.Yani ileri harekette ( 0-0 ),( 1-0 ),( 1-1 ),( 0-1 )sıralamasını takip ederken;geri harekette ise, bu hareketlerin tersi olan ( 0-1 ),( 1-1 ),( 1-0 ),( 0-0 ) konumlarını takip eder.
Eğer biz mevcut konumumuzu,hareketimizden (ileri yada geri) sonraki konumla karşılaştırarak hareketimizin ne olduğunu anlayabiliriz.
Mesela konumumuz ( 1-1 ) olsun,hareketten sonraki konumu okuduğumuzda,bu konum bilgisi ya ( 1-0 ) dır;yada ( 0-1 ) dir.Bu ne anlama gelir; okuduğumuz değer ( 1-0 ) ise ,hareketimiz ileri eğer ( 0-1 ) ise hareketimiz geri demektir.Diğer tüm konumlarda da aynı sonuç elde edilir.Bu şekilde hareketimiz, ilerimi ?, gerimi ? anlamış oluruz.
PİC programında da aynı mantık kullanılabilir.

Kolay gelsin
nurim
"Bilgi paylaştıkça artar ,acı ve keder paylaştıkça azalır"

ipek

http://anonymouse.org/cgi-bin/anon-www.cgi/http://www.geocities.com/adi001/mouse.htm

burada bir uygulama mevcut sanırım fikir verir

aslında Nurim hocam anadilimizde açıklamış....

papsukkal

@nurim ve @ipek hocam cevaplarınız için teşekkür ederim.

@ipek hocam verdiğiniz linkte güzel açıklamalar var ancak anladığım kadarıyla mous tekerleğinin optik olarak kontrolunü açıklamış. bana mekanik olanı lazım.

@nurim hocam ben de sizin açıkladığınız gibi tahmin ederek işe giriştim ancak yaptığım testlerde sadece 11 ve 00 değerlerini aldım. hatta ben algılayamaıyor olabilirim diye 877 yi 20MHz de çalıştırdım ve her iki yöndeki hareketi de tek taraflı algıladı

ek:
kullanmak istediğim alet trimpota benziyor. üç adet bacak ve ortada sonsuz döngülü mekanik bir anahtarlama. sıkıntı tekerlek hangi tarafa dönerse dönsün üç bacak aynı anda kısadevre oluyor, aynı anda açık devre oluyor

KAZIMUGUR

O 3 bacaklı "şeyin" adı rotary encoder...
Geçişleri çok yakındır,çok yavaş çevirmede anlaşılır.Kodlanmış bakır yolların(3ad)  üzerinde bakır fırça döner...

nurim

Rotary encoder'de de çalışma mantığı optik olan ile aynıdır.
Encoder'in 3 bacağının açıklaması ise ,1-A çıkışı,2-GND,3-B çıkışı şeklindedir.
Enkoder'deki 4 fazı incelersek;(AB olarak)
1.faz-( 0-0 ),2.faz-( 0-1 ),3.faz-( 1-1 ),4.faz-( 1-0 ) dır.



Kolay gelsin
nurim
"Bilgi paylaştıkça artar ,acı ve keder paylaştıkça azalır"

papsukkal

açıklamalar için çok teşekkürler. çalışmalarım bu yönde devam edecek .
demekki programı yazarken biraz  daha hassas davranmam gerekecek

Cenk_Unur

Arkadaşlar bende bu konuda biraz uğraştım bendeki mouse tekerleği mekanik değil fotodiyotlu oldğu için sonuç alamadım.
Nedeni ise sinyali aldığınız fotodiyotun ayaklarında kesin 1 veya 0 değerleri oluşmuyor. Çıkışlardai voltaj tekerleğin dönüşüne göre 1V ile 2.5V yükselip alçalıyor.
Bu konuda bir önerisi olan varmı. Bu işi nasıl çözebiliriz.
Mouse ile  pic PS\2 üzerinden haberleştireyi denedim ama onuda başaramadım.

nurim

Alıntı yapılan: "cenkun"Arkadaşlar bende bu konuda biraz uğraştım bendeki mouse tekerleği mekanik değil fotodiyotlu oldğu için sonuç alamadım.
Nedeni ise sinyali aldığınız fotodiyotun ayaklarında kesin 1 veya 0 değerleri oluşmuyor. Çıkışlardai voltaj tekerleğin dönüşüne göre 1V ile 2.5V yükselip alçalıyor.
Bu konuda bir önerisi olan varmı. Bu işi nasıl çözebiliriz.
Mouse ile  pic PS\2 üzerinden haberleştireyi denedim ama onuda başaramadım.

Fotodiyotun çıkışına transistörlü yada opamplı bir devre koyabilirsin.

Kolay gelsin
nurim
"Bilgi paylaştıkça artar ,acı ve keder paylaştıkça azalır"