Daftar Isi:

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, Juli
Anonim
Menggunakan KeyPad 4x4 Dengan CircuitPython
Menggunakan KeyPad 4x4 Dengan CircuitPython

Keypad murah ini menawarkan metode input numerik sederhana ke proyek CircuitPython Anda. Saya akan menggunakannya dengan ekspres Adafruit ItsyBitsy M0.

Anda akan perlu:

  • Keypad - milik saya 4x4
  • ItsyBitsy M0 Express atau papan serupa
  • Mu Editor diinstal di komputer Anda
  • Kabel USB untuk mem-flash kode

Langkah 1: Cara Kerja Keypad

Cara Kerja Keypad
Cara Kerja Keypad

Keypad mereka memiliki 16 sakelar gelembung kerja lambat yang sederhana yang diatur dalam kisi-kisi 4 dengan 8 koneksi di bagian bawah. Jika kita memberi nomor dari kiri dari 0 hingga 7, koneksi 0 hingga 3 terhubung ke setiap baris. Sambungan 0 ke baris atas dan sambungan 3 ke baris bawah. Sambungan 4 sampai 7 dihubungkan dengan kolom dengan sambungan 4 pada kolom kiri dan sambungan 7 pada kolom kanan. Masing-masing dari 16 sakelar membuat gabungan antara kombinasi baris/kolom yang berbeda. Jika kita menekan tombol7 baris ketiga bergabung ke kolom kiri. Kita dapat merasakan jika tombol 5 jika ditekan jika barisnya dinaikkan HIGH dan kita dapat membaca HIGH pada kolomnya. Untuk melakukan ini kita OUTPUT ke baris dan INPUT dari kolom.

Kita perlu mengatur setiap baris HIGH secara bergantian, sedangkan baris lainnya LOW, baca setiap kolom secara bergantian sampai kita mendapatkan input HIGH. Ini mudah dikelola dengan loop for bersarang.

Kita perlu memperhitungkan fakta bahwa sakelar gelembung ini bertindak cukup lambat dan perlu ditekan cukup keras untuk membuatnya dekat. Memindai semua 16 sakelar dengan cara ini dapat dilakukan dengan sangat cepat tetapi kami harus memindai berulang kali untuk mengambil penekanan tombol. Kita juga perlu 'debounce' dengan waktu tunda yang singkat agar kita tidak mendapatkan kunci yang berulang setiap kali kita menekan.

Karena sakelarnya cukup 'licin', kami memerlukan umpan balik kepada pengguna untuk menunjukkan bahwa penekanan tombol telah dibaca. LED built-in berkedip setiap kali penekanan tombol dirasakan.

Langkah 2: Koneksi Fisik

Koneksi Fisik
Koneksi Fisik

Koneksi 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 sedangkan A5 hingga A2 ditetapkan sebagai INPUT dengan PULLDOWN.

Kode memiliki banyak komentar dan harus cukup mudah diikuti.

Langkah 3: Bagaimana Getkey() Bekerja

Bagaimana Getkey() Bekerja
Bagaimana Getkey() Bekerja

Fungsi ini memindai papan tombol untuk menekan satu tombol. Ini dengan cepat memeriksa setiap tombol secara bergantian maksimal 10 kali untuk melihat apakah sakelar kunci ditutup. Jika tombol ditekan, ia mengembalikan nilai kunci, menghitung dari kiri ke kanan dari atas ke bawah (0 …15) Catat nilai untuk baris bawah: 14, 0, 15, 13 (Hex E, 0, F, D). Jika tidak ada tombol yang ditekan, ia mengembalikan -999 sebagai kode kesalahan yang dapat dengan mudah diambil di program utama. LED internal berkedip jika penekanan tombol diambil sebagai umpan balik pengguna. Ini berjalan cukup cepat dan menunggu de-bounce 0,2 detik hanya digunakan saat tombol ditekan.

Langkah 4: Getvalue(digit)

Dapatkan nilai(digit)
Dapatkan nilai(digit)

Rutin ini memasok nilai n digit dari tombol numerik. Itu mengabaikan kunci merah.

Kode Python ini dapat dengan mudah dikonversi untuk dijalankan di perangkat lain, seperti Raspberry Pi, Anda mungkin hanya perlu mengubah baris pengaturan pin di bagian atas skrip.

Tolong beri tahu saya jika menurut Anda kode itu berguna.

Tetap aman dan bersenang-senanglah!

Direkomendasikan: