Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
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
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
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
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)
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!