Laporan Akhir 2

 Modul I General Input & Output



1. Hardware [Daftar]

        a. Arduino Uno
 

        b. Keypad


        
        c. LCD


2. Gambar Rangkaian [Daftar]




   Komponen yang digunakan pada percobaan berupa arduino uno, LCD, dan keypad 4x3. Pada LDC, akan dihubungkan pada RS, E, D4, D5, D6, dan D7 dihubungkan ke Arduino pada pin A0-A5 secara berurutan. Sementara itu, pada keypad yang terdiri atas baris A-D, dan kolom 1-3. Pada baris A-D akan dihubungkan ke pin 10, 9, 8, 7 pada arduino. Sedangkan untuk kolom 1-3, dihubungkan pada pin 13, 12, 11 pada arduino.
    Pada programnya, pertama kali di deklarasikan library dari keypad dan LCD. Kemudian deklarasi dari banyaknya baris dan kolom, dan inisialisasi keypadnya. Lalu dideklarasikan juga untuk pin-pin yang terhubung pada keypad dan LDC. Selanjutnya baru lah di tentukan pilihan pada keypad, yaitu pilihan pada angka 6, dan dimaksudkan ketika menekan angka 6 akan muncul kata "Laboratorium Elektronika Industri" pada LCD. Pada lcd.setCursor nantinya akan menentukan posisi awal dari kata yang akan di tulis, dan pada lcd.print lah untuk menuliskan kata yang akan di tampilkan. Lalu, di setting dengan delay selama 5000ms, dan dilanjutkan lcd.clear, maka pada LCD setelah menampilkan kata selama 5000ms, LCD akan kembali reset dalam keadaan sebelum ditekan angka 6.

#include <Keypad.h>
#include <LiquidCrystal.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'}, //Inisialisasi keypad matriks 4x3
{'7','8','9'},
{'*','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(16, 2);
lcd.setCursor(8,0);  // setcursor utk menetukan karakter muncul awalnya

}
void loop() { //Semua kode dalam fungsi ini akan dieksekusi berulangchar
char key = keypad.getKey(); //Membaca keypad
if (key == '6') //Kondisi pilihan jika keypad ditekan
{
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Laboratorium");

  
  lcd.setCursor(0,1);
  lcd.print("Elektronika Industri");
  
  delay(5000);
}
if (key !='6')
{
  lcd.clear();
  lcd.setCursor(0,0);
  delay(100);
}
lcd.print(key); //Menampilkan input dari keypad pada LCD
}

5. Video Simulasi [Daftar]


6. Analisa [Daftar]

     1. Apa yang terjadi bila kita memberikan logika HIGH pada pin R/W LCD? Jelaskan mengapa terjadi hal itu?
jawab:
    Pin R/W merupakan pin yang menentukan mode baca(read) atau mode tulis(write) dari data yang terdapat pada D0-D7. Jika kita memberi logika low, maka dalam fungsi write (menulis data), sementara itu jika memberi logika high, akan dalam fungsi read(membaca data). Oleh karena itu, jika kita memberikan logika high pada pin R/W, maka LCD akan berada fungsi read(membaca data).

    2. Apa yang terjadi bila kita menekan angka 2 ketika kita sedang menekan angka 3 pada keypad?
jawab:
    Prinsip kerja keypad adalah dengan metode scanning, yang mana baris pada keypad berfungsi sebagai input dan kolom sebagai output. Keypad akan melakukan scanning pada tiap-tiap baris terlebih dahulu, kemudian jika sudah terdeteksi pada bagian mana keypad yang ditekan, maka pada kolom tempat angka yang ditekan tersebut akan bertidak sebagai output yang nantinya akan mengirimkan sinyal, agar output yang terbaca pada angka yang ditekan. Jadi, ketika kita menekan angka 2 ketika kita sedang menekan angka 3, karena angka 3 dan angka 2 berada pada baris yang sama, tetapi kolom angka 2 lebih dahulu di scan keypad dibanding kolom angka 3, maka output yang terbaca adalah angka 2. Oleh karena itu, output dari keypad adalah angka 2.

7. Link Download [Daftar]

Materi HTML 

Tidak ada komentar:

Posting Komentar

Home