//program sensor jarak HC SR04
#define ECHO_PIN 2
#define TRIG_PIN 3
#define led1 4
#define led2 5
#define led3 6
int durasi;
float jarak;
void setup() {
Serial.begin(115200); //bisa diganti dengan 9600
pinMode (TRIG_PIN, OUTPUT);
pinMode (ECHO_PIN, INPUT);
pinMode (led1, OUTPUT) ;
pinMode (led2, OUTPUT) ;
pinMode (led3, OUTPUT) ;
}
void loop() {
//menghitung jarak
digitalWrite(TRIG_PIN, LOW) ;
delayMicroseconds (2) ;
digitalWrite(TRIG_PIN, HIGH); //mengirim sinyal
delayMicroseconds (10) ;
digitalWrite (TRIG_PIN, LOW) ;
durasi = pulseIn (ECHO_PIN, HIGH); //menerima sinyal kemudian di hitung durasinya
jarak = durasi * 0.034 / 2; // menghitung jarak berdasarkan rumus
//menampilkan jarak di serial monitor
Serial.print ("Jarak:") ; //menampilkan tulisan jarak
Serial.println(jarak) ; //menampilkan isi variabel jarak
delay(200);
if (jarak < 50)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
}
else if (jarak > 50 && jarak < 70)
{
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
}
else
{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
}
}