From fc01ea9ceb5ad42192c318367006be33c8926ee0 Mon Sep 17 00:00:00 2001 From: Adamalfantino <158027358+Adamalfantino@users.noreply.github.com> Date: Wed, 10 Jun 2026 12:53:00 +0700 Subject: [PATCH] Gateway: tambah buzzer pin 32, bunyi saat terima PIR/Reed/Vibration --- arduino_fixed_code/esp32_gateway_receiver.ino | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/arduino_fixed_code/esp32_gateway_receiver.ino b/arduino_fixed_code/esp32_gateway_receiver.ino index 46f1fb8..a102576 100644 --- a/arduino_fixed_code/esp32_gateway_receiver.ino +++ b/arduino_fixed_code/esp32_gateway_receiver.ino @@ -55,6 +55,29 @@ PubSubClient mqtt(espClient); #define LED_HIJAU 33 #define LED_MERAH 25 +// ============================================ +// BUZZER +// ============================================ +#define PIN_BUZZER 32 // Ganti sesuai pin yang tersedia di ESP32 gateway + +// Pola bunyi per sensor +void buzzerPIR() { // 3x beep pendek + for (int i = 0; i < 3; i++) { + digitalWrite(PIN_BUZZER, HIGH); delay(80); + digitalWrite(PIN_BUZZER, LOW); delay(80); + } +} +void buzzerReed() { // 1x beep panjang + digitalWrite(PIN_BUZZER, HIGH); delay(600); + digitalWrite(PIN_BUZZER, LOW); +} +void buzzerVib() { // 2x beep sedang + for (int i = 0; i < 2; i++) { + digitalWrite(PIN_BUZZER, HIGH); delay(150); + digitalWrite(PIN_BUZZER, LOW); delay(100); + } +} + // ============================================ // ALERT SYSTEM // ============================================ @@ -240,6 +263,7 @@ void routePacket(String raw) { // ========================================= if (type == "PIR") { setAlert("PIR detected"); + buzzerPIR(); // bunyi di gateway // Build payload untuk API StaticJsonDocument<256> apiDoc; @@ -268,6 +292,7 @@ void routePacket(String raw) { // ========================================= else if (type == "REED") { setAlert("DOOR event"); + buzzerReed(); // bunyi di gateway // Build payload untuk API StaticJsonDocument<256> apiDoc; @@ -297,6 +322,7 @@ void routePacket(String raw) { // ========================================= else if (type == "VIBRATION") { setAlert("VIBRATION detected"); + buzzerVib(); // bunyi di gateway // Build payload untuk API — butuh x_axis, y_axis, z_axis // Jika node sender tidak kirim (firmware lama), generate simulasi di gateway @@ -392,10 +418,12 @@ void setup() { pinMode(LED_LORA, OUTPUT); pinMode(LED_HIJAU, OUTPUT); pinMode(LED_MERAH, OUTPUT); + pinMode(PIN_BUZZER, OUTPUT); digitalWrite(LED_WIFI, LOW); digitalWrite(LED_LORA, LOW); digitalWrite(LED_HIJAU, HIGH); digitalWrite(LED_MERAH, LOW); + digitalWrite(PIN_BUZZER, LOW); setupWifi(); connectMQTT();