Professional Documents
Culture Documents
h>
int LDR = A0; int LDR2 = A1; int dir1 = 8; int pwm1 = 9;
void setup() {
pinMode(dir1, OUTPUT);
pinMode(pwm1, OUTPUT);
Serial.begin(9600);
s1.attach(2);
s2.attach(3);
s3.attach(4);
s4.attach(5);
s1.write(90);
s2.write(90);
s3.write(90);
s4.write(90); }
void loop() {
motor();
stp();
satu();
delay(1000);
dua();
delay(1000);
omah();
}
stp();
tiga();
delay(3000);
empat();
delay(3000);
omah();
}}
void motor(){ for (i=0; i<=255; i+=1){ digitalWrite(dir1, LOW ); digitalWrite(pwm1, i); } }
void satu(){ //fungsi untuk gerakan arm robot for(int pos=180; pos>=155; pos-=1){ s2.write(pos);
//servo bergerak dari 180 derajat ke 155 derajat delay(20); //jeda 30 ms. } delay(1000); //jeda 1000 ms.
for(int pos=90; pos<150; pos+=1){ s3.write(pos); //servo bergerak dari 90 derajat ke 150 derajat
delay(20); //delay 20 ms }
for(int pos=160; pos>=80; pos-=1){ s4.write(pos); //servo bergerak dari 160 derajat ke 80 derajat
delay(20); //delay 20 ms } delay(1000); //jeda 1000 ms.
for(int pos=155; pos<170; pos+=1){ s2.write(pos); //servo bergerak dari 155 derajat ke 170 derajat
delay(20); //jeda 20 ms } }
void dua(){ for(int pos=90; pos<180; pos+=1){ s1.write(pos); //servo bergerak dari 90 derajat ke 180
derajat delay(25); //delay 20 ms }
for(int pos=170; pos>=130; pos-=1){ s2.write(pos); //servo bergerak dari 170 derajat ke 130 derajat
delay(20); //delay 20 ms }
for(int pos=150; pos>=35; pos-=1){ s3.write(pos); //servo bergerak dari 150 derajat ke 35 derajat
delay(20); //delay 20 ms }
for(int pos=130; pos>=70; pos-=1){ s2.write(pos); //servo bergerak dari 130 derajat ke 70 derajat
delay(20); //delay 20 ms }
for(int pos=80; pos<160; pos+=1){ s4.write(pos); //servo bergerak dari 80 derajat ke 160 derajat
delay(20); //delay 20 ms } delay(1000); //delay 1000 ms. }
void tiga(){ for(int pos=180; pos>=130; pos-=1){ s2.write(pos); //servo bergerak dari 180 derajat ke
130 derajat delay(20); //delay 20 ms } delay(500);
for(int pos=90; pos<100; pos+=1){ s3.write(pos); //servo bergerak dari 90 derajat ke 100 derajat
delay(20); //delay 20 ms }
for(int pos=160; pos>=80; pos-=1){ s4.write(pos); //servo bergerak dari 160 derajat ke 80 derajat
delay(20); //delay 20 ms }
for(int pos=130; pos<150; pos+=1){ s2.write(pos); //servo bergerak dari 130 derajat ke 150 derajat
delay(20); //delay 20 ms } }
void empat(){ for(int pos=90; pos>=0; pos-=1){ s1.write(pos); //servo bergerak dari 90 derajat ke 0
derajat delay(20); //delay 20 ms }
for(int pos=150; pos>=100; pos-=1){ s2.write(pos); //servo bergerak dari 150 derajat ke 100 derajat
delay(20); //delay 20 ms }
for(int pos=100; pos>=35; pos-=1){ s3.write(pos); //servo bergerak dari 100 derajat ke 35 derajat
delay(20); //delay 20 ms }
for(int pos=100; pos>=60; pos-=1){ s2.write(pos); //servo bergerak dari 100 derajat ke 60 derajat
delay(20); //delay 20 ms }
for(int pos=90; pos<160; pos+=1){ s4.write(pos); //servo bergerak dari 90 derajat ke 160 derajat
delay(20); //delay 20 ms } delay(500); //jeda 500 ms. }
void omah(){ for(int pos=70; pos<180; pos+=1){ s2.write(pos); //servo bergerak dari 70 derajat ke 180
derajat delay(20); //delay 20 ms } for(int pos=180; pos>=90; pos-=1){ s1.write(pos); //servo bergerak dari
180 derajat ke 90 derajat delay(20); //delay 20 ms }
for(int pos=65; pos<90; pos+=1){ s3.write(pos); //servo bergerak dari 65 derajat ke 90 derajat
delay(20); //delay 20 ms