Percobaan 4
Keypad & LCD
1. Foto Hardware dan Diagram Blok [Kembali]
Arduino Uno
LCD 16x2
Keypad
Diagram Blok:
2. Prosedur Percobaan [Kembali]
1. Susun semua komponen.
2. Buat program menggunakan aplikasi Arduino IDE.
3. Unggah program ke Arduino setelah selesai.
4. Jalankan program pada simulasi dan uji dengan modul.
2. Buat program menggunakan aplikasi Arduino IDE.
3. Unggah program ke Arduino setelah selesai.
4. Jalankan program pada simulasi dan uji dengan modul.
Rangkaian Simulasi
Prinsip Kerja
Rangkaian ini terdiri dari beberapa komponen, termasuk mikrokontroler (ATMEGA328P-PU), keypad, potensiometer, dan LCD. Prinsip kerja rangkaian ini adalah bahwa keypad 3x4 bertindak sebagai input, sementara LCD bertindak sebagai output, dan potensiometer digunakan untuk mengatur kontras dan tegangan pada LCD. Program Arduino yang telah dibuat mencakup sebuah array matriks 3x4 yang merepresentasikan layout keypad, di mana setiap karakter terkait dengan tombol pada keypad. Jadi, ketika tombol pada keypad ditekan, teks "Tombol: (tombol yang ditekan)" akan ditampilkan pada LCD. Contohnya, ketika tombol 1 ditekan, LCD akan menampilkan "Tombol: 1", dan hal yang sama berlaku untuk tombol "#" (pound), "*", dan tombol 0-9.
4. Flowchart dan Listing Program [Kembali]
Flowchart
Listing Program:
#include <Keypad.h>
#include <LiquidCrystal.h>
// Constants for row and column sizes
const byte ROWS = 4;
const byte COLS = 4;
// Array to represent keys on keypad
char hexaKeys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
// Connections to Arduino
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
// Create keypad object
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);
void setup() {
// Setup serial monitor
Serial.begin(9600);
lcd.begin(16, 2);
}
void loop() {
// Get key value if pressed
char customKey = customKeypad.getKey();
if (customKey) {
// Print key value to serial monitor
lcd.setCursor(0, 0);
lcd.print("Tombol :");
lcd.print(customKey);
}
}
#include <LiquidCrystal.h>
// Constants for row and column sizes
const byte ROWS = 4;
const byte COLS = 4;
// Array to represent keys on keypad
char hexaKeys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
// Connections to Arduino
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
// Create keypad object
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);
void setup() {
// Setup serial monitor
Serial.begin(9600);
lcd.begin(16, 2);
}
void loop() {
// Get key value if pressed
char customKey = customKeypad.getKey();
if (customKey) {
// Print key value to serial monitor
lcd.setCursor(0, 0);
lcd.print("Tombol :");
lcd.print(customKey);
}
}
Sertakan dengan 4 LED dan tiap tombol keypad menghasilkan kombinasi LED serta keterangan kombinasi pada LCD.
Download HTML
Download Program
Download Video Simulasi
Download Datasheet LCD
Download Datasheet Arduino Uno
Download Datasheet Keypad 4x4
Tidak ada komentar:
Posting Komentar