int led4 = 21;
int led3 = 19;
int led2 = 18;
int led1 = 5;
#define trig_pin 15
#define echo_pin 2
#define buzz 4
void setup() {
Serial.begin(115200);
Serial.println("Memulai rangkaian projects ..");
delay(1000);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(trig_pin, OUTPUT);
pinMode(buzz, OUTPUT);
pinMode(echo_pin, INPUT);
}
float readDistance() {
digitalWrite(trig_pin, LOW);
delayMicroseconds(5);
digitalWrite(trig_pin, HIGH);
delayMicroseconds(10);
digitalWrite(trig_pin, LOW);
int duration = pulseIn(echo_pin, HIGH);
return duration * 0.034 / 2;
}
void loop() {
int distance = readDistance();
if (distance > 300) {
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
tone(4, 262, 250);
} else if (distance > 200) {
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
} else if (distance > 100) {
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
} else if (distance > 50) {
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
} else {
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" cm");
delay(1000);
}