- Arduino-Uno
- Keypad
- LCD Character
Metode scanning keypad adalah mendeteksi hubungan pin baris dan kolom karena tombol ditekan, secara berurutan, bergantian dan satu-persatu. Lebih jelasnya sebagai berikut :
- Pin-pin kolom menjadi output dan pin-pin baris menjadi input.
- Pin kolom dan pin baris kondisi awalnya (default) berlogika 1 semua.
- Output pin kolom 1 berlogika 0 lalu deteksi :
Jika input baris 1 berubah logika menjadi 0 maka karakter ‘1’Jika input baris 2 berubah logika menjadi 0 maka karakter ‘4’Jika input baris 3 berubah logika menjadi 0 maka karakter ‘7’Jika input baris 4 berubah logika menjadi 0 maka karakter ‘*’
- Pin kolom dan pin baris kembali berlogika 1 semua.
- Output pin kolom 2 berlogika 0 lalu deteksi :
· Jika input baris 1 berubah logika menjadi 0 maka karakter ‘2’· Jika input baris 2 berubah logika menjadi 0 maka karakter ‘5’· Jika input baris 3 berubah logika menjadi 0 maka karakter ‘8’· Jika input baris 4 berubah logika menjadi 0 maka karakter ‘0’
- Pin kolom dan pin baris kembali berlogika 1 semua.
- Output pin kolom 3 berlogika 0 lalu deteksi :
· Jika input baris 1 berubah logika menjadi 0 maka karakter ‘3’· Jika input baris 2 berubah logika menjadi 0 maka karakter ‘6’· Jika input baris 3 berubah logika menjadi 0 maka karakter ‘9’· Jika input baris 4 berubah logika menjadi 0 maka karakter ‘#’
- Pin kolom dan pin baris kembali berlogika 1 semua.
- Output pin kolom 4 berlogika 0 lalu deteksi :
· Jika input baris 1 berubah logika menjadi 0 maka karakter ‘A’· Jika input baris 2 berubah logika menjadi 0 maka karakter ‘B’· Jika input baris 3 berubah logika menjadi 0 maka karakter ‘C’· Jika input baris 4 berubah logika menjadi 0 maka karakter ‘D’
#include <liquidcrystal.h> //Deklarasi library LCD#include <keypad.h> //Deklarasi library keypadconst byte ROWS = 4; //Deklarasi jumlah barisconst byte COLS = 3; //Deklarasi jumlah kolomchar keys[ROWS][COLS] = {{'1', '2', '3'},{'4', '5', '6'}, //Inisialisasi keypad matriks 4x3{'7', '8', '9'},{'*', '0', '#'}};byte rowPins[ROWS] = {10, 9, 8, 7}; //Deklarasi pin yang digunakan untuk barisbyte colPins[COLS] = {13, 12, 11}; //Deklarasi pin yang digunakan untuk kolom// Inisialisasi library dengan pin yang digunakanLiquidCrystal lcd(A0, A1, A2, A3, A4, A5);Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );void setup() { //Semua kode dalam fungsi ini akan dieksekusi sekali// Set baris dan kolom LCDlcd.begin(20, 4);lcd.setCursor(1, 2);lcd.setCursor(4, 3);lcd.setCursor(0, 0);}void loop() { //Semua kode dalam fungsi ini akan dieksekusi berulangchar key = keypad.getKey(); //Membaca keypadif (key) { //Kondisi pilihan jika keypad ditekanlcd.print(key); //Menampilkan input dari keypad pada LCD}}
- Pada saat ingin menampilkan angka 5 6 7 8 dan mulainya di baris 2 kolom 7, analisa bentuk program dan displaynya!
Jawab:
Tidak ada komentar:
Posting Komentar