İçindekiler:

CircuitPython ile 4x4 Tuş Takımı Kullanma: 4 Adım
CircuitPython ile 4x4 Tuş Takımı Kullanma: 4 Adım

Video: CircuitPython ile 4x4 Tuş Takımı Kullanma: 4 Adım

Video: CircuitPython ile 4x4 Tuş Takımı Kullanma: 4 Adım
Video: Kendi Makro Klavyemizi Yapıyoruz 2024, Temmuz
Anonim
CircuitPython ile 4x4 Tuş Takımı Kullanma
CircuitPython ile 4x4 Tuş Takımı Kullanma

Bu ucuz tuş takımı, CircuitPython projelerinize basit bir sayısal giriş yöntemi sunar. Adafruit ItsyBitsy M0 ekspres ile kullanacağım.

İhtiyacın olacak:

  • Tuş takımı - benimki 4x4
  • ItsyBitsy M0 Express veya benzeri bir kart
  • Bilgisayarınızda yüklü Mu Düzenleyici
  • Kodu flaş etmek için USB kablosu

Adım 1: Tuş Takımı Nasıl Çalışır?

Tuş Takımı Nasıl Çalışır?
Tuş Takımı Nasıl Çalışır?

Tuş Takımı, altta 8 bağlantı ile 4'lü ızgara şeklinde düzenlenmiş 16 basit, yavaş etkili kabarcık anahtarına sahiptir. 0'dan 7'ye kadar soldan numaralarsak, 0'dan 3'e kadar olan bağlantılar her satıra bağlanır. Üst sıraya 0 numaralı bağlantı ve alt sıraya 3 numaralı bağlantı. 4 ila 7 arasındaki bağlantılar, sol sütunda 4 numaralı bağlantı ve sağ sütundaki 7 numaralı bağlantı ile sütunlara bağlanır. 16 anahtarın her biri farklı bir satır/sütun kombinasyonu arasında birleşim yapar. key7'ye basarsak, üçüncü satır sol sütuna birleştirilir. 5 tuşuna basıldığında satırı YÜKSEK yükseltildiğini hissedebilir ve sütununda YÜKSEK okuyabiliriz. Bunu yapmak için satırlara ÇIKTI ve sütunlardan GİRDİ.

Her satırı sırayla YÜKSEK olarak ayarlamamız gerekiyor, diğer satırlar DÜŞÜK iken, YÜKSEK bir girdi elde edene kadar her sütunu sırayla okuyun. Bu, iç içe for döngüleriyle kolayca yönetilir.

Bu kabarcık anahtarlarının oldukça yavaş hareket ettiğini ve onları kapatmak için oldukça sert basılması gerektiğini hesaba katmamız gerekiyor. 16 anahtarın tümünü bu şekilde taramak çok hızlı bir şekilde yapılabilir, ancak bir tuşa basmak için tekrar tekrar taramamız gerekir. Ayrıca, her basışımızda tekrar eden tuşlar almamak için kısa bir gecikmeyle 'debounce' yapmamız gerekiyor.

Anahtarlar oldukça 'squishy' olduğundan, bir tuşa basıldığının okunduğunu belirtmek için kullanıcıya bazı geri bildirimlere ihtiyacımız var. Tuşa her basıldığında, yerleşik LED yanıp söner.

2. Adım: Fiziksel Bağlantılar

Fiziksel Bağlantılar
Fiziksel Bağlantılar

KeyPad0 üzerinde soldan sağa bağlantılar 1 2 3 4 5 6 7

ItssyBitsy'de D7 D9 D10 D11 A5 A4 A3 A2

D7 ila D11, ÇIKIŞ olarak ayarlanırken A5 ila A2, ÇEKİLMELİ GİRİŞ olarak ayarlanır.

Kodun çok sayıda yorumu var ve takip etmesi oldukça kolay olmalı.

3. Adım: Getkey() Nasıl Çalışır?

Getkey() Nasıl Çalışır?
Getkey() Nasıl Çalışır?

Bu işlev tuş takımını tek bir tuşa basmak için tarar. Bir anahtarın kapalı olup olmadığını görmek için her bir anahtarı sırayla maksimum 10 kez hızlı bir şekilde kontrol eder. Bir tuşa basıldığında, yukarıdan aşağıya doğru soldan sağa sayarak tuş değerini döndürür (0 …15) Alt sıra için değerleri not edin: 14, 0, 15, 13 (Onaltılı E, 0, F, D). Herhangi bir tuşa basılmazsa, ana programda kolayca alınabilen bir hata kodu olarak -999 döndürür. Kullanıcı geri bildirimi olarak bir tuşa basıldığında yerleşik LED yanıp söner. Bu oldukça hızlı çalışır ve 0,2 saniyelik geri dönme bekleme süresi yalnızca bir tuşa basıldığında kullanılır.

Adım 4: Getvalue(rakam)

Getvalue(rakam)
Getvalue(rakam)

Bu rutin, sayısal tuşlardan bir n basamak değeri sağlar. Kırmızı tuşları yok sayar.

Bu Python kodu, Raspberry Pi gibi başka bir cihazda çalışacak şekilde kolayca dönüştürülebilir, muhtemelen sadece betiğin üstündeki pin kurulum satırlarını değiştirmeniz yeterlidir.

Kodu faydalı bulursanız lütfen bana bildirin.

Güvende kalın ve eğlenin!

Önerilen: