#define RELAY_PIN 13
#define ECHO_PIN 9
#define TRIG_PIN 8
long durasi;
long jarak;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(TRIG_PIN, OUTPUT); // pin TRIG OUTPUT
pinMode(ECHO_PIN, INPUT); // pin ECHO INPUT
pinMode(RELAY_PIN, OUTPUT); // pin RELAY OUTPUT
digitalWrite(RELAY_PIN, LOW); // matikan fan saat start
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(TRIG_PIN,LOW);
delayMicroseconds(5);
digitalWrite(TRIG_PIN,HIGH);
delayMicroseconds(5);
digitalWrite(TRIG_PIN,LOW);
durasi=pulseIn(ECHO_PIN,HIGH); // hitung durasi pantulan
jarak=(durasi*0.0343)/2; //ubah nilai durasi pantulan ,enjadi jarak
if(jarak<20){
digitalWrite(RELAY_PIN, HIGH); // AKTIFKAN FAN
}
else{
digitalWrite(RELAY_PIN, LOW); // MATIKAN FAN
Serial.println("relay OFF");
}
Serial.print("jarak: ");
Serial.println(jarak); //tampilkan nilai variabel jarak
delay(1000); //jeda 1 detik atau 1000 ms untuk tiap siklus
}