#define LED_Merah 19
#define LED_Orange 18
#define LED_Kuning 5
#define LED_Hijau 4
#define ECHO_PIN 33
#define TRIG_PIN 25
#define buzzer 26
void setup(){
Serial.begin(115200);
pinMode(LED_Merah, OUTPUT);
pinMode(LED_Orange, OUTPUT);
pinMode(LED_Kuning, OUTPUT);
pinMode(LED_Hijau, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
digitalWrite(LED_Hijau, LOW);
digitalWrite(LED_Merah, LOW);
digitalWrite(LED_Kuning, LOW);
digitalWrite(LED_Orange, LOW);
noTone(buzzer);
}
void loop(){
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
int duration = pulseIn(ECHO_PIN, HIGH);
float distance = duration * 0.034/2;
Serial.print("Jarak; ");
Serial.print(distance);
if(distance>50 && distance <=100){
digitalWrite(LED_Merah, HIGH);
digitalWrite(LED_Orange, LOW);
digitalWrite(LED_Kuning, LOW);
digitalWrite(LED_Hijau, LOW);
Serial.println("Be aware");
noTone(buzzer);
}
else if(distance>100 && distance <=200){
digitalWrite(LED_Merah, LOW);
digitalWrite(LED_Orange, HIGH);
digitalWrite(LED_Kuning, LOW);
digitalWrite(LED_Hijau, LOW);
Serial.println("Be careful");
noTone(buzzer);
}
else if(distance>200 && distance <=300){
digitalWrite(LED_Merah, LOW);
digitalWrite(LED_Orange, HIGH);
digitalWrite(LED_Kuning, HIGH);
digitalWrite(LED_Hijau, HIGH);
Serial.println("warning");
noTone(buzzer);
}
else if(distance>300){
digitalWrite(LED_Merah, HIGH);
digitalWrite(LED_Orange, HIGH);
digitalWrite(LED_Kuning, HIGH);
digitalWrite(LED_Hijau, HIGH);
tone(buzzer,200);
delay(300);
noTone(buzzer);
delay(400);
Serial.println("WARNING");
}
}