- Back to Home »
- Tugas Pendahuluan 2
Senin, 04 Maret 2024
Tugas Pendahuluan 2
== Percobaan 4 Kondisi 1 ==
- Membuka proteus
- Buka file proteus yang sudah disesuaikan dengan kondisi
- Running rangkaiannya
- Sesuaikan dengan kondisi yang diinginkan
Keypad
#include <LettersKeypad.h>
#include <Keypad.h>
#include <LiquidCrystal.h>
// Penjelasan Keypad
const byte ROWS = 4;
const byte COLS = 3;
// LCD dihubungkan dengan pin A0 hingga A5 pada Arduino
const int rs = A0, en = A1, d4 = A2, d5 = A3, d6 = A4, d7 = A5;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// Membuat objek LCD dengan pin yang telah ditentukan sebelumnya
char hexaKeys[ROWS][COLS] = {
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
{'*', '0', '#'}
};
// Connections to Arduino
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3};
// Penjelasan LED pins
const int ledPins[] = {10, 11, 12, 13}; // Assuming LEDs are connected to digital pins 10 to 13
// Menentukan pin yang digunakan untuk mengontrol LED, di sini diasumsikan LED dihubungkan ke pin digital 10 hingga 13
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
void setup() {
// Setup serial monitor
Serial.begin(9600);
lcd.begin(16, 2);
// Inisialisasi pin LED sebagai output
for (int i = 0; i < 4; ++i) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
// Membaca tombol yang ditekan pada keypad
char customKey = customKeypad.getKey();
if (customKey) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Tombol: ");
lcd.print(customKey);
// Jika tombol ditekan, tampilkan tombol tersebut pada LCD dan aktifkan LED sesuai dengan kombinasi yang ditentukan
switch (customKey) {
case '1':
activateLEDs(0, 0, 0, 1); // Turn on LED 4
break;
case '2':
activateLEDs(0, 0, 1, 0); // Turn on LED 3
break;
case '3':
activateLEDs(0, 1, 0, 0); // Turn on LEDs 3 and 4
break;
case '4':
activateLEDs(1, 0, 0, 0); // Turn on LED 2
break;
case '5':
activateLEDs(1, 1, 0, 0); // Turn on LEDs 2 and 4
break;
case '6':
activateLEDs(0, 1, 1, 0); // Turn on LEDs 2 and 3
break;
case '7':
activateLEDs(0, 0, 1, 1); // Turn on LEDs 2, 3, and 4
break;
case '8':
activateLEDs(0, 1, 1, 1); // Turn on LED 1
break;
case '9':
activateLEDs(1, 1, 1, 1); // Turn on LEDs 1 and 4
break;
case '0':
activateLEDs(0, 0, 0, 0); // Turn on LEDs 1 and 3
break;
case '*':
activateLEDs(0, 0, 0, 0); // Turn on LEDs 1, 3, and 4
break;
case '#':
activateLEDs(0, 0, 0, 0); // Turn on LEDs 1 and 2
break;
default:
// Matikan semua LED jika ada salah tekan
activateLEDs(0, 0, 0, 0);
break;
}
}
}
// Mengaktifkan atau menonaktifkan LED berdasarkan kombinasi yang diberikan
void activateLEDs(int led1, int led2, int led3, int led4) {
digitalWrite(ledPins[0], led1);
digitalWrite(ledPins[1], led2);
digitalWrite(ledPins[2], led3);
digitalWrite(ledPins[3], led4);
}
Modul 1: Percobaan 4 Kondisi 1
"Sertakan dengan 4 LED dan tiap tombol keypad menghasilkan kombinasi LED serta keterangan kombinasi pada LCD"