YURI SILVA TABOSAFernando F de Carvalho
Created January 6, 2022

Fire Alarm System Project (Neopixel and Infrared controller)

Project of a Fire Alarm System with LCD, temperature sensor, led, neopixel and infrared controller.

9
Fire Alarm System Project (Neopixel and Infrared controller)

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
RGB Backlight LCD - 16x2
Adafruit RGB Backlight LCD - 16x2
×1
NeoPixel Ring: WS2812 5050 RGB LED
Adafruit NeoPixel Ring: WS2812 5050 RGB LED
×1
Resistor 220 ohm
Resistor 220 ohm
×4
Grove - Gas Sensor(MQ2)
Seeed Studio Grove - Gas Sensor(MQ2)
×1
Rotary potentiometer (generic)
Rotary potentiometer (generic)
×1
Temperature Sensor
Temperature Sensor
×1
SG90 Micro-servo motor
SG90 Micro-servo motor
×1
Jumper wires (generic)
Jumper wires (generic)
×1
5 mm LED: Red
5 mm LED: Red
×1
High Brightness LED, White
High Brightness LED, White
×1
Infrared Receiver, Remote Control
Infrared Receiver, Remote Control
×1

Story

Read more

Schematics

Fire Alarm System Project

Code

Fire Alarm System Project

C/C++
#include <IRremote.h>
#include <LiquidCrystal.h>
#include <Servo.h>
#include <Adafruit_NeoPixel.h>
#define LED_PIN    11
#define LED_COUNT 16

Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
Servo servo1;
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
int pos;
int fumaca;
int Temp;
double TempT;
double Temperature;
int RECV_PIN = 9;
IRrecv irrecv(RECV_PIN);
decode_results results;


void setup() {
  
  pinMode(12, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(2, OUTPUT);
  pinMode(A0, INPUT);
  pinMode(A1, INPUT);
  pinMode(A2, INPUT);
  servo1.attach(10);
  lcd.begin(16, 2);
  irrecv.enableIRIn();

}

void loop() {

  Temp = analogRead(A1);
  TempT = Temp * (5000/1024.0);
  Temperature = (TempT - 500) / 10;
  fumaca = analogRead(A0);
  
  if(irrecv.decode(&results)){
  irrecv.resume();
  }if(results.value == 0xFD00FF){ 
  digitalWrite(12, HIGH);
  }else if(results.value == 0xFD30CF){
  digitalWrite(12, LOW);
  }
  
  if(fumaca >= 25){
    lcd.clear();
    servo1.write(90);
    digitalWrite(8, HIGH);
    lcd.setCursor(0, 0);
  	lcd.print("FOGO");
    lcd.setCursor(0, 1);
  	lcd.print("IDENTIFICADO");
    delay(1000);
    
    for(int i=1;i<=16;i++){
  	strip.setPixelColor(i-1,128 , 0, 128);
  	strip.setPixelColor(i, 128, 0, 128);
    strip.show();
    delay(100);
  	}
  }
  else{
    lcd.clear(); 
    servo1.write(0);
    digitalWrite(8 , LOW);
    lcd.setCursor(0, 0);
  	lcd.print("Temperatura em");
    lcd.setCursor(0, 1);
  	lcd.print("Celsius = ");
    lcd.print(Temperature);
    delay(1000);
    
  strip.begin();
  strip.show();
  for(int i=0;i<=16;i++){
  	strip.setPixelColor(i, 0, 255, 0);
    strip.show();
  	}
    
  delay(10);
  }
}

Credits

YURI SILVA TABOSA
2 projects • 0 followers
Fernando F de Carvalho
21 projects • 8 followers

Comments