#include <Arduino.h>
#include <stdbool.h>
// --- Deklarasi Pin ---
// Menggunakan pin mapping standar Arduino untuk STM32
const int FLAME_SENSOR_PIN = A0;
const int FLOAT_SENSOR_PIN = A1;
const int RELAY_PUMP_PIN = 10;
const int BUZZER_PIN = 11;
const int LED_RED_PIN = 12;
// --- Variabel Status ---
bool statusPompaMati = true;
void setup() {
// Inisialisasi pin Sensor sebagai Input
pinMode(FLAME_SENSOR_PIN, INPUT);
pinMode(FLOAT_SENSOR_PIN, INPUT);
// Inisialisasi pin Aktuator sebagai Output
pinMode(RELAY_PUMP_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
pinMode(LED_RED_PIN, OUTPUT);
// Kondisi awal sistem saat pertama kali menyala: Semua OFF
digitalWrite(LED_RED_PIN, LOW);
digitalWrite(BUZZER_PIN, LOW);
digitalWrite(RELAY_PUMP_PIN, LOW);
}
void loop() {
// Membaca nilai dari Flame Sensor
int deteksiApi = digitalRead(FLAME_SENSOR_PIN);
// Cek kondisi: Jika ada api (HIGH) DAN pompa sedang mati (true)
if (deteksiApi == HIGH && statusPompaMati == true) {
// Aktifkan sistem peringatan
digitalWrite(LED_RED_PIN, HIGH);
digitalWrite(BUZZER_PIN, HIGH);
digitalWrite(RELAY_PUMP_PIN, LOW); // Pompa tetap dipertahankan mati
} else {
// Jika aman, matikan sistem peringatan
digitalWrite(LED_RED_PIN, LOW);
digitalWrite(BUZZER_PIN, LOW);
}
// Jeda untuk menstabilkan pembacaan sensor mikrokontroler
delay(100);
}Float Sensor
Flame Sensor