//Deklarasi variabel pin
#include <Servo.h>
Servo myservo;
int servopin = 11;
int trigPin = 13;
int echoPin = 12;
int ledPin = 10;
int buzzerPin = 9;
long duration;
long distance;
int maxdistance = 10;
int interval = 0;
int jmlh = 0;
void soundBuzzer(){
if(interval < 500){
tone(buzzerPin, 250);
}else
if(interval > 500){
tone(buzzerPin, 100,800);
};
}
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
pinMode(buzzerPin, OUTPUT);
pinMode(ledPin, OUTPUT);
myservo.attach(servopin);
myservo.write(90);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if(distance <= maxdistance) {
myservo.write(0);
soundBuzzer();
digitalWrite(ledPin, HIGH);
delay(2000);
jmlh = jmlh + 1;
Serial.print(" Jumlah Kendaraan : ");
Serial.println(jmlh);
}
else {
myservo.write(90);
noTone(buzzerPin);
digitalWrite(ledPin, LOW);
delay(1000);
}
Serial.print(" Jarak : ");
Serial.print(distance);
Serial.println(" cm");
}