#define led 3 //Fungsi define merupakan fungsi untuk mendeklarasikan atau mendefinisikan suatu varibel
#define echoPin 4
#define trigPin 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;
digitalWrite(pintriger, LOW);
delayMicroseconds(2);
digitalWrite(pintriger, HIGH);
delayMicroseconds(6);
digitalWrite(pintriger, LOW);
delayMicroseconds(2);
durasi = pulseIn(pinecho, HIGH);
jarak = durasi / 58;
return jarak;
}
void setup() {
Serial.begin(115200);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(led, OUTPUT);
myservo.attach(7);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(3);
digitalWrite(trigPin, HIGH);
delayMicroseconds(3);
digitalWrite(trigPin, LOW);
delayMicroseconds(3);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2)/29;
int jarak = read_srf(trigPin, echoPin);
if(distance<=50){
digitalWrite(led, HIGH);
myservo.write(90);
}else{
digitalWrite(led, LOW);
myservo.write(0);
}
Serial.print("jarak : ");
Serial.print(jarak);
Serial.println("cm");
}