PERCOBAAN 4
Keypad dan LCD
1. Rangkai semua komponen sesuai kondisi yang dipilih
2. Buat program di aplikasi arduino IDE
3. Setelah selesai masukkan program ke arduino di proteus
4. Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
5. Selesai
2. Hardware dan diagram blok
[Kembali]
A. Hardware
1. Sensor Touch
2. LCD
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
Jalan kerja pada rangkaian ini ialah dimana sensor touch merupakan sebagai input, keypad sebagai input dan lcd merupakan Output yang dimana ketika keypad ditekan akan mengeluarkan tulisan tombol pada lcd dan ketika sensor touch berlogika 1 maka LCD akan hidup.
Ketika program berjalan dan diunggah ke Arduino, layar LCD akan menampilkan "Touch Mode:" sesuai dengan logika yang digunakan dari touch sensor, jika berlogika High maka akan On sebaliknya jika berlogika low maka akan Off. Kemudian, program akan terus berjalan dalam loop utama, menunggu input dari pengguna. Jika pengguna memasukkan karakter dari keypad, karakter tersebut akan ditampilkan di layar LCD, memungkinkan pengguna memasukkan karakter satu per satu.
4. FlowChart
[Kembali]
#include <LiquidCrystal.h>
#include <Keypad.h>
// Deklarasi pin keypad
const byte ROWS = 4; // Jumlah baris keypad
const byte COLS = 4; // Jumlah kolom keypad
LiquidCrystal lcd(A0, A1, A2, A3, A4, A5); // Deklarasi pin LCD
char hexaKeys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6}; // Pin baris keypad
byte colPins[COLS] = {5, 4, 3, 2}; // Pin kolom keypad
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
const int touchPin = 2; // Touch sensor terhubung ke port 2 di Arduino Uno
bool touchMode = false;
void setup() {
lcd.begin(16, 2); // Mengatur jumlah kolom dan baris LCD
pinMode(touchPin, INPUT); // Mengatur pin sensor touch sebagai input
}
void loop() {
char customKey = customKeypad.getKey(); // Membaca tombol yang ditekan pada keypad
if (digitalRead(touchPin) == HIGH) {
lcd.setCursor(0, 1);
lcd.print("Touch Mode: ON ");
touchMode = true;
} else {
lcd.setCursor(0, 1);
lcd.print("Touch Mode: OFF");
touchMode = false;
}
if (customKey) {
lcd.setCursor(0, 0); // Mengatur posisi kursor di baris 1 kolom 1
lcd.print("Tombol : "); // Menampilkan teks "Tombol: " di LCD
lcd.print(customKey); // Menampilkan tombol yang ditekan di LCD
if (touchMode) {
// Proses sesuai dengan mode touch
// Misalnya, tambahkan logika khusus di sini
} else {
// Proses sesuai dengan mode keypad
// Misalnya, tambahkan logika khusus di sini
}
}
}
B. Flowchart
Kondisi →Percobaan 4 Kondisi 7
Sertakan Touch sensor, mode diatur dengan keypad, tampilan mode pada LCD dan mode dapat diatur ketika Touch sensor berlogika HIGH
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
Tidak ada komentar:
Posting Komentar