#include <Servo.h>
Servo myservo; // membuat objek servo
int pos = 0; // variabel untuk posisi servo
// Definisikan pin LED
const int led1 = 3;
const int led2 = 4;
const int led3 = 5;
void setup() {
Serial.begin(9600); // memulai komunikasi serial untuk debugging
myservo.attach(6); // menghubungkan servo pada pin 6
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}
void loop() {
// Memulai dari 0 derajat dan bergerak hingga 135 derajat dengan interval 45 derajat
for (pos = 0; pos <= 135; pos += 45) {
myservo.write(pos); // mengatur servo ke posisi 'pos'
delay(500); // tunggu sejenak untuk memastikan servo telah bergerak
// Debugging: cetak posisi servo
Serial.print("Posisi servo: ");
Serial.println(pos);
switch (pos) {
case 0:
digitalWrite(led1, LOW); // matikan LED 1
digitalWrite(led2, LOW); // matikan LED 2
digitalWrite(led3, LOW); // matikan LED 3
Serial.println("LED 1 OFF, LED 2 OFF, LED 3 OFF");
break;
case 45:
digitalWrite(led1, HIGH); // hidupkan LED 1
digitalWrite(led2, LOW); // matikan LED 2
digitalWrite(led3, LOW); // matikan LED 3
Serial.println("LED 1 ON, LED 2 OFF, LED 3 OFF");
break;
case 90:
digitalWrite(led1, HIGH); // hidupkan LED 1
digitalWrite(led2, HIGH); // hidupkan LED 2
digitalWrite(led3, LOW); // matikan LED 3
Serial.println("LED 1 ON, LED 2 ON, LED 3 OFF");
break;
case 135:
digitalWrite(led1, HIGH); // hidupkan LED 1
digitalWrite(led2, HIGH); // hidupkan LED 2
digitalWrite(led3, HIGH); // hidupkan LED 3
Serial.println("LED 1 ON, LED 2 ON, LED 3 ON");
break;
default:
digitalWrite(led1, LOW); // matikan LED 1
digitalWrite(led2, LOW); // matikan LED 2
digitalWrite(led3, LOW); // matikan LED 3
Serial.println("LED 1 OFF, LED 2 OFF, LED 3 OFF");
break;
}
delay(1000); // tunggu 1 detik sebelum melanjutkan ke posisi berikutnya
}
}