#define ECHO_PIN 2
#define TRIG_PIN 3
int maximumRange = 300;
int minimumRange = 00;
long duration , distance;
void setup() {
Serial.begin(9600);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(13, OUTPUT);
}
void loop() {
// Menentukan Jarak.
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
// Perhitungan jarak.
distance = duration/58.2;
// Jika jarak melebihi 300 cm, maka muncul keterangan "Diluar Jangkauan".
if (distance >= maximumRange || distance <= minimumRange) {
Serial.println("Diluar Jangkauan");
}
else{
// Menampilkan Jarak di-serial monitor.
Serial.print("Jarak : ");
Serial.print(distance);
Serial.println(" cm");
delay(100);
}
// Jika jarak kurang dari 100 cm, maka lampu LED Merah akan menyala.
if (distance <= 100) {
digitalWrite(13, HIGH);
}
// Jika jarak lebih dari 100 cm, maka lampu LED Merah akan mati.
if (distance > 100) {
digitalWrite(13, LOW);
}
}