#define trig_pin A5
#define echo_pin A4
#define led_merah 13
#define led_kuning 10
#define led_hijau 11
#define buzzer_pin 4
int durasi = 0;
float jarak = 0;
void setup() {
// put your setup code here, to run once:
pinMode(trig_pin, OUTPUT);
pinMode(echo_pin, INPUT);
pinMode(led_merah, OUTPUT);
pinMode(led_kuning, OUTPUT);
pinMode(led_hijau, OUTPUT);
pinMode(buzzer_pin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(trig_pin, LOW);
delayMicroseconds(2);
digitalWrite(trig_pin, HIGH);
delayMicroseconds(10);
digitalWrite(trig_pin, LOW);
durasi = pulseIn(echo_pin, HIGH);
jarak = durasi * 0.034 / 2;
if(jarak > 197.31 && jarak < 396) { //jika jarak di atas 2 meter
digitalWrite(led_hijau, HIGH);
digitalWrite(led_kuning, LOW);
digitalWrite(led_merah, LOW);
digitalWrite(buzzer_pin, LOW);
noTone(buzzer_pin);
}else if(jarak > 98.62 && jarak < 197) { //jika jarak di atas 1 meter
digitalWrite(led_hijau, LOW);
digitalWrite(led_kuning, HIGH);
digitalWrite(led_merah, LOW);
digitalWrite(buzzer_pin, LOW);
noTone(buzzer_pin);
}else if (jarak > 2.01 && jarak < 98) { //jika jarak di bawah 1 meter
digitalWrite(led_hijau, LOW);
digitalWrite(led_kuning, LOW);
digitalWrite(led_merah, HIGH);
tone(buzzer_pin, 150);
delay(100);
noTone(buzzer_pin);
delay(100);
}
}