//DEKLARASI PIN
int trig = 6; //variabel untuk trig di setting ke pin 6
int echo = 7; //variabel untuk echo di setting ke pin 7
long durasi,jarak; //membuat variabel untuk jarak dan durasi
int merah =4;
int kuning =3;
int hijau= 2;
int biru=8;
int buzzer = 5;
void setup() {
// put your setup code here, to run once:
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(merah, OUTPUT);
pinMode(kuning , OUTPUT);
pinMode(hijau, OUTPUT);
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(trig, LOW);
delayMicroseconds(8);
digitalWrite(trig, HIGH);
delayMicroseconds(8);
digitalWrite(trig, LOW);
delayMicroseconds(8);
durasi = pulseIn(echo,HIGH);//ketika menerima sinyal ultrasonic
jarak = (durasi / 2)/29.1 ;//mengubah durasi menjadi jarak(cm)
if(jarak >=30){
digitalWrite(biru,HIGH);
digitalWrite(hijau,LOW);
digitalWrite(kuning,LOW);
digitalWrite(merah, LOW);
digitalWrite(buzzer, LOW);
}
if(jarak <= 20)
{
digitalWrite(biru,LOW);
digitalWrite(hijau,HIGH);
digitalWrite(kuning,LOW);
digitalWrite(merah, LOW);
digitalWrite(buzzer, LOW);
}
if(jarak <= 10)
{
digitalWrite(biru,LOW);
digitalWrite(hijau,LOW);
digitalWrite(kuning,HIGH);
digitalWrite(merah, LOW);
digitalWrite(buzzer, LOW);
}
if(jarak <= 5)
{
digitalWrite(biru,LOW);
digitalWrite(hijau,LOW);
digitalWrite(kuning,LOW);
digitalWrite(merah, HIGH);
digitalWrite(buzzer, HIGH);
}
else
{
digitalWrite(biru,LOW);
digitalWrite(hijau,LOW);
digitalWrite(kuning,LOW);
digitalWrite(merah, LOW);
digitalWrite(buzzer, LOW);
}
//untuk menampilkan jarak objek
Serial.print("jarak benda : ");
Serial.print(jarak);
Serial.println("Cm");
}