Daftar Isi:
- Langkah 1: Memulai
- Langkah 2: Menggunakan Keypad 12 Digit
- Langkah 3: Menggunakan Keypad 16 Digit
- Langkah 4: Contoh Proyek – Sistem Akses PIN
Video: Menggunakan Keypad Numerik Dengan Arduino: 4 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Keypad numerik dapat memberikan alternatif pengguna akhir yang sederhana untuk berbagai antarmuka untuk proyek Anda. Atau jika Anda membutuhkan banyak tombol, mereka dapat menghemat banyak waktu terkait konstruksi. Kami akan menjalankan menghubungkan mereka, menggunakan perpustakaan Arduino dan kemudian menyelesaikan dengan sketsa contoh yang berguna.
Langkah 1: Memulai
Dari mana pun Anda mendapatkan papan tombol, pastikan Anda bisa mendapatkan lembar data – karena ini akan membuat hidup lebih mudah saat memasangnya. Misalnya - gambar di langkah ini.
Lembar data penting karena akan memberi tahu Anda pin atau konektor mana pada papan tombol untuk baris dan kolom. Jika Anda tidak memiliki lembar data – Anda harus menentukan secara manual kontak mana untuk baris dan kolom.
Ini dapat dilakukan dengan menggunakan fungsi kontinuitas multimeter (buzzer). Mulailah dengan menempatkan satu probe pada pin 1, probe lainnya pada pin 2, dan tekan tombol satu per satu. Catat kapan sebuah tombol menyelesaikan rangkaian, lalu pindah ke pin berikutnya. Segera Anda akan tahu yang mana. Misalnya pada contoh keypad pin 1 dan 5 untuk tombol “1, 2 dan 5 untuk “4″, dst…
Pada titik ini, silakan unduh dan instal perpustakaan Arduino keypad. Sekarang kami akan mendemonstrasikan cara menggunakan kedua keypad dalam contoh sederhana.
Langkah 2: Menggunakan Keypad 12 Digit
Kami akan menggunakan keypad hitam kecil, yang kompatibel dengan Arduino Uno dan LCD dengan antarmuka I2C untuk tujuan tampilan. Jika Anda tidak memiliki LCD, Anda selalu dapat mengirim teks ke monitor serial.
Pasang LCD Anda kemudian sambungkan keypad ke Arduino dengan cara berikut: Baris keypad 1 ke digital Arduino 5Keypad baris 2 ke Arduino digital 4Keypad baris 3 ke Arduino digital 3Keypad baris 4 ke digital Arduino 2Keypad kolom 1 ke Arduino digital 8Keypad kolom 2 ke Arduino digital 7Keypad kolom 3 ke Arduino digital 6 Jika keypad Anda berbeda dengan kami, perhatikan garis pada sketsa dari:
// definisi jenis keypad
Karena Anda perlu mengubah angka dalam array rowPins[ROWS] dan colPins[COLS]. Anda memasukkan nomor pin digital yang terhubung ke baris dan kolom keypad masing-masing.
Selanjutnya, tombol array menyimpan nilai yang ditampilkan di LCD saat tombol tertentu ditekan. Anda dapat melihat bahwa kami telah mencocokkannya dengan keypad fisik yang digunakan, namun Anda dapat mengubahnya sesuai kebutuhan. Tetapi untuk saat ini, masukkan dan unggah sketsa berikut setelah Anda puas dengan alokasi nomor baris/pin:
/* Keypad numerik dan LCD I2C https://tronixstuff.com Menggunakan library Keypad untuk Arduino https://www.arduino.cc/playground/Code/Keypad oleh Mark Stanley, Alexander Brevig */
#sertakan "Keypad.h"
#include "Wire.h" // untuk LCD I2C #include "LiquidCrystal_I2C.h" // untuk modul LCD bus I2C // https://www.dfrobot.com/wiki/index.php/I2C/TWI_LCD1602_Module_(SKU: _DFR0063) LiquidCrystal_I2C lcd (0x27, 16, 2); // atur alamat LCD ke 0x27 untuk tampilan 16 karakter dan 2 baris
// definisi jenis keypad
const byte BARIS = 4; //empat baris const byte COLS = 3; //tiga kolom kunci karakter[ROWS][COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}};
byte rowPins[ROWS] = {
5, 4, 3, 2}; //menghubungkan ke pinout baris dari byte keypad colPins[COLS] = { 8, 7, 6}; // sambungkan ke pinout kolom keypad
int jumlah=0;
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
batalkan pengaturan()
{ lcd.init(); // inisialisasi lcd lcd.backlight(); // nyalakan lampu latar LCD }
lingkaran kosong()
{ char key = keypad.getKey(); if (kunci != NO_KEY) { lcd.print(kunci); menghitung++; if (hitung==17) { lcd.clear(); hitung=0; } } }
Dan hasil sketsanya diperlihatkan dalam video. Jadi sekarang Anda dapat melihat bagaimana penekanan tombol dapat diterjemahkan ke dalam data untuk digunakan dalam sketsa. Kami sekarang akan mengulangi demonstrasi ini dengan keypad yang lebih besar.
Langkah 3: Menggunakan Keypad 16 Digit
Kami akan menggunakan keypad 4x4 yang lebih besar, yang kompatibel dengan Arduino Uno dan untuk mengubah LCD I2C dari Akafugu untuk tujuan tampilan. Sekali lagi, jika Anda tidak memiliki LCD, Anda selalu dapat mengirim teks ke monitor serial. Pasang LCD dan kemudian sambungkan keypad ke Arduino dengan cara berikut:
- Baris keypad 1 (pin delapan) ke Arduino digital 5
- Keypad baris 2 (pin 1) ke Arduino digital 4
- Baris keypad 3 (pin 2) ke Arduino digital 3
- Baris keypad 4 (pin 4) ke Arduino digital 2
- Kolom keypad 1 (pin 3) ke Arduino digital 9
- Kolom keypad 2 (pin 5) ke Arduino digital 8
- Kolom keypad 3 (pin 6) ke Arduino digital 7
- Kolom keypad 4 (pin 7) ke Arduino digital 6
Sekarang untuk sketsa – perhatikan bagaimana kami telah mengakomodasi keypad numerik yang lebih besar: kolom ekstra di kunci array charpin tambahan di array colPinsdan byte COLS = 4.
/* Keypad numerik dan LCD I2C https://tronixstuff.com Menggunakan library Keypad untuk Arduino https://www.arduino.cc/playground/Code/Keypad oleh Mark Stanley, Alexander Brevig */
#sertakan "Keypad.h"
#include "Wire.h" // untuk LCD I2C #include "TWILiquidCrystal.h" // https://store.akafugu.jp/products/26 LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const byte BARIS = 4; //empat baris
const byte COLS = 4; //kunci karakter empat kolom[ROWS][COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins[ROWS] = { 5, 4, 3, 2}; //menghubungkan ke pinout baris dari byte keypad colPins[COLS] = { 9, 8, 7, 6}; //sambungkan ke pinout kolom keypad int count=0;
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
batalkan pengaturan()
{ Serial.begin(9600); lcd.begin(16, 2); lcd.print("Tes papan tombol!"); penundaan (1000); lcd.clear(); }
lingkaran kosong()
{ char key = keypad.getKey(); if (kunci != NO_KEY) { lcd.print(kunci); Serial.print(kunci); menghitung++; if (hitung==17) { lcd.clear(); hitung=0; } } }
Dan lagi anda bisa melihat hasil sketsa diatas pada video.
Sekarang untuk contoh proyek, yang mungkin merupakan penggunaan keypad numerik yang paling banyak diminta…
Langkah 4: Contoh Proyek – Sistem Akses PIN
Penggunaan yang paling banyak diminta untuk keypad numerik tampaknya adalah aplikasi gaya "PIN", di mana Arduino diperintahkan untuk melakukan sesuatu berdasarkan nomor yang benar yang dimasukkan ke dalam keypad. Sketsa berikut menggunakan perangkat keras yang dijelaskan untuk sketsa sebelumnya dan menerapkan sistem entri PIN enam digit.
Tindakan yang akan dilakukan dapat dimasukkan ke dalam fungsi correctPIN() dan correctPIN(). Dan PIN diatur dalam array char PIN[6]. Dengan sedikit kerja ekstra, Anda juga dapat membuat fungsi ganti PIN Anda sendiri.
// Sakelar PIN dengan keypad numerik 16 digit// https://tronixstuff.com #include "Keypad.h" #include #include LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
const byte BARIS = 4; //empat baris
const byte COLS = 4; //kunci karakter empat kolom[ROWS][COLS] = { { '1', '2', '3', 'A' }, { '4', '5', '6', 'B' }, { '7', '8', '9', 'C' }, { '*', '0', '#', 'D' } }; byte rowPins[ROWS] = { 5, 4, 3, 2}; //menghubungkan ke pinout baris dari byte keypad colPins[COLS] = { 9, 8, 7, 6}; //sambungkan ke pinout kolom keypad
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
PIN karakter[6]={
'1', '2', 'A', 'D', '5', '6'}; // percobaan karakter nomor rahasia kami (!)[6]={ '0', '0', '0', '0', '0', '0'}; // digunakan untuk perbandingan int z=0;
batalkan pengaturan()
{ Serial.begin(9600); lcd.begin(16, 2); lcd.print("Kunci PIN"); penundaan (1000); lcd.clear(); lcd.print("Masukkan PIN…"); }
void correctPIN() // lakukan ini jika PIN yang dimasukkan benar
{ lcd.print("* PIN Benar *"); penundaan (1000); lcd.clear(); lcd.print("Masukkan PIN…"); }
batalkan PIN salah() // lakukan ini jika PIN yang dimasukkan salah
{ lcd.print(" * Coba lagi *"); penundaan (1000); lcd.clear(); lcd.print("Masukkan PIN…"); }
batal periksa PIN()
{ int benar=0; di aku; untuk (i = 0; i < 6; i++) {
jika (coba==PIN)
{ benar++; } } if (benar==6) { correctPIN(); } else { PIN salah(); }
for (int zz=0; zz<6; zz++) { upaya[zz]='0'; } }
batal bacaKeypad()
{ char key = keypad.getKey(); if (kunci != NO_KEY) { upaya[z]=kunci; z++; switch(kunci) { kasus '*': z=0; merusak; kasus '#': z=0; penundaan(100); // untuk debounce ekstra lcd.clear(); periksaPIN(); merusak; } } }
lingkaran kosong()
{ readKeypad(); }
Proyek ini ditunjukkan dalam video.
Jadi sekarang Anda memiliki kemampuan untuk menggunakan dua belas dan enam belas tombol keypad dengan sistem Arduino Anda. Saya yakin Anda akan menemukan sesuatu yang berguna dan menarik menggunakan keypad dalam waktu dekat.
Posting ini dipersembahkan oleh pmdway.com – semuanya untuk pembuat dan penggemar elektronik, dengan pengiriman gratis ke seluruh dunia.
Direkomendasikan:
TAMPILAN Alfa-numerik BESAR: 7 Langkah (dengan Gambar)
TAMPILAN Alfa-numerik BESAR: Ada beberapa pilihan jika Anda membutuhkan tampilan yang dapat dilihat dari seberang ruangan, tampilan besar. Anda dapat membuatnya seperti 'time squared' atau 'led on glass' saya tetapi ini membutuhkan waktu sekitar 40 jam kerja yang membosankan. Jadi di sini adalah MUDAH untuk membuat tampilan besar. NS
Kirim Data Numerik Dari Satu Arduino ke Arduino Lain: 16 Langkah
Kirim Data Numerik Dari Satu Arduino ke Arduino Lain: Pengantar oleh David Palmer, CDIO Tech. di Aston University.Apakah Anda pernah perlu mengirim beberapa nomor dari satu Arduino ke yang lain? Instruksi ini menunjukkan caranya. Anda dapat dengan mudah mengujinya bekerja hanya dengan mengetikkan serangkaian angka untuk dikirim di S
Cara Menggunakan Keypad & LCD Dengan Arduino untuk Membuat Kalkulator Arduino.: 5 Langkah
Cara Menggunakan Keypad & LCD Dengan Arduino untuk Membuat Kalkulator Arduino.: Dalam tutorial ini saya akan membagikan bagaimana Anda dapat menggunakan keypad matriks 4x4 dan LCD 16x2 dengan Arduino dan menggunakannya untuk membuat Kalkulator Arduino sederhana. Jadi mari kita mulai
Cara Membuat Program Integrasi Numerik dengan Python: 10 Langkah
Cara Membuat Program Integrasi Numerik dengan Python: Ini adalah tutorial tentang cara membuat dan menjalankan program yang akan mengevaluasi integral tertentu menggunakan algoritma integrasi numerik. Langkah-langkahnya saya bagi menjadi 3 bagian: memahami algoritma yang akan digunakan untuk membuat program, coding
Antarmuka Keypad Dengan 8051 dan Menampilkan Nomor Keypad dalam 7 Segmen: 4 Langkah (dengan Gambar)
Antarmuka Keypad Dengan 8051 dan Menampilkan Nomor Keypad dalam 7 Segmen: Dalam tutorial ini saya akan memberi tahu Anda tentang bagaimana kita dapat menghubungkan keypad dengan 8051 dan menampilkan nomor keypad dalam tampilan 7 segmen