- Sensor de flama
- Components necessaris
- Esquema de connexions
- Funcionament del sensor de flama amb Arduino
- Explicació del codi
Els sistemes d’alarma contra incendis són molt habituals a les fàbriques i edificis comercials; normalment, aquests dispositius contenen un grup de sensors que controlen constantment qualsevol flama, gas o foc a l’edifici i activen una alarma si detecta algun d’aquests. Una de les formes més senzilles de detectar foc és mitjançant un sensor de flama IR, que tenen un fotodiode IR sensible a la llum IR. Ara, en cas d’incendi, el foc no només produirà calor, sinó que també emetrà raigs IR, sí, cada flama encesa emetrà algun nivell de llum IR, aquesta llum no és visible per als ulls humans, però el nostre sensor de flama la pot detectar i aviseu un microcontrolador com Arduino que s’ha detectat un incendi.
En aquest article interfacem el sensor de flama amb Arduino i aprenem tots els passos per construir el sistema d'alarma contra incendis mitjançant Arduino i el sensor de flama. El mòdul del sensor de flama té un fotodiode per detectar la llum i un amplificador operatiu per controlar la sensibilitat. S'utilitza per detectar foc i proporcionar un senyal ALT en la detecció. Arduino llegeix el senyal i proporciona alerta en activar el brunzidor i el LED. El sensor de flama utilitzat aquí és un sensor de flama basat en IR. També hem utilitzat el mateix concepte per detectar foc al nostre robot de lluita contra incendis. També podeu comprovar-ne si esteu interessats.
Sensor de flama
Un detector de flama és un sensor dissenyat per detectar i respondre a la presència d’una flama o un foc. Les respostes a una flama detectada depenen de la instal·lació, però poden incloure sonar una alarma, desactivar una línia de combustible (com ara un propà o una línia de gas natural) i activar un sistema de supressió d'incendis. A continuació es mostra el sensor de flama IR utilitzat en aquest projecte, que a vegades també s’anomena mòdul de sensor d’incendi o sensor de detecció de flama.

Hi ha diferents tipus de mètodes de detecció de flama. Alguns d’ells són: detector d’ultraviolats, detector de matriu a prop d’IR, detector d’infrarojos (IR), càmeres tèrmiques d’infrarojos, detector d’UV / IR, etc.
Quan el foc es crema emet una petita quantitat de llum infraroja, aquesta llum la rebrà el fotodiode (receptor IR) del mòdul del sensor. A continuació, fem servir un Op-Amp per comprovar si hi ha un canvi de tensió a través del receptor IR, de manera que si es detecta un foc, el pin de sortida (DO) donarà 0V (LOW) i, si no hi ha foc, el pin de sortida serà 5V (ALT).
En aquest projecte, estem utilitzant un sensor de flama basat en IR. Es basa en el sensor YG1006, que és un fototransistor de silici NPN d'alta velocitat i alta sensibilitat. Pot detectar llum infraroja amb una longitud d’ona que oscil·la entre els 700nm i els 1000nm i el seu angle de detecció és d’uns 60 °. El mòdul del sensor de flama està format per un fotodiode (receptor IR), una resistència, un condensador, un potenciòmetre i un comparador LM393 en un circuit integrat. La sensibilitat es pot ajustar variant el potenciòmetre integrat. La tensió de treball està entre 3,3v i 5v de CC, amb una sortida digital. Una lògica alta a la sortida indica la presència de flama o foc. Una sortida lògica de baixa indica l’absència de flama o foc.
A continuació es mostra la descripció del pin del mòdul del sensor de flama:
|
Pin |
Descripció |
|
Vcc |
3.3 - Alimentació 5V |
|
GND |
Terra |
|
Dout |
Sortida digital |
Aplicacions de sensors de flama
- Estacions d’hidrogen
- Monitors de combustió per a cremadors
- Oleoductes de petroli i gas
- Instal·lacions de fabricació d’automòbils
- Instal·lacions nuclears
- Hangars d'avions
- Tancaments de turbines
Components necessaris
- Arduino Uno (es pot utilitzar qualsevol placa Arduino)
- Mòdul de sensor de flama
- LED
- Zumbador
- Resistència
- Filferros de pont
Esquema de connexions
La imatge següent és el diagrama del circuit del sensor d’incendi Arduino, que mostra com es pot connectar el mòdul del sensor d’incendi amb Arduino.

Funcionament del sensor de flama amb Arduino
Arduino Uno és una placa de microcontrolador de codi obert basada en el microcontrolador ATmega328p. Té 14 pins digitals (dels quals 6 pins es poden utilitzar com a sortides PWM), 6 entrades analògiques, reguladors de voltatge integrats, etc. Arduino Uno té 32 KB de memòria flash, 2 KB de SRAM i 1 KB d’EEPROM. Funciona a una freqüència de rellotge de 16 MHz. Arduino Uno admet la comunicació Serial, I2C, SPI per comunicar-se amb altres dispositius. La taula següent mostra les especificacions tècniques d’Arduino Uno.
|
Microcontrolador |
ATmega328p |
|
Tensió de funcionament |
5V |
|
Voltatge d'entrada |
7-12V (recomanat) |
|
Pines d'E / S digitals |
14 |
|
Pins analògics |
6 |
|
Memòria flash |
32 KB |
|
SRAM |
2 KB |
|
EEPROM |
1 KB |
|
Velocitat del rellotge |
16 MHz |
El sensor de flama detecta la presència de foc o flama en funció de la longitud d'ona infraroig (IR) emesa per la flama. Dóna la lògica 1 com a sortida si es detecta una flama, en cas contrari, dóna la lògica 0 com a sortida. Arduino Uno comprova el nivell lògic del pin de sortida del sensor i realitza tasques addicionals, com ara activar el brunzidor i el LED, enviar un missatge d'alerta.

Consulteu també els nostres altres projectes d’alarma contra incendis:
- Alarma contra incendis mitjançant termistor
- Sistema d'alarma contra incendis mitjançant microcontrolador AVR
- Robot de lluita contra incendis basat en Arduino
Explicació del codi
El codi Arduino complet d’aquest projecte es dóna al final d’aquest article. El codi es divideix en petits trossos significatius i s’explica a continuació.
En aquesta part del codi, definirem els pins per al sensor de flama, el LED i el brunzidor connectats a Arduino. El sensor de flama està connectat al pin digital 4 d’Arduino. El brunzidor està connectat al pin digital 8 d'Arduino. El LED està connectat al pin digital 7 d'Arduino.
La variable " flame_detected " s'utilitza per emmagatzemar el valor digital llegit del sensor de flama. Basant-nos en aquest valor, detectarem la presència de flama.
int buzzer = 8; int LED = 7; int flame_sensor = 4; int flame_detected;
En aquesta part del codi, configurarem i configurarem l'estat dels pins digitals d'Arduino
Velocitat de transmissió per comunicació en sèrie amb PC per mostrar l'estat del circuit de detecció de flama.
configuració nul·la () { Serial.begin (9600); pinMode (buzzer, OUTPUT); pinMode (LED, OUTPUT); pinMode (flame_sensor, INPUT); }
Aquesta línia de codi llegeix la sortida digital del sensor de flama i l'emmagatzema a la variable " flame_detected ".
flame_detected = digitalRead (flame_sensor);
En funció del valor emmagatzemat a " flame_detected ", hem d'encendre el brunzidor i el LED. En aquesta part del codi, comparem el valor emmagatzemat a " flame_detected " amb 0 o 1.
Si és igual a 1, indica que s'ha detectat flama. Hem d’encendre el zumbador i el LED i, a continuació, mostrar un missatge d’alerta al monitor sèrie d’Arduino IDE.
Si és igual a 0, indica que no s'ha detectat cap flama, de manera que hem d'apagar el LED i el brunzidor. Aquest procés es repeteix cada segon per identificar la presència de foc o flama.
if (flame_detected == 1) { Serial.println ("S'ha detectat una flama…! actuar immediatament."); digitalWrite (buzzer, HIGH); digitalWrite (LED, ALT); retard (200); digitalWrite (LED, BAIX); retard (200); } else { Serial.println ("No s'ha detectat cap flama. mantingueu-vos fresc"); digitalWrite (brunzidor, BAIX); digitalWrite (LED, BAIX); } retard (1000);
Hem construït un robot de lluita contra incendis basat en aquest concepte, que detecta automàticament el foc i bombeja l'aigua per apagar el foc. Ara ja sabeu com fer detecció d'incendis mitjançant Arduino i el sensor de flama, espero que us hagi agradat aprendre-ho, si teniu alguna pregunta, deixeu-los a la secció de comentaris següent.
Consulteu el codi complet i el vídeo de demostració a continuació.
