#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);
  }

}