MODUL 1
PERCOBAAN 4 KONDISI 5
+ 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]
#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
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