아두이노 코드 및 비디오: 아두이노용 화염 센서 모듈
이 튜토리얼에서는 Arduino와 화염 센서 모듈을 사용하는 방법을 살펴보겠습니다. 화염 센서는 화염의 존재를 감지하고, 감지 시 경보나 표시기를 작동시킬 수 있습니다. 이 프로젝트가 끝나면 화염 감지에 청각적 경고와 시각적 피드백으로 반응하는 작동 시스템을 갖추게 됩니다.


화염 센서 모듈은 적외선 LED를 사용하여 화염을 감지합니다. 화염이 감지되면 모듈은 부저나 LED와 같은 다른 구성 요소를 활성화하는 데 사용할 수 있는 신호를 출력합니다. 이 프로젝트는 화염 센서를 Arduino에 배선하고 입력과 출력을 처리하는 간단한 프로그램을 작성하는 것을 포함합니다.
코드와 배선을 더 명확히 이해하려면 관련 비디오(비디오 00:00)를 확인하는 것이 좋습니다.
하드웨어 설명
이 프로젝트의 주요 구성 요소는 화염 센서 모듈, Arduino 보드, 그리고 경고용 부저 또는 LED입니다. 화염 센서에는 디지털 출력 핀(DO), 아날로그 출력 핀(AO), 전원 핀(VCC), 접지 핀(GND)의 네 개의 핀이 있습니다. 디지털 출력 핀은 화염이 감지되면 HIGH 신호를 보내고, 아날로그 출력은 화염의 강도에 따라 다양한 값을 제공합니다.
Arduino는 디지털 출력을 읽어 화염이 있는지 확인합니다. 센서가 화염을 감지하면 Arduino는 출력 핀을 사용하여 경보나 조명을 작동시킬 수 있습니다. 화염 감지의 민감도는 모듈에 내장된 가변 저항을 사용하여 조정할 수 있습니다.
데이터시트 세부 정보
| 제조업체 | 일반 |
|---|---|
| 부품 번호 | LM393 |
| 로직/IO 전압 | 5V |
| 공급 전압 | 2–36V |
| 출력 전류(채널당) | 20mA |
| 피크 전류(채널당) | 50mA |
| PWM 주파수 안내 | 해당 없음 |
| 입력 로직 임계값 | 0.8V(낮음), 2.0V(높음) |
| 전압 강하 / RDS(on) / 포화 | 0.2V |
| 열 한계 | 125°C |
| 패키지 | TO-220 |
| 참고 사항 / 변형 | 민감도 조절 가능 |
- 모듈에 2~36V의 적절한 전압 공급을 확인하세요.
- 최적의 화염 감지를 위해 센서의 적외선 LED를 깨끗하게 유지하세요.
- 모듈이 피크 전류 한계 근처에서 작동하는 경우 방열판을 사용하세요.
- 단락이나 잘못된 연결을 피하기 위해 배선에 주의하세요.
- 다양한 응용 분야에 맞게 온보드 가변 저항을 사용하여 민감도를 조정하세요.
- 경보 출력이 연결된 부하(부저/LED)를 처리할 수 있는지 확인하세요.
배선 지침


화염 센서 모듈을 Arduino에 배선하려면 먼저 화염 센서의 VCC 핀을 Arduino의 5V 핀에 연결하세요. 그런 다음 센서의 GND 핀을 Arduino의 GND 핀 중 하나에 연결합니다. 화염 센서의 디지털 출력 핀(DO)은 Arduino의 디지털 핀 2에 연결해야 하며, 코드에서는 FLAME이라고 부릅니다. 마지막으로 부저와 같은 경보 장치를 Arduino의 디지털 핀 8에 연결하고, 이를 ALARM이라고 부릅니다.
느슨한 연결은 일관되지 않은 동작을 초래할 수 있으므로 모든 연결이 확실한지 확인하세요. 아날로그 출력을 사용하려면 아날로그 출력 핀(AO)을 Arduino의 아날로그 핀(예: A0)에 연결하면 되지만, 기본 기능에는 선택 사항입니다. 비디오에서는 대체 배선 방법도 논의됩니다(비디오 02:30).
코드 예제 및 설명
다음 코드 조각은 화염 센서를 초기화하고 시리얼 모니터를 설정합니다:
#define FLAME 2 // 센서의 DO 핀을 이 핀에 연결
#define ALARM 8 // 경보용 핀 8
void setup() {
Serial.begin(9600);
Serial.println("Robojax.com Fire Module Test");
pinMode(FLAME, INPUT); // FLAME 입력 핀 정의
pinMode(ALARM, OUTPUT); // ALARM 출력 핀 정의
}
여기서 화염 센서와 경보용 핀을 정의하고, 9600 보드율로 시리얼 통신을 초기화합니다. 이를 통해 디버깅을 위해 시리얼 모니터에 메시지를 출력할 수 있습니다.
다음으로, 메인 루프에서 화염 센서를 읽습니다:
void loop() {
int fire = digitalRead(FLAME); // FLAME 센서 읽기
if(fire == HIGH) {
digitalWrite(ALARM, HIGH); // 부저 켜기
Serial.println("Fire! Fire!");
} else {
digitalWrite(ALARM, LOW); // 부저 끄기
Serial.println("Peace");
}
delay(200);
}
이 코드 부분은 화염 센서의 상태를 확인합니다. 화염이 감지되면(HIGH) 경보를 작동시키고 시리얼 모니터에 "Fire! Fire!"를 출력합니다. 화염이 없으면(LOW) 경보를 끄고 "Peace"를 출력합니다. 루프에는 200밀리초의 지연이 포함되어 있으며, 이는 감지 민감도를 변경하기 위해 조정할 수 있습니다.
시연 / 예상 결과
시스템 전원이 켜지면 시리얼 모니터에 "Robojax.com Fire Module Test"가 표시되고, 화염이 감지될 때까지 "Peace"가 표시됩니다. 화염이 감지되면 부저가 울리고 LED가 켜져 화재 상태를 나타냅니다. 모듈의 가변 저항을 조정하여 센서의 민감도를 테스트할 수 있습니다. 리모컨의 적외선 신호로 인한 오탐지에 주의하세요(비디오 04:15).
비디오 타임스탬프
- 00:00 - 화염 센서 모듈 소개
- 02:30 - 배선 지침
- 04:15 - 화염 감지 시연
/*
* This is code for a Flame Sensor module for Arduino.
* Watch the video https://youtu.be/OZkZIP3KlHQ
* Other Arduino libraries and videos https://robojax.com
* *
Flame Sensor module for Arduino
Written by Ahmad Shamshiri for Robojax.com
on January 18, 2018 at 22:21 in Ajax, Ontario, Canada
* Permission granted to share this code given that this
* note is kept with the code.
* Disclaimer: This code is "AS IS" and for educational purposes only.
*
*
*/
/*
What does it do?
When the infrared diode sees the flame, it sends the digital output DO to
also, the level of flame is represented with the analog output.
*/
// 4 Infrared Obstacle code for Robojax.com
#define FLAME 2 // connect DO pin of sensor to this pin
#define ALARM 8 // pin 8 for Alarm
void setup() {
Serial.begin(9600);
Serial.println("Robojax.com Fire Module Test");
pinMode(FLAME, INPUT);//define FLAME input pin
pinMode(ALARM, OUTPUT);//define ALARM output pin
// Flame sensor code for Robojax.com
}
void loop() {
// Flame sensor code for Robojax.com
int fire = digitalRead(FLAME);// read FLAME sensor
if( fire == HIGH)
{
digitalWrite(ALARM,HIGH);// set the buzzer ON
Serial.println("Fire! Fire!");
}else{
digitalWrite(ALARM,LOW); // Set the buzzer OFF
Serial.println("Peace");
// Flame sensor code for Robojax.com
}
delay(200);
}
자원 및 참고자료
-
외부LM393 datasheet (PDF)ti.com
파일📁
파일이 없습니다.