Isi kandungan:

Menggunakan KeyPad 4x4 Dengan CircuitPython: 4 Langkah
Menggunakan KeyPad 4x4 Dengan CircuitPython: 4 Langkah

Video: Menggunakan KeyPad 4x4 Dengan CircuitPython: 4 Langkah

Video: Menggunakan KeyPad 4x4 Dengan CircuitPython: 4 Langkah
Video: Raspberry Pi Pico Tutorial - 4x4 Matrix Keypad - MicroPython 2024, Julai
Anonim
Menggunakan KeyPad 4x4 Dengan CircuitPython
Menggunakan KeyPad 4x4 Dengan CircuitPython

Pad kekunci yang murah ini menawarkan kaedah input numerik yang mudah untuk projek CircuitPython anda. Saya akan menggunakannya dengan Adafruit ItsyBitsy M0 express.

Anda perlu:

  • Pad kekunci - tambang adalah 4x4
  • ItsyBitsy M0 Express atau papan serupa
  • Mu Editor dipasang pada komputer anda
  • Kabel USB untuk menyalakan kod

Langkah 1: Bagaimana Pad Kekunci Berfungsi

Bagaimana Pad Kekunci Berfungsi
Bagaimana Pad Kekunci Berfungsi

Keypad mereka mempunyai 16 suis gelembung bertindak perlahan yang disusun dalam grid 4 by grid dengan 8 sambungan di bahagian bawah. Sekiranya kita nombor dari kiri dari 0 hingga 7, sambungan 0 hingga 3 dihubungkan ke setiap baris. Sambungan 0 ke baris atas dan sambungan 3 ke baris bawah. Sambungan 4 hingga 7 dihubungkan ke lajur dengan sambungan 4 di lajur kiri dan sambungan 7 ke lajur kanan. Setiap 16 suis membuat gabungan antara kombinasi baris / lajur yang berbeza. Sekiranya kita menekan kekunci7 baris ketiga digabungkan ke lajur kiri. Kita dapat merasakan jika kekunci 5 ditekan jika barisnya dinaikkan TINGGI dan kita dapat membaca TINGGI pada lajurnya. Untuk melakukan ini kita OUTPUT ke baris dan INPUT dari lajur.

Kita perlu menetapkan setiap baris TINGGI secara bergilir, sementara baris lain RENDAH, baca setiap lajur secara bergiliran sehingga kita mendapat input TINGGI. Ini mudah diuruskan dengan bersarang untuk gelung.

Kita perlu mengambil kira hakikat bahawa suis gelembung ini bertindak perlahan dan perlu ditekan dengan kuat untuk menjadikannya dekat. Mengimbas semua 16 suis dengan cara ini dapat dilakukan dengan sangat cepat tetapi kita harus mengimbas berulang kali untuk mengambil penekanan kekunci. Kita juga perlu 'membongkar' dengan kelewatan masa yang singkat supaya kita tidak mendapat kekunci berulang setiap kali kita menekan.

Oleh kerana suisnya cukup 'licin', kami memerlukan beberapa maklum balas kepada pengguna untuk menunjukkan bahawa tekan kekunci telah dibaca. LED terbina dalam dikelip setiap kali ditekan butang.

Langkah 2: Sambungan Fizikal

Sambungan Fizikal
Sambungan Fizikal

Sambungan dari kiri ke kanan pada KeyPad0 1 2 3 4 5 6 7

D7 D9 D10 D11 A5 A4 A3 A2 di ItsyBitsy

D7 hingga D11 ditetapkan sebagai OUTPUT sementara A5 hingga A2 ditetapkan sebagai INPUT dengan PULLDOWN.

Kod ini mempunyai banyak komen dan mesti diikuti dengan mudah.

Langkah 3: Bagaimana Getkey () Berfungsi

Cara Getkey () Berfungsi
Cara Getkey () Berfungsi

Fungsi ini mengimbas papan kekunci untuk menekan satu kekunci. Ia dengan cepat memeriksa setiap kunci secara bergilir maksimum 10 kali untuk melihat apakah suis kunci ditutup. Sekiranya kekunci ditekan, ia mengembalikan nilai kunci, menghitung kiri ke kanan dari atas ke bawah (0… 15) Perhatikan nilai untuk baris bawah: 14, 0, 15, 13 (Hex E, 0, F, D). Sekiranya tidak ada kekunci yang ditekan, ia akan mengembalikan -999 sebagai kod ralat yang dapat dengan mudah diambil dalam program utama. LED terbina dalam berkelip jika tekan kekunci diambil sebagai maklum balas pengguna. Ini berjalan dengan cepat dan penantian bouncing 0.2 saat hanya digunakan apabila kekunci ditekan.

Langkah 4: Getvalue (digit)

Nilai Get (digit)
Nilai Get (digit)

Rutin ini membekalkan nilai n digit dari kekunci angka. Ia mengabaikan kunci merah.

Kod Python ini dapat ditukar dengan mudah untuk dijalankan pada peranti lain, seperti Raspberry Pi, anda mungkin hanya perlu menukar garis persediaan pin di bahagian atas skrip.

Tolong beritahu saya jika anda mendapati kodnya berguna.

Tetap selamat dan bersenang-senang!

Disyorkan: