1.
Komponen [back] a. Keypad
Keypad Matriks adalah tombol-tombol yang disusun secara maktriks (baris x kolom) sehingga dapat mengurangi penggunaan pin input. Sebagai contoh, Keypad Matriks
4×4 cukup menggunakan 8 pin untuk 16 tombol. Hal tersebut dimungkinkan
karena rangkaian tombol yang disusun secara horizontal membentuk baris
dan secara vertikal membentuk kolom.
b. LCD Character
Arduino Uno
adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14
pin input dari output digital dimana 6 pin input tersebut dapat
digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator
kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk
mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan
Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik
dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya.
c. Arduino Uno
Arduino Uno
adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14
pin input dari output digital dimana 6 pin input tersebut dapat
digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator
kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk
mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan
Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik
dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya.

#include <LiquidCrystal.h> //Deklarasi libary LCD
#include <Keypad.h> //Deklarasi library Keypad
const byte ROWS = 4; //Deklarasi jumlah baris
const byte COLS = 3; /Deklarasi jumlah kolom
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'}, //Inisialisasi keypad matriks 4x3
{'*','0','#'}
};
byte rowPins[ROWS] = {10, 9, 8, 7}; //Deklarasi pin yang digunakan untuk baris
byte colPins[COLS] = {13, 12, 11}; //Deklarasi pin yang digunakan untuk kolom
//Inisialisasi Library dengan pin yang digunakan
LiquidCrystal 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 LCD
lcd.begin(20, 4);
lcd.setCursor(1,2);
lcd.setCursor(4,3);
lcd.setCursor(0,0);
}
void loop() { //Semua kode dalam fungsi ini akan dieksekusi berulang
char key = keypad.getKey(); //Membaca keypad
if (key) { //Kondisi pilihan jika keypad ditekan
lcd.print(key); //Menampilkan input dari keypad pada LCD
}
}
Prinsip kerja rangkaian:
pada rangkaian ini digunakan keypad matrix (4x3) sebagai perangkat keras untuk memberikan inputan dan LCD sebagai perangkat kerat untuk menampilkan hasil / output. pin-pin digital pada atduino pada percobaan ini berperan sebagai pin input dan pin-pin analog sebagai pin output.
pin 7 - 10 pada pin digital arduino uno dihubungkan dengan pin baris keypad, dan pin 11 - 13 dihubungkan dengan pin kolom pada keypad.
kemudian pin-pin analog A0 - A5 dihubungkan secara berurutan dengan pin RS, E, D4, D5, D6, D7 dan pin RW dihubungkan ke ground.
jadi nanti saat tombol pada keypad ditekan, maka akan menghasilkan impuls pulsa yang akan menjadi input. inputan akan diproses oleh arduino uno sesuai dengan program yang sudah di masukkan, kemudian hasil pengolahan data atau output akan ditampilkan melalui layar pada LCD.
1. Pada rangkaian percobaan 3, kenapa kita
menggunakan pin D4-D7 kenapa tidak D0-D7?
Jawab:
Penggunaan pin D4-D7 merupakan mode 4
bit pada LCD, sedangkan pin D0-D7 merupakan mode 8 bit pada LCD. Dengan
demikian menggunakan pin D4-D7 memiliki keuntungan karena hanya membutuhkan pin
output yang lebih sedikit.
2. Pada percobaan 3 kita menggunakan keypad
matrix (4 x 3), apa perbedaannya jika diganti dengan keypad (4 x 4)?
Jawab:
Jika kita menggunakan keypad matrix
(4x4) maka program pada arduino uno akan diubah menjadi:
const
byte ROWS = 4;
const
byte COLS = 4 ;
char
keys[ROWS][COLS] = {
{'1','2','3','÷'},
{'4','5','6','×'},
{'7','8','9','-'},
{'*','0','#','+'}
}
Dan
pada bagian byte colPins[COLS] = {13,
12, 11}; juga ditambah satu pin lagi yang terhubung dengan arduino, menjadi 4
pin.
Link download listing program [
disini]
Link download flowchart [
disini]
Tidak ada komentar:
Posting Komentar