//Nama : Syafa Dwi Devita
//Kelas : 5CD
//NIM :062030701674
//mendeklarasikan tipe data dan variabel
const int trigPin = 3; //trigPin di pin 5 arduino
const int echoPin = 2; //echopPin di pin 18 arduino
const int merahPin = 12; //led merah di pin 4 arduino
const int hijauPin = 13; //led hijau di pin 2 arduino
//mengukur jarak yang terbaca range 10-100 cm
int maximumRange = 100;
int minimumRange = 10;
#define KecepatanSuara 0.034 //menghitung jarak ke suatu objek/benda
long durasi; //pengukuran durasi dan jarak
float Jarak;
void setup() {
Serial.begin(9600); //nomor serial mikrokontroller arduino uno
pinMode(trigPin, OUTPUT); //trigPin sebagai output (keluaran)
pinMode(echoPin, INPUT); //echoPin sebagai input (masukan)
pinMode(merahPin, OUTPUT); //led merah sebagai output (keluaran)
pinMode(hijauPin, OUTPUT); //led hijau sebagai output (keluaran)
}
void loop() { //penentuan jarak
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
durasi = pulseIn(echoPin, HIGH);
Jarak = durasi * KecepatanSuara/2; //perhitungan untuk dijadikan jarak
Serial.print("Jarak (cm): ");
Serial.println(Jarak);
delay(1000);
//jika jarak kurang dari 10cm atau lebih dari 100cm
//maka led merah akan menyala
if(Jarak <10 || Jarak >100){
digitalWrite(12, HIGH); //led merah high (hidup)
digitalWrite(13, LOW); //led hijau low (mati)
}
//jika jarak terbaca antara 10cm - 100 cm \
//maka led hijau akan menyala
if(Jarak >10 && Jarak <100){
digitalWrite(12, LOW); //led merah low (mati)
digitalWrite(13, HIGH); //led hijau high (hidup)
}
}