#include <Servo.h>
Servo myservo;
int echoPin = 2;
int trigPin = 3;
int buzzer = 7;
long waktu;
int jarak;
void setup() {
myservo.attach(9);
myservo.write(0);
delay(2000);
pinMode(trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (buzzer, OUTPUT);
Serial.begin(9600);
}
int get_distance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
waktu = pulseIn(echoPin, HIGH)
jarak = waktu * 0.034 / 2;
Serial.print("Distance: ");
Serial.printIn(jarak);
return jarak;
}
//buat nandain lagi on atau off supaya ga bunyi berkali kali
bool isBuzzerOn = false;
void loop() {
//Hitung jarak
jarak = get_distance();
if (jarak >= 25) {
isBuzzerOn = false;
myservo.write(0);
} else {
// Trigger servo tutup, barengan dengan on buzzer
// buka servo
myservo.write(120);
//bunyi buzzer
if (isBuzzerOn) {
isBuzzerOn = true;
digitalWrite(buzzer, HIGH);
delay(1000);
digitalWrite(buzzer, LOW);
}
delay(3000);
}
}