#include <Arduino.h>
#define TRIG_PIN 13
#define ECHO_PIN 12
#define RELAY_PIN 14
#define BUZZER_PIN 27
void setup() {
Serial.begin(115200);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(RELAY_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW);
digitalWrite(BUZZER_PIN, LOW);
}
void loop() {
long duration, distance;
// Mengatur Trigger
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Menghitung durasi
duration = pulseIn(ECHO_PIN, HIGH);
// Menghitung jarak (cm)
distance = (duration * 0.034 / 2);
Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" cm");
if (distance <= 50) {
digitalWrite(RELAY_PIN, HIGH); // Nyalakan relay
digitalWrite(BUZZER_PIN, HIGH); // Nyalakan buzzer
tone(BUZZER_PIN, 500); //membunyikan buzzer sebesar 200Hz, boleh diubah-ubah sesuai dengan keinginan, semakin tinggi frekuensi semakin tinggi pula suara buzzernya
} else {
digitalWrite(RELAY_PIN, LOW); // Matikan relay
digitalWrite(BUZZER_PIN, LOW); // Matikan buzzer
tone(BUZZER_PIN, 0);
}
delay(500); // Delay sebelum pembacaan berikutnya
}