const int trigPin = 15; // Pin Trigger sensor ultrasonik
const int echoPin = 2; // Pin Echo sensor ultrasonik
const int greenLedPin = 13; // Pin untuk lampu hijau
const int yellowLedPin = 12; // Pin untuk lampu kuning
const int redLedPin = 14; // Pin untuk lampu merah
const int BUZERPIN =26;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(greenLedPin, OUTPUT);
pinMode(yellowLedPin, OUTPUT);
pinMode(redLedPin, OUTPUT);
pinMode(BUZERPIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
long distance = duration * 0.034 / 2;
Serial.print("Jarak: ");
Serial.print(distance);
Serial.println("CM");
if (distance > 200) {
digitalWrite(greenLedPin, LOW);
digitalWrite(yellowLedPin, LOW);
digitalWrite(redLedPin, HIGH);
tone(26, 400, 500);
}
else if (distance > 100) {
digitalWrite(greenLedPin, LOW);
digitalWrite(yellowLedPin, HIGH);
digitalWrite(redLedPin, LOW);
tone(26, 225, 250);
}
else if (distance > 0) {
digitalWrite(greenLedPin, HIGH);
digitalWrite(yellowLedPin, LOW);
digitalWrite(redLedPin, LOW);
tone(26, 100, 250);
}
delay(600); // Interval pengukuran jarak
}