System Schematic Diagram
Arduino Microcontroller
Smoke Detectors
Manual Call Points
Alarm Bell
LCD Display
Control Buttons
Arduino Implementation
// Fire Alarm System Code for Arduino
#include
// Initialize LCD (RS, E, D4, D5, D6, D7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// Pin Definitions
const int smokeSensorPin = A0;
const int manualCallPin = 7;
const int alarmBellPin = 8;
const int silenceButtonPin = 9;
const int resetButtonPin = 10;
// Variables
int smokeValue = 0;
bool alarmActive = false;
bool systemSilenced = false;
void setup() {
// Initialize components
pinMode(smokeSensorPin, INPUT);
pinMode(manualCallPin, INPUT_PULLUP);
pinMode(alarmBellPin, OUTPUT);
pinMode(silenceButtonPin, INPUT_PULLUP);
pinMode(resetButtonPin, INPUT_PULLUP);
// LCD Setup
lcd.begin(16, 2);
lcd.print("FireGuardian 3000");
lcd.setCursor(0, 1);
lcd.print("System Ready");
Serial.begin(9600);
}
void loop() {
// Read sensor values
smokeValue = analogRead(smokeSensorPin);
bool manualTrigger = !digitalRead(manualCallPin);
bool silencePressed = !digitalRead(silenceButtonPin);
bool resetPressed = !digitalRead(resetButtonPin);
// Check for fire condition
if ((smokeValue > 300 || manualTrigger) && !systemSilenced) {
triggerAlarm();
}
// Handle silence button
if (silencePressed && alarmActive) {
silenceAlarm();
}
// Handle reset button
if (resetPressed) {
resetSystem();
}
// Update LCD
updateDisplay();
delay(100);
}
void triggerAlarm() {
alarmActive = true;
digitalWrite(alarmBellPin, HIGH);
lcd.clear();
lcd.print("FIRE DETECTED!");
lcd.setCursor(0, 1);
lcd.print("EVACUATE AREA");
}
void silenceAlarm() {
systemSilenced = true;
digitalWrite(alarmBellPin, LOW);
lcd.clear();
lcd.print("ALARM SILENCED");
lcd.setCursor(0, 1);
lcd.print("AWAITING RESET");
}
void resetSystem() {
alarmActive = false;
systemSilenced = false;
digitalWrite(alarmBellPin, LOW);
lcd.clear();
lcd.print("FireGuardian 3000");
lcd.setCursor(0, 1);
lcd.print("System Ready");
}
void updateDisplay() {
if (!alarmActive) {
lcd.setCursor(0, 1);
lcd.print("Smoke: ");
lcd.print(smokeValue);
lcd.print(" ");
}
}
Important: This code requires the LiquidCrystal library. Connect components as shown in the schematic diagram.
System Components
Arduino Uno
Microcontroller brain of the system that processes all inputs and controls outputs.
Smoke Detector
Industrial-grade optical smoke detector (MQ-2 sensor recommended).
Manual Call Point
Break-glass unit for manual fire alarm activation.
Alarm Bell
110dB piezoelectric alarm siren for audible alert.
LCD Display
16x2 character LCD for system status information.
Control Buttons
Momentary push buttons for silence and system reset functions.