1. Tujuan[ K E M B A L I]
- Merangkai dan menguji aplikasi output pada mikrokontroller Arduino
- Merangkai dan menguji input pada mikrokontroller Arduino
- Merangkai dan menguji I/O pada mikrokontroller Arduino
- LCD
- Keypad
- USB
- Jumper
- Arduino
- Breadboard
#include <Keypad.h>
#include <LiquidCrystal.h>
const byte ROWS = 4; //Deklarasi jumlah baris
const byte COLS = 4; //Deklarasi jumlah kolom
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'}, //Inisialisasi keypad matriks 4x3
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6}; //Deklarasi pin yang digunakan untuk baris
byte colPins[COLS] = {13, 12, 11, 10}; //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("12345678"); //Menampilkan input dari keypad pada LCD
}
}
1. Jelaskan listing program sesuai kondisi masing masing kelompok
Pertama-tama kita memasukan library Keypad dan LCD ke dalam arduino. Lalu kita mendeklarasikan jumlah kolom dan baris untuk keypad (4x). Selanjutnya kita menginisialisasikan tombol-tombol pada keypad dalam bentuk matriks 4x4.
Kita melakukan deklarasi pada pin-pin pada arduino yang digunakan untuk baris dan kolom keypad (pin 6, 8, 7, 9 untuk baris, pin 10, 11, 12, 13 untuk kolom). Selanjutnya dilakukan inisiasi library LCD dengan pin yang digunakan (pin A0, A1, A2, A3, A4, dan A5). Lalu fungsi void setup untuk melakukan set cursor pada baris dan kolom LCD.
Fungsi void loop digunakan untuk melakukan perulangan. Dideklarasikan program untuk menampilkan karakter “12345678” pada LCD jika ditekan tombol ‘#’ pada keypad.
2. Bagaimana jika pin D4 sampai D7 LCD dipindahkan ke pin digital 0 - 3? berikan analisa!
Jika dipindahkan ke pin D0-D3, maka data berubah menjadi 8 bit.
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.
3. Apa pengaruh V0 terhadap LCD, jelaskan fungsi pin RS, RW, dan E serta bagaimana menghubungkannya agar LCD dapat menampilkan karakter
RS berfungsi sebagai pemilihan register control ataupun register data dimana jika berlogika 0 maka dia berupa perintah dan logika 1 untuk register data. Register control berfungsi sebagai konfigurasi dari LCD dan register data digunakan untuk menuliskan data berupa karakter untuk ditampilkan pada LCD. RS dihubungkan ke pin A0 arduino.
RW berfungsi sebagai membaca atau menuliskan data. RW dihubungkan ke ground.
E berfungsi mengaktifkan LCD ketika penulisan data ke register control dan register data. E dihubungkan ke pin A1 arduino.
Tidak ada komentar:
Posting Komentar