#include <Servo.h> //Library untuk mengontrol servo
#include <NewPing.h> //Library untuk sensor untuk ultrasonik
//definiskan pin
#define TRIGGER_PIN 9 //pin Trigger Ultrasonik
#define ECHO_PIN 10 //pin Echo Ultrasonik
#define MAX_DISTANCE 200 // Jarak maksimal (200 cm)
#define SERVO_PIN 6 // Pin untuk kontrol motor servo
Servo s1; //Objek Servo
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); //Inisialisasi sensor ultrasonik
void setup() {
s1.attach(SERVO_PIN); //Menghubungkan servo ke pin digital 6
Serial.begin(9600);// memulai komunikasi serial
}
void loop() {
long duration = sonar.ping(); //mengukur waktu yang dibutuhkan sinyal untuk kembali
long distance = duration / 58.2; //menghitung jarak dalam cm
Serial.print("Jarak :");
Serial.print(distance);
Serial.println("cm");
//MENGGERAKKAN SERVO BERDASARKAN JARAK YANG TERDETEKSI
if (distance > 0 && distance <20 ){
//jika jarak kurang dari 20 cm, gerakkan servo ke 0 derajat
s1.write(0);
}
else if (distance >= 20 && distance <40 ){
//jika jarak antara 20 cm dan 40 cm, gerakkan servo ke 90 derajat
s1.write(90);
}
else {
//jika jarak lebih dari 40 cm, gerakkan servo ke 180 derajat
s1.write(180);
}
delay(500); // delay 500 ms sebelum pengukuran berikutnya
}