//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 kmudian dihitungi 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);
//jika jarak kurang dari 50 led1 nyala
if(jarak <50)
{
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH );
digitalWrite(led3, LOW);
}
else
{
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
}
}