1. Kondisi [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.
2. Rangkaian Simulasi [back]
3. Flowchart [back]
4. Listing Program [back]
#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
}
}
1. Pada rangkaian percobaan 3 kenapa digunakan pin data hanya dari D4 sampai D7?
Jawab: Setiap karakter memiliki ASCII Code dengan besar 8 bit. Dengan menggunakan pin data dari D4 sampai D7 berarti data yang diinput adalah sebesar 4 bit dan dilakukan dengan 2 tahap setelah dua kali clock. Data dikirim berupa nibble. Hanya digunakan 4 pin karena data yang akan diinput tidak banyak .
2. Pada percobaan 3 digunakan keypad 3x4. Apakah ketika kita gunakan keypad 4x4 ada perbedaan dari programnya?
Jawab: Ada, pada bagian const byte COLS = 3; diganti menjadi const byte COLS = 4; Selain itu bagian array juga disesuaikan dengan array keypad 4x4. Pada bagian byte colPins[COLS] = {13, 12, 11}; juga ditambah satu pin lagi yang terhubung dengan arduino, menjadi 4 pin.
HTML -
Download
No comments:
Post a Comment