#include <Servo.h>
#define buzzer 13
#define ledRead 4 //Membuat variabel LED ke-pin 10
#define ledYelow 7 //Membuat variabel LED ke-pin 10
#define echoPin 2 //Membuat variabel Echo ke-pin 11
#define trigPin 3 //Membuat variabel Trig ke-pin 12
Servo servo;
long duration, distance;
void setup() {
Serial.begin (9600); //Berfungsi untuk komunikasi serial dengan komputer
pinMode(trigPin, OUTPUT); //Set varibel trigPin sebagai output
pinMode(echoPin, INPUT); //Set variabel echoPin sebagai input
pinMode(ledRead, OUTPUT); //Set variabel led sebagai output
pinMode(ledYelow, OUTPUT); //Set variabel led sebagai output
servo.attach(10);
}
void loop() {
//Program agar Trig mengirim sinyal ultrasonik
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(5);
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
duration = pulseIn(echoPin, HIGH); //Echo menerima sinyal ultrasonik
distance = (duration/2)/29.1; //Rumus mengubah durasi menjadi jarak (cm)
//Program jika jarak kurang dari 10 CM maka LED akan menyala
if(distance<=100){
digitalWrite(ledRead, HIGH);
digitalWrite(ledYelow, LOW);
tone(buzzer, 1000);
servo.write(90);
} else {
digitalWrite(ledRead, LOW);
digitalWrite(ledYelow, HIGH);
noTone(buzzer);
servo.write(0);
}
Serial.println(distance);
Serial.println("cm");
delay(100);
}