#include <Servo.h> //library servo
Servo myservo1; // membuat variabel servo untuk dikendalikan
Servo myservo2; // membuat variabel servo untuk dikendalikan
Servo myservo3;
Servo myservo4;
Servo myservo5;
Servo myservo6;
int pos = 0; // deklarasi variabel untuk posisi sudut
int langkah = 0; //deklarasi langkah
int led = 9;
int sensor = 10;
void setup(){
myservo1.attach(1); // membuat variabel servo untuk dikendalik
myservo2.attach(2); // membuat variabel servo untuk dikendalikan
myservo3.attach(3);
myservo4.attach(4);
myservo5.attach(5);
myservo6.attach(6);
pinMode(9, OUTPUT);
pinMode(10, INPUT_PULLUP);
}
void loop(){
if (langkah == 0){
myservo1.write(0);
myservo2.write(0);
myservo3.write(0);
myservo4.write(0);
myservo5.write(0);
myservo6.write(0);
}
if (langkah == 0 && digitalRead(sensor) == LOW){
digitalWrite(led, HIGH);
langkah=1;
}
if (langkah == 1){
for(pos = 0; pos <= 20; pos+= 1){ // perulangan untuk posisi 0 sampai 180 derajat // step setiap 1 derajat
myservo1.write(pos); // memerintahkan servo ke posisi derajat sesuai nilai variabel pos
delay(15); // menunggu 15 milidetik
}
delay(200);
langkah=2;
}
if (langkah == 2){
for(pos = 0; pos <= 40; pos+= 1){ // perulangan untuk posisi 0 sampai 180 derajat // step setiap 1 derajat
myservo2.write(pos); // memerintahkan servo ke posisi derajat sesuai nilai variabel pos
delay(15); // menunggu 15 milidetik
}
delay(200);
langkah=3;
}
if (langkah == 3){
for(pos = 0; pos <= 60; pos+= 1){ // perulangan untuk posisi 0 sampai 180 derajat // step setiap 1 derajat
myservo3.write(pos); // memerintahkan servo ke posisi derajat sesuai nilai variabel pos
delay(15); // menunggu 15 milidetik
}
delay(200);
langkah=4;
}
if (langkah == 4){
for(pos = 0; pos <= 80; pos+= 1){ // perulangan untuk posisi 0 sampai 180 derajat // step setiap 1 derajat
myservo4.write(pos); // memerintahkan servo ke posisi derajat sesuai nilai variabel pos
delay(15); // menunggu 15 milidetik
}
delay(200);
langkah=5;
}
if (langkah == 5){
for(pos = 0; pos <= 100; pos+= 1){ // perulangan untuk posisi 0 sampai 180 derajat // step setiap 1 derajat
myservo5.write(pos); // memerintahkan servo ke posisi derajat sesuai nilai variabel pos
delay(15); // menunggu 15 milidetik
}
delay(200);
langkah=6;
}
if (langkah == 6){
for(pos = 0; pos <= 120; pos+= 1){ // perulangan untuk posisi 0 sampai 180 derajat // step setiap 1 derajat
myservo6.write(pos); // memerintahkan servo ke posisi derajat sesuai nilai variabel pos
delay(15); // menunggu 15 milidetik
}
delay(200);
langkah=7;
}
if (langkah == 7 ){
myservo1.write(0);
myservo2.write(0);
myservo3.write(0);
myservo4.write(0);
myservo5.write(0);
myservo6.write(0);
delay(200);
langkah=8;
}
if (langkah == 8 ){
digitalWrite(led, LOW);
delay(200);
langkah=0;
}
}