//=============================
// nama : Alfianus Gatu
// nim : 19102173
//=============================
// Mengukur jarak dengan sensor ultrasonik dengan LED sebagai indikator
#define ep 2
#define tp 15
int maksimal = 300;
int minimal = 00;
long jarak, durasi;
void setup() {
Serial.begin(115200);
pinMode(tp, OUTPUT);
pinMode(ep, INPUT);
pinMode(5, OUTPUT);
pinMode(18, OUTPUT);
pinMode(19, OUTPUT);
}
void loop(){
digitalWrite(tp, LOW);
delayMicroseconds(2);
digitalWrite(tp, HIGH);
delayMicroseconds(2);
digitalWrite(tp, LOW);
durasi = pulseIn(ep, HIGH);
jarak = durasi/58.2;
if (jarak >= maksimal || jarak <= minimal ){
Serial.println("diluar jangkauan");
}
else {
Serial.print("jarak : ");
Serial.print(durasi);
Serial.println(" cm ");
delay (100);
}
if (jarak <= 100){ // jika jarak kurang dari 100 led merah nyala
digitalWrite(5, HIGH);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
}
if (jarak > 100 && jarak <= 200 ){
digitalWrite(18, HIGH); //jika jarak > 100 dan <= 200 led biru nyala
digitalWrite(5, LOW);
digitalWrite(19, LOW);
}
if (jarak > 200 ){
digitalWrite(19, HIGH); //jika jarak lebih dari 200 led hijau nyala
digitalWrite(18, LOW);
digitalWrite(5, LOW);
}
}