// Sertakan library untuk Servo
#include <Servo.h>
// Deklarasikan objek Servo dan variabel
Servo myservo;
int pos = 90;
int pos2 = 180;
// Deklarasikan konstanta untuk pin-pin
const byte servoPin = 9;
const byte buttonPinA = 10;
const byte buttonPinB = 7;
// Deklarasikan konstanta untuk sudut minimum dan maksimum
const byte servoMinAngle = 0;
const byte servoMaxAngle = 180;
// Fungsi setup untuk dijalankan sekali pada awal program
void setup() {
// Hubungkan objek servo ke pin yang ditentukan
myservo.attach(servoPin);
// Tentukan pin-pin tombol sebagai input dengan resistor pull-up
pinMode(buttonPinA, INPUT_PULLUP);
pinMode(buttonPinB, INPUT_PULLUP);
}
// Fungsi loop untuk dijalankan terus-menerus
void loop() {
// Baca keadaan tombol
bool buttonStateA = digitalRead(buttonPinA);
bool buttonStateB = digitalRead(buttonPinB);
// Jika tombol A ditekan, tambahkan nilai pos
if (buttonStateA == 0) {
pos++;
}
// Jika tombol B ditekan, kurangi nilai pos
else if (buttonStateB == 0) {
pos2--;
}
// Batasi nilai pos ke servoMinAngle dan servoMaxAngle
pos = constrain(pos, servoMinAngle, servoMaxAngle);
// Tetapkan posisi servo
myservo.write(pos);
// Tunggu selama 15 milidetik
delay(15);
}