Laporan Akhir Modul 1 Percobaan 3 Up Uc



  1. Tujuan [Kembali]
    1. Merangkai dan menguji aplikasi output pada mikrokontroller Arduino
    2. Merangkai dan menguji input pada mikrokontroller Arduino
    3. Merangkai dan menguji I/O pada mikrokontroller Arduino

    Kondisi: LCD menampilkan "12345678" ketika pada keypad dipencet tombol '#'.


  2. Hardware [Kembali]
  3. Bahan:

    • LCD


    • Keypad

    Alat:

    • Arduino


    • Jumper


    • USB


    • Breadboard


  4. Rangkaian Percobaan [Kembali]


  5. Prinsip kerja rangkaian ini adalah memprogram arduino supaya keypad jika ditekan "#" akan muncul keluaran 12345678. Keypad dan LCD dihubungkan ke pin-pin arduino agar arduino dapat menginputkan dan mengoutputkan pada pin yang dihubungkan ke keypad dan LCD. Untuk listing program dapat dilihat di bawah. Dengan listing program tersebut, jika keypad ditekan  "#" maka akan muncul keluaran "12345678" di LCD


  6. Listing Program dan Flowchart [Kembali]
  7. Listing program:

    #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==7) //Kondisi pilihan jika keypad ditekan
    {
    lcd.print('pr); //Menampilkan input dari keypad pada LCD
    }
    }

    Flowchart:


  8. Analisa [Kembali]
    1. Jelaskan listing program sesuai kondisi masing masing kelompok!
    2. Jawab:

      Pertama masukan library Keypad dan LCD ke dalam arduino. Lalu 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.

    3. Bagaimana jika pin D4 sampai D7 LCD dipindahkan ke pin digital 0 - 3? berikan analisa!
    4. Jawab:

      Jika dipindahkan ke pin D0-D3, maka data berubah menjadi 8 bit. Jika menggunakan pin data dari D4 sampai D7 berarti data yang diinput adalah sebesar 4 bit dan dilakukan dengan 2 tahap setelah dua kali clock. Kita hanya menggunakan 4 pin karena data yang akan diinput tidak banyak.

    5. Apa pengaruh V0 terhadap LCD, jelaskan fungsi pin RS, RW, dan E serta bagaimana menghubungkannya agar LCD dapat menampilkan karakter
    6. Jawab:

      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.


  9. Video [Kembali]



  10. Link Download [Kembali]
    1. HTML
    2. Rangkaian Simulasi
    3. Listing Program
    4. Datasheet Arduino
    5. Datasheet Keypad
    6. Library
    7. Video

Tidak ada komentar:

Posting Komentar