#include <Keypad.h>
#include <Servo.h>
// Konfigurasi Keypad
const byte ROWS = 4; // Jumlah baris
const byte COLS = 4; // Jumlah kolom
char keys[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 ke Arduino
byte colPins[COLS] = {5, 4, 3, 2}; // Pin kolom ke Arduino
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
// Konfigurasi Servo
Servo servo1, servo2, servo3, servo4;
void setup() {
// Inisialisasi Servo
servo1.attach(10);
servo2.attach(11);
servo3.attach(12);
servo4.attach(13);
// Atur posisi awal servo
servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
// Inisialisasi Serial Monitor (opsional)
Serial.begin(9600);
}
void loop() {
char key = keypad.getKey(); // Membaca input dari keypad
if (key) { // Jika ada tombol yang ditekan
Serial.println(key); // Tampilkan tombol yang ditekan di Serial Monitor
// Tentukan aksi berdasarkan tombol yang ditekan
switch (key) {
case '1': // Servo 1
servo1.write(90); // Gerakkan Servo 1 ke posisi tertentu
delay(1000); // Tunggu 1 detik
servo1.write(0); // Kembali ke posisi awal
break;
case '2': // Servo 2
servo2.write(90);
delay(1000);
servo2.write(0);
break;
case '3': // Servo 3
servo3.write(90);
delay(1000);
servo3.write(0);
break;
case '4': // Servo 4
servo4.write(90);
delay(1000);
servo4.write(0);
break;
default:
Serial.println("Tombol tidak valid");
}
}
}