#define trigPin 4
#define echoPin 5
#define ledHijau 6
#define ledBiru 7
#define ledMerah 8
#define Buzzer 9
void setup() {
Serial.begin(115200);
// mari definisikan tiap-tiap pin
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
pinMode(ledHijau, OUTPUT);
pinMode(ledBiru, OUTPUT);
pinMode(ledMerah, OUTPUT);
pinMode(Buzzer, OUTPUT);
float readDistanceCM();
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
int duration = pulseIn(echoPin, HIGH);
return duration *0.034 / 2;
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
int duration = pulseIn(echoPin, HIGH);
float distance = duration * 0.034 / 2;
Serial.print("Jarak: ");
Serial.println(distance);
delay(100);
if(distance <100){
digitalWrite(ledMerah, HIGH);
digitalWrite(ledBiru, LOW);
digitalWrite(ledHijau, LOW);
digitalWrite(Buzzer, HIGH);
mario_loop();
delay(1000);
}
else if(distance >100 && distance <=200){
digitalWrite(ledMerah, LOW);
digitalWrite(ledBiru, HIGH);
digitalWrite(ledHijau, LOW);
digitalWrite(Buzzer, LOW);
noTone(Buzzer);
delay(1000);
}
else if(distance >200){
digitalWrite(ledMerah, LOW);
digitalWrite(ledBiru, LOW);
digitalWrite(ledHijau, HIGH);
digitalWrite(Buzzer, LOW);
noTone(Buzzer);
delay(1000);
}
}