#include <ESP32Servo.h>
Servo myservo; // Membuat objek servo untuk mengontrol servo
int potPin = 32; // Pin ADC yang terhubung ke potensiometer
int potValue = 0; // Variable untuk menyimpan nilai pembacaan potensiometer
int angle = 0; // Variable untuk menyimpan sudut servo
int previousPotValue = 0; // Variable untuk menyimpan nilai potensiometer sebelumnya
void setup() {
Serial.begin(9600); // Inisialisasi Serial Monitor
myservo.attach(18); // Menyambungkan servo pada pin 18 ke objek servo
}
void loop() {
// Membaca nilai dari potensiometer
potValue = analogRead(potPin);
// Mengonversi nilai potensiometer ke sudut servo (0-180)
angle = map(potValue, 0, 4095, 0, 180); // Rentang ADC pada ESP32 adalah 0-4095
// Mengecek apakah nilai potensiometer telah berubah
if (potValue != previousPotValue) {
// Menggerakkan servo sesuai dengan sudut yang diinginkan
myservo.write(angle);
// Mencetak nilai potensiometer dan sudut servo ke Serial Monitor
Serial.print("Nilai Potensiometer: ");
Serial.print(potValue);
Serial.print(" | Sudut Servo: ");
Serial.println(angle);
// Memperbarui nilai potensiometer sebelumnya
previousPotValue = potValue;
}
// Memberikan sedikit delay untuk stabilitas
delay(15);
}