Tugas Pendahuluan 1 Modul 1 Percobaan 4


Percobaan IV

Keypad dan LCD

1. Prosedur [Kembali]

  • Rangkailah seperti rangkaian berikut
  • Buka Arduino IDE dan masukan listing program
  • Upload program ke arduino
  • Variasikan tombol yang ditekan dan amati keluarannya pada LCD

2. Hardware dan Diagram Blok [Kembali]

    1. Arduino Uno

    2. Sensor Touch

    3. Keypad

    4. LCD

    5. Logic state
    6. Power supply

    7. Ground


Diagram Blok:


Gambar 1. Rangkaian Simulasi.

Prinsip Kerja:

    Pada rangkaian percobaan 4 kondisi 5 ini menggunakan sensor touch dan keypad yang berfungsi sebagai input dan LCD berfungsi sebagai output. Dimana ketika sensor touch berlogika 0 (LOW) maka output pada LCD akan menampilkan "Masukkan password" dan input pada keypad tidak bisa dimasukkan angkanya. Dan ketika sensor touch berlogika 1 (HIGH) maka output pada LCD menampilkan "Password : " sehingga input pada keypad dapat dimasukkan angkanya, dimana sesuai dengan kondisi 5 yaitu sertakan touch sensor dan tampilan masukkan password pada LCD ketika sensor berlogika HIGH maka password dapat dimasukkan.
 

4. Flowchart dan Listing Program [Kembali]

Flowchart:


Listing Program:

#include <Keypad.h>
#include <LiquidCrystal.h>

const int numRows = 4; // Jumlah baris keypad
const int numCols = 3; // Jumlah kolom keypad

// Matriks untuk keypad
char keymap[numRows][numCols] = {
  {'1','2','3'},
  {'4','5','6'},
  {'7','8','9'},
  {'*','0','#'}
};

// Pin untuk keypad
byte rowPins[numRows] = {3, 2, 1, 0};
byte colPins[numCols] = {4, 5, 6};

Keypad keypad = Keypad(makeKeymap(keymap), rowPins, colPins, numRows, numCols);

LiquidCrystal lcd(12, 11, 10, 9, 8, 7); // (RS, E, D4, D5, D6, D7)

const int touchSensorPin = 13; // Pin untuk sensor sentuh

bool passwordEntered = false; // Apakah password sudah dimasukkan

void setup() {
  lcd.begin(16, 2);
  pinMode(touchSensorPin, INPUT);
  lcd.print("Masukkan password:");
}

void loop() {
  char key = keypad.getKey();
  if (key != NO_KEY && !passwordEntered) {
    lcd.print(key);
  }
 
  if (digitalRead(touchSensorPin) == HIGH && !passwordEntered) {
    // Sensor sentuh aktif, minta masukkan password
    lcd.clear();
    lcd.print("Password:");
    passwordEntered = true;
    // Tunggu sampai tombol keypad ditekan dan tampilkan karakter pada LCD
    while (true) {
      char key = keypad.getKey();
      if (key != NO_KEY) {
        lcd.print(key);
      }
      // Keluar dari loop jika tombol "#" ditekan
      if (key == '#') {
        break;
      }
    }
  }
}

5. Kondisi [Kembali]

    Sertakan Touch sensor dan tampilan masukkan password pada LCD ketika sensor berlogika HIGH maka password dapat dimasukkan.

᭒ HTML↠ klik disini
Rangkaian Simulasi ↠ klik disini
᭒ Gambar Simulasi ↠ klik disini
᭒ Video Simulasi ↠ klik disini
᭒ Listing Program ↠ klik disini






Tidak ada komentar:

Posting Komentar

Bahan Presentasi Untuk Matakuliah Sistem Digital 2023 OLEH: Fadhila Amanda 2110952031 Dosen Pengampu: Dr. Darwison,MT Referensi: a. Anil K. ...