#define Lampu_Hijau 6
#define Lampu_Kuning 2
#define Lampu_Orange 3
#define Lampu_Merah 4
#define Echo 8
#define Trig 9
#define Speaker 5
void setup() {
Serial.begin(115200);
pinMode(Lampu_Hijau, OUTPUT);
pinMode(Lampu_Kuning, OUTPUT);
pinMode(Lampu_Orange, OUTPUT);
pinMode(Lampu_Merah, OUTPUT);
pinMode(Echo, INPUT);
pinMode(Trig, OUTPUT);
pinMode(Speaker, OUTPUT);
}
void loop() {
digitalWrite(Trig, LOW);
delayMicroseconds(2);
digitalWrite(Trig, HIGH);
delayMicroseconds(10);
digitalWrite(Trig, LOW);
int duration = pulseIn(Echo, HIGH);
float jarak = duration * 0.034 / 2;
if (jarak > 300)
{
digitalWrite(Lampu_Merah, LOW);
digitalWrite(Lampu_Orange, LOW);
digitalWrite(Lampu_Kuning, LOW);
digitalWrite(Lampu_Hijau, LOW);
tone(Speaker, 600);
}
else if (jarak >250)
{
digitalWrite(Lampu_Merah, LOW);
digitalWrite(Lampu_Orange, LOW);
digitalWrite(Lampu_Kuning, LOW);
digitalWrite(Lampu_Hijau, HIGH);
tone(Speaker, 500);
}
else if (jarak >200)
{
digitalWrite(Lampu_Merah, LOW);
digitalWrite(Lampu_Orange, LOW);
digitalWrite(Lampu_Kuning, HIGH);
digitalWrite(Lampu_Hijau, HIGH);
tone(Speaker, 400);
}
else if (jarak >150)
{
digitalWrite(Lampu_Merah, LOW);
digitalWrite(Lampu_Orange, HIGH);
digitalWrite(Lampu_Kuning, HIGH);
digitalWrite(Lampu_Hijau, HIGH);
tone(Speaker, 300);
}
else if (jarak >100)
{
digitalWrite(Lampu_Merah, HIGH);
digitalWrite(Lampu_Orange, HIGH);
digitalWrite(Lampu_Kuning, HIGH);
digitalWrite(Lampu_Hijau, HIGH);
noTone(Speaker);
}
Serial.print("jarak: ");
Serial.println(jarak);
delay(100);
}