Mündəricat:

CircuitPython ilə 4x4 Keypad istifadə: 4 addım
CircuitPython ilə 4x4 Keypad istifadə: 4 addım

Video: CircuitPython ilə 4x4 Keypad istifadə: 4 addım

Video: CircuitPython ilə 4x4 Keypad istifadə: 4 addım
Video: Her şeyi yiyen OBUR ROBOT | Eğlenceli Robot Kumbara 2024, Noyabr
Anonim
CircuitPython ilə 4x4 KeyPad istifadə etmək
CircuitPython ilə 4x4 KeyPad istifadə etmək

Bu ucuz klaviatura, CircuitPython layihələrinizə sadə bir rəqəmsal giriş metodu təqdim edir. Adafruit ItsyBitsy M0 express ilə istifadə edəcəyəm.

Sizə lazım olacaq:

  • Klaviatura - mənim 4x4
  • ItsyBitsy M0 Express və ya oxşar lövhə
  • Mu Editor kompüterinizə quraşdırılıb
  • Kodu söndürmək üçün USB kabeli

Addım 1: Klaviatura necə işləyir

Klaviatura necə işləyir
Klaviatura necə işləyir

Onlar Klaviatura altındakı 8 əlaqəsi olan 4 ədəd bir şəbəkədə düzəldilmiş 16 sadə, yavaş hərəkət edən baloncuk açarlarına malikdir. Soldan 0 -dan 7 -yə qədər saysaq, 0 -dan 3 -ə qədər olan əlaqələr hər bir satıra bağlıdır. Bağlantı 0 üst sıraya və əlaqə 3 alt sıraya. 4 -dən 7 -ə qədər olan bağlantılar, sol sütunda 4 -cü bağlantı və 7 -ci sütunda sağ sütuna bağlanan sütunlara bağlanır. 16 açarın hər biri fərqli bir satır/sütun birləşməsi arasında birləşmə edir. 7 düyməsini bassaq, üçüncü sıra sol sütuna qoşulur. Sırası YÜKSƏK qaldırıldıqda 5 düyməsinə basıldığını və sütununda YÜKSEK oxuya biləcəyimizi hiss edə bilərik. Bunu etmək üçün satırlara ÇIXIŞ və sütunlardan GİRİŞ edirik.

Hər bir satırı öz növbəsində YÜKSƏK olaraq təyin etməliyik, digər sətirlər DÜŞÜK, hər bir sütunu YÜKSƏK giriş əldə edənə qədər növbə ilə oxuyun. Bu, döngələr üçün yuvalanmış ilə asanlıqla idarə olunur.

Bu baloncuk açarlarının olduqca yavaş hərəkət etdiyini və onları yaxınlaşdırmaq üçün olduqca sıxılmalı olduğunu nəzərə almalıyıq. Bütün 16 açarın bu şəkildə taranması çox tez edilə bilər, ancaq bir düyməni basmaq üçün dəfələrlə taramalıyıq. Həm də hər dəfə basıldıqda təkrarlanan düymələri almamaq üçün qısa bir gecikmə ilə 'çıxmaq' lazımdır.

Şalterlər olduqca 'cılız' olduğu üçün, düymənin oxunduğunu göstərmək üçün istifadəçiyə bəzi rəylər lazımdır. Daxili LED hər dəfə düyməni basdıqda yanıb-sönür.

Addım 2: Fiziki Əlaqələr

Fiziki Əlaqələr
Fiziki Əlaqələr

KeyPad -də soldan sağa əlaqələr0 1 2 3 4 5 6 7

ItsyBitsy -də D7 D9 D10 D11 A5 A4 A3 A2

D7 -dən D11 -ə Çıxış olaraq, A5 -dən A2 -yə isə PULLDOWN ilə GİRİŞ olaraq qurulur.

Kodun çoxlu şərhləri var və izlənməsi olduqca asan olmalıdır.

Addım 3: Getkey () necə işləyir

Getkey () Necə Çalışır
Getkey () Necə Çalışır

Bu funksiya klaviaturanı bir dəfə basmaq üçün tarar. Bir düymənin bağlanıb -bağlanmadığını görmək üçün hər bir düyməni növbə ilə maksimum 10 dəfə yoxlayır. Bir düyməyə basıldıqda yuxarıdan aşağıya doğru soldan sağa sayaraq açar dəyərini qaytarır (0… 15) Alt sətrin dəyərlərinə diqqət yetirin: 14, 0, 15, 13 (Hex E, 0, F, D). Heç bir düyməyə basılmadıqda, əsas proqramda asanlıqla götürülə bilən bir səhv kodu olaraq -999 qaytarır. İstifadəçi rəyi olaraq bir düyməni basdıqda daxili LED yanıb sönür. Bu olduqca sürətli işləyir və 0,2 saniyəlik sıçrayış gözləmə yalnız bir düyməyə basıldıqda istifadə olunur.

Addım 4: Qiymət (rəqəmlər)

Qiymət (rəqəm)
Qiymət (rəqəm)

Bu prosedur, rəqəmsal düymələrdən n rəqəmi təmin edir. Qırmızı düymələrə məhəl qoymur.

Bu Python kodu, Raspberry Pi kimi başqa bir cihazda işləməyə asanlıqla çevrilə bilər, ehtimal ki, yalnız skriptin yuxarısındakı pin qurma xətlərini dəyişdirməlisiniz.

Zəhmət olmasa kodu faydalı hesab edirsinizsə mənə bildirin.

Təhlükəsiz qalın və əylənin!

Tövsiyə: