#include <Servo.h>
// Inisialisasi pin servo dan LED
const int servoPin = 9;
const int ledPins[] = {2, 3, 4, 5, 6}; // LED pins
Servo servo;
void setup() {
// Atur pin LED sebagai output
for (int i = 0; i < 5; i++) {
pinMode(ledPins[i], OUTPUT);
}
// Attach servo ke pin
servo.attach(servoPin);
}
void loop() {
// Baca posisi potensiometer
int potValue = analogRead(A0); // Ubah sesuai dengan pin potensiometer
// Konversi nilai potensiometer (0-1023) menjadi sudut servo (0-180)
int servoAngle = map(potValue, 0, 1023, 0, 180);
// Gerakkan servo ke posisi yang sesuai
servo.write(servoAngle);
// Atur keadaan LED berdasarkan posisi servo
if (servoAngle == 0) {
// Matikan semua LED
for (int i = 0; i < 5; i++) {
digitalWrite(ledPins[i], LOW);
}
} else if (servoAngle == 180) {
// Nyalakan semua LED
for (int i = 0; i < 5; i++) {
digitalWrite(ledPins[i], HIGH);
}
} else {
// Matikan semua LED (kecuali yang lainnya)
for (int i = 0; i < 5; i++) {
digitalWrite(ledPins[i], LOW);
}
// Nyalakan LED sesuai dengan posisi servo
int ledIndex = map(servoAngle, 0, 180, 0, 4);
digitalWrite(ledPins[ledIndex], HIGH);
}
// Tunda sedikit waktu untuk menghindari pembacaan berulang pada saat yang sama
delay(100);
}