Isi kandungan:
- Langkah 1: Bermula
- Langkah 2: Menggunakan Pad Kekunci 12 Digit
- Langkah 3: Menggunakan Pad Kekunci 16 Digit
- Langkah 4: Contoh Projek - Sistem Akses PIN
Video: Menggunakan Papan Kekunci Numerik Dengan Arduino: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Pad kekunci berangka boleh memberikan alternatif pengguna akhir yang mudah untuk pelbagai antara muka untuk projek anda. Atau jika anda memerlukan banyak butang, mereka dapat menjimatkan banyak masa berkaitan dengan pembinaan. Kami akan terus menghubungkannya, menggunakan perpustakaan Arduino dan kemudian menyelesaikannya dengan lakaran contoh yang berguna.
Langkah 1: Bermula
Tidak kira dari mana anda mendapatkan pad kekunci anda, pastikan anda dapat memperoleh lembaran data - kerana ini akan menjadikan kehidupan lebih mudah semasa memasangnya. Contohnya - gambar dalam langkah ini.
Lembar data adalah penting kerana ia akan memberitahu anda pin atau penyambung pada papan kekunci untuk baris dan lajur. Sekiranya anda tidak mempunyai lembaran data - anda perlu menentukan kenalan untuk baris dan lajur secara manual.
Ini dapat dilakukan dengan menggunakan fungsi kesinambungan multimeter (bel). Mulakan dengan meletakkan satu probe pada pin 1, probe yang lain pada pin 2, dan tekan kekunci satu persatu. Catat kapan butang melengkapkan litar, kemudian pindah ke pin seterusnya. Tidak lama lagi anda akan mengetahui yang mana. Contohnya, pada contoh papan kekunci pin 1 dan 5 adalah untuk butang "1", 2 dan 5 untuk "4", dan lain-lain …
Pada ketika ini sila muat turun dan pasang pustaka papan kekunci Arduino. Sekarang kita akan menunjukkan cara menggunakan kedua-dua papan kekunci dalam contoh mudah.
Langkah 2: Menggunakan Pad Kekunci 12 Digit
Kami akan menggunakan papan kekunci hitam kecil, serasi dengan Arduino Uno dan LCD dengan antara muka I2C untuk tujuan paparan. Sekiranya anda tidak mempunyai LCD, anda boleh menghantar teks ke monitor bersiri.
Kabelkan LCD anda kemudian sambungkan papan kekunci ke Arduino dengan cara berikut: Pad kekunci 1 hingga Arduino digital 5Keypad baris 2 hingga Arduino digital 4Keypad baris 3 hingga Arduino digital 3Keypad baris 4 ke Arduino digital 2Keypad column 1 to Arduino digital 8Keypad column 2 to Arduino digital 7Keypad lajur 3 hingga Arduino digital 6 Sekiranya pad kekunci anda berbeza dengan kami, perhatikan garis-garis dalam lakaran dari:
// definisi jenis pad kekunci
Oleh kerana anda perlu menukar nombor dalam array array PinPIN [ROWS] dan colPins [COLS]. Anda memasukkan nombor pin digital yang masing-masing dihubungkan ke baris dan lajur papan kekunci.
Selanjutnya, kekunci array menyimpan nilai yang ditunjukkan dalam LCD ketika butang tertentu ditekan. Anda dapat melihat kami telah memadankannya dengan papan kekunci fizikal yang digunakan, namun anda boleh mengubahnya menjadi apa sahaja yang anda perlukan. Tetapi buat masa ini, masukkan dan muat naik lakaran berikut setelah anda berpuas hati dengan peruntukan nombor baris / pin:
/ * Numeric keypad dan I2C LCD https://tronixstuff.com Menggunakan perpustakaan Keypad untuk Arduino https://www.arduino.cc/playground/Code/Keypad oleh Mark Stanley, Alexander Brevig * /
#terima "Keypad.h"
#include "Wire.h" // untuk I2C LCD #include "LiquidCrystal_I2C.h" // untuk modul LCD bas I2C // https://www.dfrobot.com/wiki/index.php/I2C/TWI_LCD1602_Module_(SKU: _DFR0063) LiquidCrystal_I2C lcd (0x27, 16, 2); // tetapkan alamat LCD ke 0x27 untuk paparan 16 bar dan 2 baris
// definisi jenis pad kekunci
const byte ROWS = 4; // empat baris const byte COLS = 3; // kekunci tiga lajur [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}};
byte rowPins [ROWS] = {
5, 4, 3, 2}; // sambungkan ke pinout baris dari colypins byte keypad [COLS] = {8, 7, 6}; // sambungkan ke pin lajur papan kekunci
kiraan int = 0;
Pad kekunci = Pad Kekunci (makeKeymap (kekunci), baris pin, colPins, ROWS, COLS);
persediaan tidak sah ()
{lcd.init (); // inisialisasi lcd lcd.backlight (); // hidupkan lampu latar LCD}
gelung kosong ()
{char key = keypad.getKey (); jika (kunci! = NO_KEY) {lcd.print (kunci); kira ++; jika (kiraan == 17) {lcd.clear (); kiraan = 0; }}}
Dan hasil lakaran ditunjukkan dalam video. Jadi sekarang anda dapat melihat bagaimana penekanan butang dapat diterjemahkan ke dalam data untuk digunakan dalam lakaran. Kami sekarang akan mengulangi demonstrasi ini dengan papan kekunci yang lebih besar.
Langkah 3: Menggunakan Pad Kekunci 16 Digit
Kami akan menggunakan papan kekunci 4 × 4 yang lebih besar, serasi dengan Arduino Uno dan untuk menukar LCD I2C dari Akafugu untuk tujuan paparan. Sekali lagi, jika anda tidak mempunyai LCD, anda boleh menghantar teks ke monitor bersiri. Kabelkan LCD dan kemudian sambungkan papan kekunci ke Arduino dengan cara berikut:
- Pad kekunci 1 (pin lapan) hingga Arduino digital 5
- Pad kekunci 2 (pin 1) hingga Arduino digital 4
- Pad kekunci 3 (pin 2) hingga Arduino digital 3
- Pad kekunci 4 (pin 4) hingga Arduino digital 2
- Lajur papan kekunci 1 (pin 3) ke Arduino digital 9
- Papan kekunci 2 (pin 5) ke Arduino digital 8
- Papan kekunci 3 (pin 6) ke Arduino digital 7
- Pad kekunci 4 (pin 7) hingga Arduino digital 6
Sekarang untuk lakaran - perhatikan bagaimana kami telah mengakomodasi keypad numerik yang lebih besar: lajur tambahan dalam kunci char array pin tambahan di colPins array dan byte COLS = 4.
/ * Numeric keypad dan I2C LCD https://tronixstuff.com Menggunakan perpustakaan Keypad untuk Arduino https://www.arduino.cc/playground/Code/Keypad oleh Mark Stanley, Alexander Brevig * /
#terima "Keypad.h"
#include "Wire.h" // untuk I2C LCD #include "TWILiquidCrystal.h" // https://store.akafugu.jp/products/26 LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const byte ROWS = 4; // empat baris
const byte COLS = 4; // kekunci char empat lajur [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {5, 4, 3, 2}; // sambungkan ke pinout baris dari colypins byte keypad [COLS] = {9, 8, 7, 6}; // sambungkan ke pinout lajur dari bilangan kekunci int = 0;
Pad kekunci = Pad Kekunci (makeKeymap (kekunci), baris pin, colPins, ROWS, COLS);
persediaan tidak sah ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print ("Ujian papan kekunci!"); kelewatan (1000); lcd.clear (); }
gelung kosong ()
{char key = keypad.getKey (); jika (kunci! = NO_KEY) {lcd.print (kunci); Cetakan bersiri (kunci); kira ++; jika (kiraan == 17) {lcd.clear (); kiraan = 0; }}}
Dan sekali lagi anda dapat melihat hasil lakaran di atas dalam video.
Sekarang untuk projek contoh, yang mungkin merupakan keypad numerik yang paling banyak diminta …
Langkah 4: Contoh Projek - Sistem Akses PIN
Penggunaan yang paling banyak diminta untuk keypad numerik adalah aplikasi gaya "PIN", di mana Arduino diperintahkan untuk melakukan sesuatu berdasarkan nombor yang betul yang dimasukkan ke dalam papan kekunci. Sketsa berikut menggunakan perkakasan yang dijelaskan untuk lakaran sebelumnya dan menerapkan sistem kemasukan PIN enam digit.
Tindakan yang akan dilakukan boleh disisipkan dalam fungsi correctPIN () dan correctPIN (). Dan PIN ditetapkan dalam PIN array array [6]. Dengan sedikit kerja tambahan anda dapat membuat fungsi menukar PIN anda sendiri juga.
// Tukar PIN dengan pad kekunci berangka 16 digit // https://tronixstuff.com #include "Keypad.h" #include #include LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const byte ROWS = 4; // empat baris
const byte COLS = 4; // kekunci char empat lajur [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {5, 4, 3, 2}; // sambungkan ke pinout baris dari colypins byte keypad [COLS] = {9, 8, 7, 6}; // sambungkan ke pin lajur papan kekunci
Pad kekunci = Pad Kekunci (makeKeymap (kekunci), baris pin, colPins, ROWS, COLS);
PIN char [6] = {
'1', '2', 'A', 'D', '5', '6'}; // rahsia kami (!) cubaan nombor [6] = {'0', '0', '0', '0', '0', '0'}; // digunakan untuk perbandingan int z = 0;
persediaan tidak sah ()
{Serial.begin (9600); lcd.begin (16, 2); lcd.print ("Kunci PIN"); kelewatan (1000); lcd.clear (); lcd.print ("Masukkan PIN …"); }
batal correctPIN () // lakukan ini jika PIN yang betul dimasukkan
{lcd.print ("* PIN yang betul *"); kelewatan (1000); lcd.clear (); lcd.print ("Masukkan PIN …"); }
batal tidak betulPIN () // lakukan ini jika PIN yang salah dimasukkan
{lcd.print ("* Cuba lagi *"); kelewatan (1000); lcd.clear (); lcd.print ("Masukkan PIN …"); }
batal checkPIN ()
{int betul = 0; int i; untuk (i = 0; i <6; i ++) {
jika (cubaan == PIN )
{betul ++; }} jika (betul == 6) {correctPIN (); } lain {salahPIN (); }
untuk (int zz = 0; zz <6; zz ++) {cubaan [zz] = '0'; }}
kekosongan baca Kekunci ()
{char key = keypad.getKey (); if (kunci! = NO_KEY) {cubaan [z] = kunci; z ++; tukar (kunci) {case '*': z = 0; rehat; kes '#': z = 0; kelewatan (100); // untuk lompatan tambahan lcd.clear (); semakPIN (); rehat; }}}
gelung kosong ()
{readKeypad (); }
Projek ini ditunjukkan dalam video.
Jadi sekarang anda mempunyai keupayaan untuk menggunakan pad kekunci dua belas dan enam belas dengan sistem Arduino anda. Saya pasti anda akan mendapat sesuatu yang berguna dan menarik menggunakan papan kekunci dalam masa terdekat.
Catatan ini disampaikan kepada anda oleh pmdway.com - semuanya untuk pembuat dan peminat elektronik, dengan penghantaran percuma ke seluruh dunia.
Disyorkan:
Betulkan Kekunci Papan Kekunci: 5 Langkah (dengan Gambar)
Betulkan Kekunci Papan Kekunci: Saya menjumpai papan kekunci yang hebat di longgokan sampah kami, iaitu Papan Kekunci Microsoft Natural Ergonomik. Ia mempunyai susun atur yang selesa, tetapi hanya ada satu masalah. Kekunci N tidak terlalu responsif. Anda harus benar-benar memukulnya untuk mendapatkannya untuk mendaftar. Sememangnya, ini tidak berlaku
Papan Kekunci Quick and Dirty Das (Papan Kekunci Kosong): 3 Langkah
Papan Kekunci Quick and Dirty Das (Papan Kekunci Kosong): Papan Kekunci Das adalah nama papan kekunci yang paling popular tanpa tulisan pada kekunci (papan kekunci kosong). Papan Kekunci Das dijual pada harga $ 89.95. Instruksional ini akan membimbing anda walaupun membuat sendiri dengan papan kekunci lama yang anda miliki
Membersihkan Papan Kekunci Apple Aluminium . atau Papan Kekunci Sentuhan Lembut Lain: 5 Langkah
Membersihkan Papan Kekunci Apple Aluminium …. atau Papan Kekunci Sentuhan Lembut Lain: Sebersih anda atau saya mungkin cuba menyimpan papan kekunci epal aluminium kami, ia menjadi kotor setelah setahun atau lebih. Petunjuk ini adalah untuk membantu anda membersihkannya. Hati-hati, kerana saya tidak bertanggungjawab sekiranya papan kekunci anda rosak semasa melakukan ini …. SUCKS F
Kembalikan Huruf yang Dicat pada Kekunci Papan Kekunci: 5 Langkah
Kembalikan Huruf yang Dicat pada Kekunci Papan Kekunci: Komputer riba dan komputer desktop baru kami mempunyai kunci hitam yang menarik dengan huruf dicat putih. Selepas beberapa ketika, kunci tertentu kehilangan huruf yang dicat dari pukulan kuku. Perhatikan kekunci A, S, D, H, L, E, R, T, O, N, dan M. Dalam cahaya rendah dapat
Buat Plat Nama Terang Keluar dari Kekunci Papan Kekunci: 6 Langkah
Buat Plat Nama Terang Keluar dari Kekunci Papan Kekunci: Instruksional ini akan menunjukkan kepada anda semua cara membuat plat nama yang menyala dari beberapa kekunci papan kekunci sekerap dan beberapa elektronik. Mari kita mulakan