#define TRIG_PIN 14 // Pin trig sensor HC-SR04
#define ECHO_PIN 25 // Pin echo sensor HC-SR04
#define BUZZER_PIN 2 // Pin untuk buzzer
long duration;
int distance;
void setup() {
pinMode(TRIG_PIN, OUTPUT); // Set trig sebagai output
pinMode(ECHO_PIN, INPUT); // Set echo sebagai input
pinMode(BUZZER_PIN, OUTPUT); // Set buzzer sebagai output
Serial.begin(115200); // Inisialisasi serial monitor
}
void loop() {
// Mengirim sinyal ultrasonik
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Membaca sinyal pantulan
duration = pulseIn(ECHO_PIN, HIGH);
// Menghitung jarak (dalam cm)
distance = duration * 0.034 / 2;
// 0.034 adalah kecepatan suara diudara dalam cm/µs
Serial.print("Objek Terdeteksi Pada Jarak ");
Serial.print(distance);
Serial.println(" cm!");
// Kondisi jika jarak 100 cm
if (distance <= 100 && distance > 50) {
Serial.print("Objek Terdeteksi Pada Jarak ");
Serial.print(distance);
Serial.println(" cm! Buzzer menyala sekali.");
tone(BUZZER_PIN, 500); // Nyalakan buzzer dengan frekuensi 500Hz
delay(2000); // Buzzer menyala selama 2 detik
noTone(BUZZER_PIN); // Matikan buzzer
}
// Kondisi jika jarak 50 cm atau kurang
else if (distance <= 50) {
Serial.print("Objek Terdeteksi Pada Jarak ");
Serial.print(distance);
Serial.println(" cm! Buzzer menyala dua kali.");
for (int i = 0; i < 2; i++) { // Nyalakan buzzer 2 kali
tone(BUZZER_PIN, 500); // Nyalakan buzzer dengan frekuensi 500Hz
delay(2000); // Buzzer menyala selama 2 detik
noTone(BUZZER_PIN); // Matikan buzzer
}
}
delay(1000); // Tunggu 1 detik sebelum pengukuran ulang
}