#include <Servo.h> //library
#define trig 5
#define echo 4
#define buzzer 8
Servo myservo; //jenis servo
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
myservo.attach(6); //pin servo
pinMode(buzzer, OUTPUT);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
}
float readDistanceCM(){
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
int durations = pulseIn(echo, HIGH);
return durations*0.034 / 2;
}
void loop() {
// put your main code here, to run repeatedly:
float distance = readDistanceCM();
Serial.print("Jarak Kereta Api: ");
Serial.println(readDistanceCM());
if (distance <= 200){
myservo.write(90);
delay(15);
tone(buzzer, 1000);
delay(200);
tone(buzzer, 500);
delay(200);
}
else {
myservo.write(0);
noTone(buzzer);
}
}