#include <Servo.h>
// Inisialisasi pin
#define POT_PIN A0 // Pin untuk potentiometer
#define SERVO_PIN 9 // Pin untuk servo
#define LED1_PIN 2 // Pin untuk LED 1
#define LED2_PIN 3 // Pin untuk LED 2
#define LED3_PIN 4 // Pin untuk LED 3
#define LED4_PIN 5 // Pin untuk LED 4
#define LED5_PIN 6 // Pin untuk LED 5
Servo myServo;
void setup() {
// Atur pin LED sebagai output
pinMode(LED1_PIN, OUTPUT);
pinMode(LED2_PIN, OUTPUT);
pinMode(LED3_PIN, OUTPUT);
pinMode(LED4_PIN, OUTPUT);
pinMode(LED5_PIN, OUTPUT);
// Mulai servo
myServo.attach(SERVO_PIN);
// Mulai komunikasi serial
Serial.begin(9600);
}
void loop() {
// Baca nilai dari potentiometer
int potValue = analogRead(POT_PIN);
// Ubah nilai potentiometer menjadi sudut servo (0 hingga 180 derajat)
int angle = map(potValue, 0, 1023, 0, 180);
// Gerakkan servo ke sudut yang sesuai
myServo.write(angle);
// Tampilkan nilai sudut pada serial monitor
Serial.print("Angle: ");
Serial.println(angle);
// Nyalakan atau matikan LED berdasarkan sudut servo
if (angle == 0) {
digitalWrite(LED1_PIN, LOW);
digitalWrite(LED2_PIN, LOW);
digitalWrite(LED3_PIN, LOW);
digitalWrite(LED4_PIN, LOW);
digitalWrite(LED5_PIN, LOW);
} else if (angle == 180) {
digitalWrite(LED1_PIN, HIGH);
digitalWrite(LED2_PIN, HIGH);
digitalWrite(LED3_PIN, HIGH);
digitalWrite(LED4_PIN, HIGH);
digitalWrite(LED5_PIN, HIGH);
}
// Tunggu sebentar sebelum pembacaan berikutnya
delay(15);
}