// Konfigurasi pin kolom
int k1 = 7; // pin kolom 1 (sesuaikan dengan pin yang digunakan)
int k2 = 6; // pin kolom 2 (sesuaikan dengan pin yang digunakan)
int k3 = 5; // pin kolom 3 (sesuaikan dengan pin yang digunakan)
// Konfigurasi pin baris
int b1 = 11; // pin baris 1 (sesuaikan dengan pin yang digunakan)
int b2 = 10; // pin baris 2 (sesuaikan dengan pin yang digunakan)
int b3 = 9; // pin baris 3 (sesuaikan dengan pin yang digunakan)
int b4 = 8; // pin baris 4 (sesuaikan dengan pin yang digunakan)
void setup() {
pinMode(k1, OUTPUT);
pinMode(k2, OUTPUT);
pinMode(k3, OUTPUT);
pinMode(b1, INPUT);
pinMode(b2, INPUT);
pinMode(b3, INPUT);
pinMode(b4, INPUT);
Serial.begin(9600);
}
void loop() {
// Set semua kolom menjadi HIGH
digitalWrite(k1, HIGH);
digitalWrite(k2, HIGH);
digitalWrite(k3, HIGH);
// Set semua baris menjadi HIGH
digitalWrite(b1, HIGH);
digitalWrite(b2, HIGH);
digitalWrite(b3, HIGH);
digitalWrite(b4, HIGH);
// Scan Kolom 1, set kolom 1 menjadi LOW
digitalWrite(k1, LOW);
digitalWrite(k2, HIGH);
digitalWrite(k3, HIGH);
delayMicroseconds(1);
if (digitalRead(b1) == LOW) {
Serial.println("Tombol ditekan: 1");
delay(100); // Ganti dengan durasi yang diinginkan
return;
} else if (digitalRead(b2) == LOW) {
Serial.println("Tombol ditekan: 4");
delay(100); // Ganti dengan durasi yang diinginkan
return;
} else if (digitalRead(b3) == LOW) {
Serial.println("Tombol ditekan: 7");
delay(100); // Ganti dengan durasi yang diinginkan
return;
} else if (digitalRead(b4) == LOW) {
Serial.println("Tombol ditekan: *");
delay(100); // Ganti dengan durasi yang diinginkan
return;
}
}