#include <Servo.h>
Servo myServo; // Objek Servo untuk mengontrol motor servo
int servoPin = 9; // Pin PWM yang terhubung ke motor servo
int leftButtonPin = 7; // Pin yang terhubung ke push button untuk putaran ke kiri
int rightButtonPin = 8; // Pin yang terhubung ke push button untuk putaran ke kanan
int servoAngle = 90; // Sudut awal motor servo (posisi tengah, 90 derajat)
void setup() {
myServo.attach(servoPin); // Menghubungkan motor servo ke pin PWM
pinMode(leftButtonPin, INPUT_PULLUP); // Mengatur pin push button kiri sebagai input dengan pull-up internal
pinMode(rightButtonPin, INPUT_PULLUP); // Mengatur pin push button kanan sebagai input dengan pull-up internal
myServo.write(servoAngle); // Menggerakkan motor servo ke posisi tengah (90 derajat)
}
void loop() {
// Membaca status push button kiri (input HIGH jika tidak ditekan karena pull-up internal)
if (digitalRead(leftButtonPin) == LOW) {
// Tombol kiri ditekan, gerakkan motor servo ke kiri (0 derajat)
myServo.write(0);
delay(500); // Delay untuk stabilisasi gerakan servo (500 ms)
// Tunggu hingga tombol dilepas sebelum membaca ulang
while (digitalRead(leftButtonPin) == LOW) {
delay(10); // Tunggu 10 ms sebelum membaca ulang status tombol
}
}
// Membaca status push button kanan (input HIGH jika tidak ditekan karena pull-up internal)
if (digitalRead(rightButtonPin) == LOW) {
// Tombol kanan ditekan, gerakkan motor servo ke kanan (180 derajat)
myServo.write(90);
delay(500); // Delay untuk stabilisasi gerakan servo (500 ms)
// Tunggu hingga tombol dilepas sebelum membaca ulang
while (digitalRead(rightButtonPin) == LOW) {
delay(10); // Tunggu 10 ms sebelum membaca ulang status tombol
}
}
}