아두이노 화재 경보기
이 튜토리얼에서는 화재를 감지하고 사이렌과 불빛을 통해 경보를 울리는 화재 경보 시스템을 만드는 방법을 배우게 됩니다.
준비물
| 1 | × | 아두이노 우노 R3 | 쿠팡 | 아마존 | |
| 1 | × | USB 2.0 타입 A-to-B 케이블 (USB-A PC용) | 쿠팡 | 아마존 | |
| 1 | × | USB 2.0 타입 C-to-B 케이블 (USB-C PC용) | 아마존 | |
| 1 | × | Smoke Sensor (MQ2 Gas Sensor) | 아마존 | |
| 1 | × | Flame Sensor | 쿠팡 | 아마존 | |
| 1 | × | 5-in-1 5-way Flame Sensor | 아마존 | |
| 1 | × | 릴레이 | 아마존 | |
| 1 | × | 12V Fire Alarm Siren Horn | 아마존 | |
| 1 | × | (또는) 12V Active Buzzer | 쿠팡 | 아마존 | |
| 1 | × | 12V 전원 어댑터 | 아마존 | |
| 1 | × | DC 커넥터 전원 연결 잭 플러그 소켓 | 쿠팡 | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 스크루 터미널 블록 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) Sensors/Servo Expansion Shield for Arduino Uno | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 브레드보드 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 케이스 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 프로토타이핑 베이스 플레이트 & 브레드보드 키트 | 아마존 |
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
소방 경보 시스템에 관하여
화재 경보 시스템은 두 부분으로 구성됩니다:
- 화재 감지: 연기 센서(MQ2 가스 센서)와/또는 화염 센서를 사용할 수 있습니다.
화재 감지에서는 두 가지 센서 중 하나를 사용할 수 있습니다. 그러나 신뢰성을 높이기 위해 연기 센서와 화염 센서 모두를 사용하는 것이 좋습니다. 하나의 센서만 사용하면 모니터링 영역의 일부 위치에서 화재를 감지하지 못할 수 있습니다.
mq2 가스 센서와 화염 센서(핀아웃, 작동 방식, 프로그래밍 방법 등)에 대해 잘 모른다면, 다음 튜토리얼에서 배워보세요:
- 아두이노 - 가스 센서 튜토리얼
- 아두이노 - 화염 센서 튜토리얼
화재 경보 시스희은 어떻게 작동하나요?
아두이노는 연기 센서와 화염 센서로부터 상태를 읽고, 연기나 불꽃이 감지되면 릴레이를 활성화하여 경보를 울리도록 합니다.
선연결
- 사이렌이 있는 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
12V 부저가 포함된 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
아두이노 코드
/*
* 이 아두이노 코드는 newbiely.kr 에서 개발되었습니다
* 이 아두이노 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다.
* 상세한 지침 및 연결도에 대해서는 다음을 방문하세요:
* 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에 업로드하세요
- 연기 센서 주변에 약간의 연기를 만들어 보세요
- 화염 센서 앞에서 불꽃을 만들어 보세요
- 사이렌이나 부저에서 나오는 경보음을 들어보세요
- 시리얼 모니터에서 결과를 확인하세요.
8
Serial.println("Hello World!");
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
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
코드 설명
소스 코드의 주석 줄에 있는 줄별 설명을 읽어 보세요!
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.