#include <ESP32Servo.h>
Servo servo;
int pos = 0; // Variabel untuk menyimpan posisi servo
int buttonPin1 = 21; // Pin untuk tombol 1 (D21)
int buttonPin2 = 19; // Pin untuk tombol 2 (D19)
int ledPin1 = 14; // Pin untuk LED 1 (D14)
int ledPin2 = 27; // Pin untuk LED 2 (D27)
int buttonState1 = 0; // Variabel untuk menyimpan status tombol 1
int buttonState2 = 0; // Variabel untuk menyimpan status tombol 2
void setup() {
servo.attach(23); // Hubungkan servo ke pin 23
pinMode(buttonPin1, INPUT_PULLUP); // Set tombol 1 sebagai input dengan pull-up
pinMode(buttonPin2, INPUT_PULLUP); // Set tombol 2 sebagai input dengan pull-up
pinMode(ledPin1, OUTPUT); // Set LED 1 sebagai output
pinMode(ledPin2, OUTPUT); // Set LED 2 sebagai output
}
void loop() {
// Baca status tombol 1
buttonState1 = digitalRead(buttonPin1);
// Jika tombol 1 ditekan, gerakkan servo ke 360 derajat dan nyalakan LED 1
if (buttonState1 == LOW) {
servo.write(360);
digitalWrite(ledPin1, HIGH);
} else {
digitalWrite(ledPin1, LOW);
// Jika tombol 1 tidak ditekan, baca status tombol 2
buttonState2 = digitalRead(buttonPin2);
// Jika tombol 2 ditekan, kembalikan servo ke posisi awal (0 derajat) dan nyalakan LED 2
if (buttonState2 == LOW) {
servo.write(0);
digitalWrite(ledPin2, HIGH);
} else {
digitalWrite(ledPin2, LOW);
}
}
}