#define trig 15
#define echo 2
#define buzz 23
void setup() {
Serial.begin(115200);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(5, OUTPUT);
pinMode(18, OUTPUT);
pinMode(19, OUTPUT);
pinMode(21, OUTPUT);
pinMode(23, OUTPUT);
}
float readDistanceCM() {
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
int durasi = pulseIn(echo, HIGH);
return durasi * 0.034 / 2;
}
void loop() {
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
int durasi = pulseIn(echo, HIGH);
float distance = durasi * 0.034 / 2;
if((distance < 100) && (distance >= 50)) {
digitalWrite(19, LOW);
digitalWrite(18, LOW);
digitalWrite(5, LOW);
digitalWrite(21, HIGH);
digitalWrite(buzz, LOW);
}else if((distance < 200) && (distance >=100)){
digitalWrite(19, HIGH);
digitalWrite(18, LOW);
digitalWrite(5, LOW);
digitalWrite(21, HIGH);
digitalWrite(buzz, LOW);
}else if((distance < 300 ) && (distance >= 200)){
digitalWrite(19, HIGH);
digitalWrite(18, HIGH);
digitalWrite(5, LOW);
digitalWrite(21, HIGH);
digitalWrite(buzz, LOW);
}else if(distance >= 300){
digitalWrite(19, HIGH);
digitalWrite(18, HIGH);
digitalWrite(5, HIGH);
digitalWrite(21, HIGH);
digitalWrite(buzz, HIGH);
}else{
digitalWrite(19, LOW);
digitalWrite(18, LOW);
digitalWrite(5, LOW);
digitalWrite(21, LOW);
digitalWrite(buzz, LOW);
}
}