Egi Rahman 2110952042

.

TP MODUL 1 P4k5



MODUL 1
PERCOBAAN 4 KONDISI 5

1. Prosedur
[Kembali]

+ Rangkai semua komponen sesuai kondisi yang dipilih
+ buat program di aplikasi arduino IDE
+ setelah selesai masukkan program ke arduino di proteus
+ jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
+ Selesai

2. Hardware dan diagram blok [Kembali]
      a. hardware

                                                                        
1. Sensor touch
2. LCD 2X16
3. Arduino Uno
4. Keypad 

            b. Digram Blok



3. Rangkaian Simulasi dan Prinsip kerja [Kembali]
Gambar Rangkaian Sebelum Disimulasikan
                                    

Gambar Rangkaian Setelah Disimulasikan

                                        
PRINSIP KERJA
    Saat program dijalankan dan di masukan ke arduino, pesan "Masukkan password:" ditampilkan di LCD. Selanjutnya, program terus berjalan dalam loop utama, menunggu input dari pengguna. Jika ada input dari keypad dan password belum dimasukkan, karakter tersebut ditampilkan di LCD, memungkinkan pengguna memasukkan karakter password satu per satu. Ketika sensor sentuh terdeteksi dan password belum dimasukkan, pesan di LCD dihapus dan diganti dengan "Password:", menandakan dimulainya proses memasukkan password. Selanjutnya, program memasuki loop untuk membaca input dari keypad dan menampilkannya di LCD. Proses ini berlanjut hingga tombol "#" ditekan, menandakan bahwa pengguna telah selesai memasukkan password. Setelah itu, program kembali ke awal, siap untuk memulai proses memasukkan password lagi jika diperlukan. Saat disimulasikan di Proteus, prinsip kerja akan sama dengan di dunia nyata, di mana pengguna akan melihat pesan dan interaksi yang sama pada layar LCD dan keypad.

4. FlowChart [Kembali]

a. 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;
      }
    }
  }
}


b. Flowchart







5. Kondisi [Kembali]

Kondisi  →Percobaan 4 Kondisi 5
        Sertakan Touch sensor dan tampilan masukkan password pada LCD ketika sensor berlogika HIGH maka password dapat dimasukkan

6. Video Simulasi [Kembali]






7. Download File [Kembali]

Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Simulasi Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet TOUCH SENSOR  klik disini
Download Datasheet LCD 2X16 klik disini

0 komentar:

Posting Komentar

Blogger news

Blogger templates