Arduino 불꽃 감지 센서와 블루투스 모듈을 이용한 화재 감지기

  1. 개요
    1. 화재 감지기?
  2. 회로도
  3. 소스코드
  4. 시연 영상

개요


화재 감지기?

  • 화재 감지기의 경우 물리/화학적 변화량을 검출하는 센서 기능, 화재 여부 판단 기능, 화재 신호를 송출하는 발신 기능을 갖고 화재를 감지하는 기능을 수행한다.
  • 본 게시물에서는 이러한 화재 감지기를 아두이노의 불꽃 감지 센서와 블루투스 및 LCD, 피에조 부저 센서를 통해 화재 감지기를 제작 해보려고 한다.

회로도


  • 회로도는 생각보다 간단하다. 각 센서와 LCD를 회로도와 같이 연결해주면 된다.
    • 좀더 구체적인 감지기를 제작하고 싶으면 여러 센서를 연결해주면 된다.

소스코드


#include <LiquidCrystal_I2C.h>
#include <SoftwareSerial.h>

SoftwareSerial swSerial(2,3); //블루투스 tx rx핀
LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); 

int flame = A0;     //센서가 연결된 아날로그핀
int buzzer = 12;    //피에조부저가 연결된 디지털핀
int val = 0;        //센서출력값 저장 변수

void setup() {
  swSerial.begin(9600);         //블루투스 화면 설정
  pinMode(buzzer, OUTPUT);      //피에조부저 출력설정
  pinMode(flame,INPUT);         //센서 입력설정
  Serial.begin(9600);           //시리얼모니터 설정
}
 
void loop() {
  val = analogRead(flame);      //센서에서 값을 읽어옴
  Serial.println(val);          //센서 입력값 시리얼모니터로 출력
  if(val >= 100)                //센서 입력값이 100이상이면 부저가 울림
  {
    digitalWrite(buzzer,HIGH);          //피에조 부저가 울림
    swSerial.println("Danger!!!!!");    //휴대폰 화면에 "Danger!!!"가 출력
    swSerial.println();                 //좀더 보기 편하게 한줄을 띔
  }else{
    digitalWrite(buzzer,LOW);           //피에조 부저가 꺼짐
    swSerial.println("Caution");        //휴대폰 화면에 "Caution"이 출력됨
    swSerial.println();                 //좀더 보기 편하게 한줄을 띔
  }
  if(val >=100) {                       //센서 입력값이 100이상이면, lcd화면에 "Danger!!!"이 출력됨
    lcd.begin(16,2); 
    lcd.backlight(); 
    lcd.setCursor(0,0); 
    lcd.print("Danger!!!"); 
  }else {                               //센서 입력값이 100미만이면, lcd화면에 "Caution!!!"이 출력됨
    lcd.begin(16,2); 
    lcd.backlight(); 
    lcd.setCursor(0,0); 
    lcd.print("Caution!!!"); 
  }
  delay(500);                   //이 반복을 딜레이를 주며 반복함.
}

시연 영상