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
7. Ground
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;
}
}
}
}
Sertakan Touch sensor dan tampilan masukkan password pada LCD ketika sensor berlogika HIGH maka password dapat dimasukkan.
᭒ HTML↠ klik disini
᭒ Rangkaian Simulasi ↠ klik disini
᭒ Rangkaian Simulasi ↠ klik disini
᭒ Gambar Simulasi ↠ klik disini
᭒ Video Simulasi ↠ klik disini
᭒ Listing Program ↠ klik disini
᭒ Video Simulasi ↠ klik disini
᭒ Listing Program ↠ klik disini
Tidak ada komentar:
Posting Komentar