membran swtich matrix

Başlatan armsistem, 30 Nisan 2013, 20:00:32

armsistem

Arkadaşlar merhaba , daha önceki devrelerimde membram switch kullandım laki kullandığım tip bir adet ortak uç diğerlerin 6 buton varsa 6 adet hat geliyordu , matrix te olay biraz değişik sanırım 14 adeu tuş var 6 adet kablo geliyor bunu işlemciye nasıl anlatacağım , hepsini giriş yapacağım butana basıldığında mı algılatacağım ? Mantık durdu. Şimdiden teşekkür ederim.

Kabil ATICI

Tuş takımının içinde işlemci mi var?

Çünkü normal matris olsa 7x2 gibi bir matris o sayıyı tutuyor. Hadi en kötü ihtimalle 3x5 matris tutar diyorum.
ambar7

muhendisbey

Alıntı yapılan: armsistem - 30 Nisan 2013, 20:00:32
Arkadaşlar merhaba , daha önceki devrelerimde membram switch kullandım laki kullandığım tip bir adet ortak uç diğerlerin 6 buton varsa 6 adet hat geliyordu , matrix te olay biraz değişik sanırım 14 adeu tuş var 6 adet kablo geliyor bunu işlemciye nasıl anlatacağım , hepsini giriş yapacağım butana basıldığında mı algılatacağım ? Mantık durdu. Şimdiden teşekkür ederim.
Matrixte satırlar ve sütunlar vardır.
Satırları sırasıyla tararsınız ve sütunlara bakarsınız. Sütunda bir gördüğünüz satırı hafızaya alırsınız.
Sonra sütunları tararsınız satırlara bakarsınız. Satır ve sütunun kesiştiği yer bastığınız tuştur.
Matrixi merak ettim 14 tuş aklımda canlanmadı. genel olarak 3x4=12 yada 4x4=16 lık bulunabiliyor. Özel üretim falan olabilir mi sizin elinizde olan?
Zulmü alkışlayamam, zalimi asla sevemem; Gelenin keyfi için geçmişe kalkıp sövemem.

armsistem

Yanıt için teşekkürler , hat sayısı konusunda yanılmış olabilirim , çok dikkatli saymadım netten araştırdığımda bağlantı şemaları diyelim ki 6 hat var (sallıyorum) 3 satır 3 sutun 75 Ohm dirençler ile şaselenmiş ve mikro işlemciye giriş yapılmış. Mikro işlemcinin o ayaklarını input yapacağım ve switch basıldığında girişleri okuyacağım ..... şeklinde çalıştırırım gibi geliyor ama yanılıyormuyum acaba arkadaşlar.

Kabil ATICI

Çok çeşitli yöntemleri olmakla birlikte;

satır'lara işlemciye (giriş olarak atanı) girer ve pull-up dirençlerle VCC'Ye çekilir
sütunlar işleci bacaklarına bağlanır ve çıkış olarak atanır ve lojik 0 seviyesine çekilir.

sütun_1 lojik 1 seviyesine çekilir satırlara kontrol edilir. sütun_1 lojik 0 seviyesine çekilir.
sütun_2 lojik 1 seviyesine çekilir satırlara kontrol edilir. sütun_2 lojik 0 seviyesine çekilir.
.
.
.
sütun_n lojik 1 seviyesine çekilir satırlara kontrol edilir. sütun_n lojik 0 seviyesine çekilir.
sütun sayımı başa döner.
Şimdi herhangi bir buton basılı olduğunda zaten o sütuna geldiği zaman o buton ile ilgili satır'de girdi olarak okunur. Buda istendiği gibi işlemci üzerinde işlenir... bildiğimiz matris işlemi...
ambar7

armsistem

hocam benim gördüğüm 75 Ohm direnç ve hepsi gnd çekilmişti. Hatta pcb o şekilde göndericekler yani donanımsal olarak değişiklik yapmak imkanım yok. yani tuşa basıldımı bir bakacağım işlemci neyi input olarak algılıyor ona göre bakacağım çok zor olmayacağını düşünüyorum. Şöyle elimde ufak bir done olsa amerkiya tekrar keşfetmesem iyi olacak.

muhendisbey

#6
Alıntı yapılan: ambar7 - 30 Nisan 2013, 23:34:05
Çok çeşitli yöntemleri olmakla birlikte;

satır'lara işlemciye (giriş olarak atanı) girer ve pull-up dirençlerle VCC'Ye çekilir
sütunlar işleci bacaklarına bağlanır ve çıkış olarak atanır ve lojik 0 seviyesine çekilir.

sütun_1 lojik 1 seviyesine çekilir satırlara kontrol edilir. sütun_1 lojik 0 seviyesine çekilir.
sütun_2 lojik 1 seviyesine çekilir satırlara kontrol edilir. sütun_2 lojik 0 seviyesine çekilir.
.
.
.
sütun_n lojik 1 seviyesine çekilir satırlara kontrol edilir. sütun_n lojik 0 seviyesine çekilir.
sütun sayımı başa döner.
Şimdi herhangi bir buton basılı olduğunda zaten o sütuna geldiği zaman o buton ile ilgili satır'de girdi olarak okunur. Buda istendiği gibi işlemci üzerinde işlenir... bildiğimiz matris işlemi...
Tek bir işlem. Daha mantıklı.

Bu arada aklıma gelen başka bir yöntem. Arduino kullananlar sevebilir. Sadece satır yada sadece sütun bağlantısı yeterli olacaktır.
Her satır yada sütun için farklı direnç bölmesi yapılır. 1. sütün 1V, 2. sütun 2V... şeklinde. okunan satırdaki gerilime göre basılan değer bulunabilir ancak boşuna adc israfı. Yerine göre mantıklı olabilir.


mesaj birleştirme:: 30 Nisan 2013, 23:54:09

Alıntı yapılan: armsistem - 30 Nisan 2013, 23:48:57
hocam benim gördüğüm 75 Ohm direnç ve hepsi gnd çekilmişti. Hatta pcb o şekilde göndericekler yani donanımsal olarak değişiklik yapmak imkanım yok. yani tuşa basıldımı bir bakacağım işlemci neyi input olarak algılıyor ona göre bakacağım çok zor olmayacağını düşünüyorum. Şöyle elimde ufak bir done olsa amerkiya tekrar keşfetmesem iyi olacak.
Arkadaşın söylediği aktif 0 mantığı senin dediğine göre aktif bir mantığı yani arkadaşın söylediğinin tam tersini yaparsan bulursun.
Zulmü alkışlayamam, zalimi asla sevemem; Gelenin keyfi için geçmişe kalkıp sövemem.

armsistem

Arkadaşlar tekrar teşekkürler ,membran geldi tuşları okumaya başardım.