#define buzzer 12
#define ledRed 4 //Membuat variabel LED ke-pin 10
#define ledYellow 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
long duration, distance; //Membuat variabel untuk durasi dan jarak
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(ledRed, OUTPUT); //Set variabel led sebagai output
pinMode(ledYellow, OUTPUT); //Set variabel led sebagai output
pinMode(buzzer, OUTPUT); //Set variabel led sebagai output
}
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(ledRed, HIGH);
digitalWrite(ledYellow, LOW);
tone(buzzer, 1000);
} else {
digitalWrite(ledRed, LOW);
digitalWrite(ledYellow, HIGH);
noTone(buzzer);
}
Serial.println(distance);
Serial.println(" cm");
delay(100);
}