아두이노 화재 경보기 | Arduino Fire Alarm
이 튜토리얼에서는 화재를 감지하고 사이렌과 불빛을 통해 경보를 울리는 화재 경보 시스템을 만드는 방법을 배우게 됩니다.
준비물
1 | × | Arduino Uno | Amazon | |
1 | × | USB 2.0 cable type A/B | 쿠팡 | Amazon | |
1 | × | Smoke Sensor (MQ2 Gas Sensor) | Amazon | |
1 | × | Flame Sensor | 쿠팡 | Amazon | |
1 | × | Relay | Amazon | |
1 | × | 12V Fire Alarm Siren Horn | Amazon | |
1 | × | (Alternative) 12V Active Buzzer | 쿠팡 | Amazon | |
1 | × | 12V Power Adapter | Amazon | |
1 | × | DC Power Jack | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Optional) 9V Power Adapter for Arduino | Amazon | |
1 | × | (Recommended) Screw Terminal Block Shield for Arduino Uno | 쿠팡 | Amazon | |
1 | × | (Recommended) Breadboard Shield For Arduino Uno | 쿠팡 | Amazon | |
1 | × | (Recommended) Enclosure For Arduino Uno | Amazon |
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.
소방 경보 시스템에 관하여
화재 경보 시스템은 두 부분으로 구성됩니다:
- 화재 감지: 연기 센서(MQ2 가스 센서)와/또는 화염 센서를 사용할 수 있습니다.
화재 감지에서는 두 가지 센서 중 하나를 사용할 수 있습니다. 그러나 신뢰성을 높이기 위해 연기 센서와 화염 센서 모두를 사용하는 것이 좋습니다. 하나의 센서만 사용하면 모니터링 영역의 일부 위치에서 화재를 감지하지 못할 수 있습니다.
mq2 가스 센서와 화염 센서(핀아웃, 작동 방식, 프로그래밍 방법 등)에 대해 잘 모른다면, 다음 튜토리얼에서 배워보세요:
- Arduino - MQ2 Gas Sensor tutorial
- Arduino - Flame Sensor tutorial
화재 경보 시스희은 어떻게 작동하나요?
아두이노는 연기 센서와 화염 센서로부터 상태를 읽고, 연기나 불꽃이 감지되면 릴레이를 활성화하여 경보를 울리도록 합니다.
선연결
- 사이렌이 있는 배선도
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
12V 부저가 포함된 배선도
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
아두이노 코드
/*
* 이 Arduino 코드는 newbiely.kr 에서 개발되었습니다
* 이 Arduino 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다.
* 상세한 지침 및 연결도에 대해서는 다음을 방문하세요:
* https://newbiely.kr/tutorials/arduino/arduino-fire-alarm
*/
#define FLAME_PIN 7 // 화염 센서의 DO 핀에 연결된 아두이노의 핀
#define SMOKE_PIN 13 // 연기 MQ2 센서의 DO 핀에 연결된 아두이노의 핀
#define RELAY_PIN 2 // 릴레이에 연결된 아두이노의 핀
void setup() {
// 시리얼 통신 초기화
Serial.begin(9600);
// 아두이노의 핀 초기화
pinMode(FLAME_PIN, INPUT);
pinMode(SMOKE_PIN, INPUT);
pinMode(RELAY_PIN, OUTPUT);
}
void loop() {
int flame_state = digitalRead(FLAME_PIN);
int smoke_state = digitalRead(SMOKE_PIN);
if (flame_state == LOW) {
Serial.println("화염 센서를 기반으로 화재 감지 => 경보");
digitalWrite(RELAY_PIN, HIGH);
} else if (smoke_state == LOW) {
Serial.println("연기 센서를 기반으로 화재 감지 => 경보");
digitalWrite(RELAY_PIN, HIGH);
} else {
Serial.println("화재 감지되지 않음 => 안전!");
digitalWrite(RELAY_PIN, LOW);
}
}
사용 방법
- 위의 코드를 복사하고 Arduino IDE로 열어주세요
- Arduino IDE에서 Upload 버튼을 클릭해서 코드를 Arduino에 업로드하세요
- Arduino IDE에서 시리얼 모니터를 엽니다
- 코드를 Arduino에 업로드하세요
- 연기 센서 주변에 약간의 연기를 만들어 보세요
- 화염 센서 앞에서 불꽃을 만들어 보세요
- 사이렌이나 부저에서 나오는 경보음을 들어보세요
- 시리얼 모니터에서 결과를 확인하세요.
COM6
No fire detected => great!
No fire detected => great!
No fire detected => great!
Fire is detected based on the smoke sensor => alarming
Fire is detected based on the smoke sensor => alarming
Fire is detected based on the smoke sensor => alarming
Fire is detected based on the smoke sensor => alarming
No fire detected => great!
No fire detected => great!
No fire detected => great!
Fire is detected based on the flame sensor => alarming
Fire is detected based on the flame sensor => alarming
Fire is detected based on the flame sensor => alarming
Autoscroll
Clear output
9600 baud
Newline
코드 설명
소스 코드의 주석 줄에 있는 줄별 설명을 읽어 보세요!
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.