#include <Servo.h>
// Deklarasikan objek servo
Servo myservo;
// Tentukan pin analog untuk potensiometer
const int potPin = PA0;
// Tentukan pin PWM untuk servo
const int servoPin = PB4;
// Variabel untuk menyimpan nilai yang dibaca
int potValue = 0;
int servoAngle = 0;
void setup() {
// Hubungkan objek servo ke pin PWM
myservo.attach(servoPin);
// Mulai komunikasi serial untuk debugging (opsional)
Serial.begin(9600);
}
void loop() {
// Baca nilai analog dari potensiometer (0-4095 pada Nucleo)
potValue = analogRead(potPin);
// Konversi nilai potensiometer (0-4095) ke sudut servo (0-180)
// Fungsi map() secara otomatis menskalakan nilai input ke rentang output
servoAngle = map(potValue, 0, 4095, 0, 180);
// Atur posisi servo sesuai dengan nilai yang dikonversi
myservo.write(servoAngle);
// Kirim nilai ke Serial Monitor untuk verifikasi
Serial.print("Nilai Potensiometer: ");
Serial.print(potValue);
Serial.print(" -> Sudut Servo: ");
Serial.println(servoAngle);
// Tunda sebentar
delay(15);
}