#include <Servo.h>
const int rightLedPin = 13; // Pin LED kanan
const int leftLedPin = 12; // Pin LED kiri
const int rightButtonPin = 3; // Pin tombol kanan
const int leftButtonPin = 2; // Pin tombol kiri
const int servoPin = 9; // Pin servo
int rightButtonState = 0; // Status tombol kanan
int leftButtonState = 0; // Status tombol kiri
Servo myServo;
void setup() {
pinMode(rightLedPin, OUTPUT); // Atur pin LED kanan sebagai output
pinMode(leftLedPin, OUTPUT); // Atur pin LED kiri sebagai output
pinMode(rightButtonPin, INPUT); // Atur pin tombol kanan sebagai input
pinMode(leftButtonPin, INPUT); // Atur pin tombol kiri sebagai input
myServo.attach(servoPin); // Sambungkan servo ke pin servo
myServo.write(90); // Posisikan servo di tengah (90 derajat)
}
void loop() {
rightButtonState = digitalRead(rightButtonPin); // Baca status tombol kanan
leftButtonState = digitalRead(leftButtonPin); // Baca status tombol kiri
if (rightButtonState == HIGH) { // Jika tombol kanan ditekan
myServo.write(180); // Belokkan servo ke kanan (180 derajat)
blinkLED(rightLedPin); // Kedipkan LED kanan
} else if (leftButtonState == HIGH) { // Jika tombol kiri ditekan
myServo.write(0); // Belokkan servo ke kiri (0 derajat)
blinkLED(leftLedPin); // Kedipkan LED kiri
} else {
myServo.write(90); // Kembalikan servo ke posisi tengah (90 derajat)
}
}
void blinkLED(int ledPin) {
for (int i = 0; i < 5; i++) { // Berkedip 5 kali
digitalWrite(ledPin, HIGH); // Nyalakan LED
delay(250); // Tunggu 250 milidetik
digitalWrite(ledPin, LOW); // Matikan LED
delay(250); // Tunggu 250 milidetik
}
}