#define led 3 //Fungsi define merupakan fungsi untuk mendeklarasikan atau mendefinisikan suatu varibel
#define PinEcho 4
#define PinTrig 5
long duration, distance; //long merupakan fungsi untuk mendeskripsikan durasi dan jarak
#include <Servo.h> //include digunakan untuk memasukkan file yang memungkinkan kamu untuk mengakses fitur tambahan
Servo myservo;
float read_srf(int pintriger, int pinecho) {
long durasi;
float jarak;
durasi = pulseIn(pinecho, HIGH);
digitalWrite(pintriger, LOW);
delayMicroseconds(2);
digitalWrite(pintriger, HIGH);
delayMicroseconds(6);
digitalWrite(pintriger, LOW);
delayMicroseconds(2);
jarak = durasi / 58;
return jarak;
}
void setup() {
pinMode(PinTrig, OUTPUT);
pinMode(PinEcho, INPUT);
pinMode(led, OUTPUT);
myservo.attach(7);
}
void loop() {
digitalWrite(PinTrig, LOW);
delayMicroseconds(4);
digitalWrite(PinTrig, HIGH);
delayMicroseconds(4);
digitalWrite(PinTrig, LOW);
delayMicroseconds(4);
duration = pulseIn(PinEcho, HIGH);
distance = (duration/2)/29;
int jarak = read_srf(PinTrig, PinEcho);
if(distance<=50){
digitalWrite(led, HIGH);
myservo.write(90);
}else{
digitalWrite(led, LOW);
myservo.write(0);
}
}