#define ECHO_PIN 2
#define TRIG_PIN 3
#define ledhijau 10
#define ledkuning 11
#define ledmerah 12
void setup() {
Serial.begin(115200);
pinMode(ledhijau, OUTPUT);
pinMode(ledkuning, OUTPUT);
pinMode(ledmerah, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
}
float bacaJarakCM () {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, LOW);
int durasi = pulseIn(ECHO_PIN, HIGH);
return durasi * 0.034 / 2 ;
}
void loop() {
float jarak = bacaJarakCM();
if (jarak>=200) {
digitalWrite(ledhijau, HIGH);
digitalWrite(ledkuning, LOW);
digitalWrite(ledmerah, LOW);
}
if ((jarak>=200) && (jarak>100)) {
digitalWrite(ledhijau, LOW);
digitalWrite(ledkuning, HIGH);
digitalWrite(ledmerah, LOW);
}
if (jarak>=100) {
digitalWrite(ledhijau, LOW);
digitalWrite(ledkuning, LOW);
digitalWrite(ledmerah, HIGH);
}
Serial.print("Measured distance: ");
Serial.println(bacaJarakCM());
delay(100);
}