#define echopin 2
#define trigpin 3
int maximumrange = 300;
int minimumrange = 00;
long duration, distance;
void setup() {
Serial.begin (9600);
pinMode(trigpin, OUTPUT);
pinMode(echopin, INPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(8, OUTPUT);
}
void loop() {
/* penentuan jarak. */
digitalWrite(trigpin, LOW);
delayMicroseconds(2);
digitalWrite(trigpin, HIGH);
delayMicroseconds(10);
digitalWrite(trigpin, LOW);
duration = pulseIn(echopin, HIGH);
//perhitungan untuk dijadikan jarak
distance = duration/58.2;
/*jika jarak melebihi 300 cm,
kirim keterangan "Di luar jangkauan" */
if (distance >= maximumrange || distance <= minimumrange){
Serial.println("Di luar jangkauan");
}
else {
/*
kirim hasil pembacaan jarak melalui serial monitor
*/
Serial.print("Jarak : ");
Serial.print(distance);
Serial.println(" cm");
delay(100);
}
if(distance <= 100){
digitalWrite(11, HIGH);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
}
if(distance > 100 && distance < 200){
digitalWrite(11, LOW);
digitalWrite(10, HIGH);
digitalWrite(9, LOW);
digitalWrite(8, HIGH);
}
if(distance >200 && distance < 300){
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, HIGH);
digitalWrite(8, LOW);
}
if(distance > 300){
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
}
}