#include <Servo.h>
Servo myservo;
int pos = 0;
// membuat objek servo
// variabel untuk posisi servo
// Definisikan pin LED
const int led1 = 3;
const int led2 = 4;
const int led3 = 5;
void setup() {
Serial.begin(9600);
myservo.attach(6);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
}
void loop() {
// menghubungkan servo pada pin 9
// Anggap kita mengubah posisi servo di sini
// Misalkan kita memiliki cara untuk mengubah posisi servo
// misalnya, menggunakan sensor, potensiometer, atau input dari serial
// Contoh perubahan posisi servo secara bertahap
for (pos = 0; pos <= 135; pos += 45) {
myservo.write(pos);
// mengatur servo ke posisi 'pos'
delay(1000);
Serial.print("posis servo: ");
Serial.println(pos);
if (pos == 45) {
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
Serial.println("ON, OFF, OFF");
}
else if (pos == 90) {
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
Serial.println("ON, ON, OFF");
// tunggu 1 detik untuk melihat pergerakan
// hidupkan LED 1
// matikan LED 2
// matikan LED 3
// hidupkan LED 1
// hidupkan LED 2
// matikan LED 3
}
else if (pos == 135) {
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
Serial.println("ON, ON, ON");
}
else {
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
// hidupkan LED 1
// hidupkan LED 2
// hidupkan LED 3
// matikan LED 1
// matikan LED 2
// matikan LED 3
Serial.println("OFF, OFF, OFF");
}
}
delay(1000);
myservo.write(0);
delay(1000);
}