Fix Coding
Fix Coding
// PUTIH = LOW
#include <Servo.h>
Servo myservo;
void setup()
{
myservo.attach(8);
pinMode(M_B1, OUTPUT);
pinMode(M_B2, OUTPUT);
pinMode(M_A1, OUTPUT);
pinMode(M_A2, OUTPUT);
pinMode(L_S, INPUT);
pinMode(S_S, INPUT);
pinMode(R_S, INPUT);
}
void forword(){
if ((digitalRead(L_S) == LOW)&&(digitalRead(S_S) == HIGH)&&(digitalRead(R_S) ==
LOW)){// hitam ditengah
digitalWrite(M_A1, LOW);
analogWrite(M_A2, 100);
analogWrite(M_B1, 100);
digitalWrite(M_B2, LOW);
}
}
void kanan(){
if ((digitalRead(L_S) == LOW)&&(digitalRead(S_S) == LOW)&&(digitalRead(R_S) ==
HIGH)){// hitam ditengah
digitalWrite(M_A1, HIGH);
digitalWrite(M_A2, LOW);
digitalWrite(M_B1, HIGH);
digitalWrite(M_B2, LOW);
}
}
void kanap(){
if ((digitalRead(L_S) == LOW)&&(digitalRead(S_S) == HIGH)&&(digitalRead(R_S) ==
HIGH)){// hitam ditengah
digitalWrite(M_A1, HIGH);
digitalWrite(M_A2, LOW);
digitalWrite(M_B1, HIGH);
digitalWrite(M_B2, LOW);
}
}
void kiri(){
if ((digitalRead(L_S) == HIGH)&&(digitalRead(S_S) == LOW)&&(digitalRead(R_S) ==
LOW)){ // hitam ditengah
digitalWrite(M_A1, LOW);
digitalWrite(M_A2, HIGH);
digitalWrite(M_B1, LOW);
digitalWrite(M_B2, HIGH);
}
}
void kirip(){
if ((digitalRead(L_S) == HIGH)&&(digitalRead(S_S) == HIGH)&&(digitalRead(R_S) ==
LOW)){ // hitam ditengah
digitalWrite(M_A1, LOW);
digitalWrite(M_A2, HIGH);
digitalWrite(M_B1, LOW);
digitalWrite(M_B2, HIGH);
}
}
void putarbalik(){
if ((digitalRead(L_S) == LOW)&&(digitalRead(S_S) == LOW)&&(digitalRead(R_S) ==
LOW)){
digitalWrite(M_A1, HIGH);
digitalWrite(M_A2, LOW);
digitalWrite(M_B1, HIGH);
digitalWrite(M_B2, LOW);
}
}
void ambilbarang(){
if ((digitalRead(L_S) == HIGH)&&(digitalRead(S_S) == HIGH)&&(digitalRead(R_S) ==
HIGH)){
berhenti();
delay(1000);
majudikit();
delay(100);
}
}
void taruhbarang(){
if ((digitalRead(L_S) == HIGH)&&(digitalRead(S_S) == HIGH)&&(digitalRead(R_S) ==
HIGH)){
berhentii();
delay(1000);
majudikitt();
delay(100);
}
}
void berhenti(){
digitalWrite(M_A1, LOW);
digitalWrite(M_A2, LOW);
digitalWrite(M_B1, LOW);
digitalWrite(M_B2, LOW);
myservo.write(-180);
delay(2000);
}
void majudikit(){
digitalWrite(M_A1, LOW);
analogWrite(M_A2, 150);
analogWrite(M_B1, 150);
digitalWrite(M_B2, LOW);
}
void berhentii(){
digitalWrite(M_A1, LOW);
digitalWrite(M_A2, LOW);
digitalWrite(M_B1, LOW);
digitalWrite(M_B2, LOW);
myservo.write(180);
delay(1000);
}
void majudikitt(){
digitalWrite(M_A1, LOW);
analogWrite(M_A2, 150);
analogWrite(M_B1, 150);
digitalWrite(M_B2, LOW);
}
void loop(){
forword();
kiri();
kirip();
kanan();
kanap();
putarbalik();
ambilbarang();
taruhbarang();
}