#include<Servo.h>
Servo servo;
const byte TRIG_PIN = 4;
const byte ECHO_PIN = 5;
const byte buzzer = 12;
byte derajat = 0;
long durasi, jarak = 0;
void setup() {
Serial.begin(9600);
pinMode(buzzer, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
servo.attach(6);
servo.write(0);
}
void loop() {
for (derajat = 0; derajat < 180; derajat++) {
servo.write(derajat);
bacaUltrasonic();
delay(500);
}
for (derajat = 180; derajat > 0; derajat--) {
servo.write(derajat);
bacaUltrasonic();
delay(500);
}
}
void bacaUltrasonic() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
durasi = pulseIn(ECHO_PIN, HIGH);
jarak = durasi * 0.0344 / 2;
Serial.print("Jarak: "); Serial.print(jarak);
if (jarak < 25) {
Serial.println(" cm - TERDETEKSI ADANYA OBJEK!!!");
digitalWrite(buzzer, HIGH);
}
else {
Serial.println(" cm - TIDAK ADA OBJEK!!!");
digitalWrite(buzzer, LOW);
}
}