- Sensore di fiamma
- Componenti richiesti
- Schema elettrico
- Funzionamento del sensore di fiamma con Arduino
- Spiegazione del codice
I sistemi di allarme antincendio sono molto comuni negli edifici commerciali e nelle fabbriche, questi dispositivi contengono solitamente un gruppo di sensori che monitora costantemente qualsiasi fiamma, gas o incendio nell'edificio e attiva un allarme se rileva uno di questi. Uno dei modi più semplici per rilevare un incendio è utilizzare un sensore di fiamma IR, questi sensori hanno un fotodiodo IR sensibile alla luce IR. Ora, in caso di incendio, il fuoco non solo produrrà calore ma emetterà anche raggi IR, sì, ogni fiamma accesa emetterà un certo livello di luce IR, questa luce non è visibile agli occhi umani ma il nostro sensore di fiamma può rilevarla e avvisa un microcontrollore come Arduino che è stato rilevato un incendio.
In questo articolo interfacciamo il sensore di fiamma con Arduino e impariamo tutti i passaggi per costruire un sistema di allarme antincendio utilizzando Arduino e il sensore di fiamma. Il modulo sensore di fiamma ha un fotodiodo per rilevare la luce e un amplificatore operazionale per controllare la sensibilità. Viene utilizzato per rilevare incendi e fornire un segnale ALTO al rilevamento. Arduino legge il segnale e fornisce un avviso accendendo il cicalino e il LED. Il sensore di fiamma qui utilizzato è un sensore di fiamma basato su IR. Abbiamo anche utilizzato lo stesso concetto per rilevare il fuoco nel nostro Robot antincendio, puoi anche controllare il nostro se sei interessato.
Sensore di fiamma
Un rilevatore di fiamma è un sensore progettato per rilevare e rispondere alla presenza di una fiamma o di un incendio. Le risposte a una fiamma rilevata dipendono dall'installazione ma possono includere il suono di un allarme, la disattivazione di una linea del carburante (come una linea di propano o una linea del gas naturale) e l'attivazione di un sistema di soppressione degli incendi. Il sensore di fiamma IR utilizzato in questo progetto è mostrato di seguito, questi sensori sono anche chiamati modulo sensore di fuoco o sensore di rivelatore di fiamma a volte.
Esistono diversi tipi di metodi di rilevamento della fiamma. Alcuni di loro sono: rilevatore di ultravioletti, rilevatore di array vicino IR, rilevatore a infrarossi (IR), termocamere a infrarossi, rilevatore UV / IR ecc.
Quando il fuoco brucia, emette una piccola quantità di luce infrarossa, questa luce verrà ricevuta dal fotodiodo (ricevitore IR) sul modulo sensore. Quindi usiamo un amplificatore operazionale per verificare una variazione di tensione attraverso il ricevitore IR, in modo che se viene rilevato un incendio il pin di uscita (DO) darà 0 V (BASSO), e se non è acceso il pin di uscita sarà 5 V (ALTO).
In questo progetto, stiamo utilizzando un sensore di fiamma basato su IR. Si basa sul sensore YG1006 che è un fototransistor al silicio NPN ad alta velocità e alta sensibilità. Può rilevare la luce infrarossa con una lunghezza d'onda compresa tra 700 nm e 1000 nm e il suo angolo di rilevamento è di circa 60 °. Il modulo del sensore di fiamma è costituito da un fotodiodo (ricevitore IR), un resistore, un condensatore, un potenziometro e un comparatore LM393 in un circuito integrato. La sensibilità può essere regolata variando il potenziometro a bordo. La tensione di lavoro è compresa tra 3,3 V e 5 V CC, con un'uscita digitale. Una logica alta sull'uscita indica la presenza di fiamma o fuoco. Una logica bassa sull'uscita indica l'assenza di fiamma o fuoco.
Di seguito è riportata la descrizione dei pin del modulo sensore di fiamma:
Pin |
Descrizione |
Vcc |
3.3 - 5V di alimentazione |
GND |
Terra |
Dout |
Output digitale |
Applicazioni dei sensori di fiamma
- Stazioni di idrogeno
- Monitor di combustione per bruciatori
- Oleodotti e gasdotti
- Impianti di produzione automobilistica
- Impianti nucleari
- Hangar per aerei
- Contenitori per turbine
Componenti richiesti
- Arduino Uno (è possibile utilizzare qualsiasi scheda Arduino)
- Modulo sensore di fiamma
- GUIDATO
- Cicalino
- Resistore
- Cavi jumper
Schema elettrico
L'immagine sotto è lo schema del circuito del sensore antincendio Arduino, mostra come interfacciare il modulo sensore antincendio con Arduino.
Funzionamento del sensore di fiamma con Arduino
Arduino Uno è una scheda microcontrollore open source basata sul microcontrollore ATmega328p. Dispone di 14 pin digitali (di cui 6 pin possono essere utilizzati come uscite PWM), 6 ingressi analogici, regolatori di tensione a bordo ecc. Arduino Uno ha 32KB di memoria flash, 2KB di SRAM e 1KB di EEPROM. Funziona a una frequenza di clock di 16 MHz. Arduino Uno supporta la comunicazione seriale, I2C, SPI per comunicare con altri dispositivi. La tabella seguente mostra le specifiche tecniche di Arduino Uno.
Microcontrollore |
ATmega328p |
Tensione di esercizio |
5V |
Tensione di ingresso |
7-12 V (consigliato) |
Pin di I / O digitali |
14 |
Pin analogici |
6 |
Memoria flash |
32 KB |
SRAM |
2KB |
EEPROM |
1KB |
Velocità dell'orologio |
16 MHz |
Il sensore di fiamma rileva la presenza di fuoco o fiamma in base alla lunghezza d'onda degli infrarossi (IR) emessa dalla fiamma. Fornisce 1 logica come uscita se viene rilevata una fiamma, altrimenti fornisce 0 logica come uscita. Arduino Uno controlla il livello logico sul pin di uscita del sensore ed esegue ulteriori attività come l'attivazione del buzzer e del LED, inviando un messaggio di avviso.
Inoltre, controlla i nostri altri progetti di allarme antincendio:
- Allarme incendio tramite termistore
- Sistema di allarme antincendio con microcontrollore AVR
- Robot antincendio basato su Arduino
Spiegazione del codice
Il codice Arduino completo per questo progetto è fornito alla fine di questo articolo. Il codice è suddiviso in piccoli blocchi significativi e spiegato di seguito.
In questa parte del codice, definiremo i pin per il sensore di fiamma, il LED e il buzzer che sono collegati ad Arduino. Il sensore di fiamma è collegato al pin digitale 4 di Arduino. Il buzzer è collegato al pin digitale 8 di Arduino. Il LED è collegato al pin digitale 7 di Arduino.
La variabile “ flame_detected ” viene utilizzata per memorizzare il valore digitale letto dal sensore di fiamma. In base a questo valore rileveremo la presenza di fiamma.
int buzzer = 8; int LED = 7; int flame_sensor = 4; int flame_detected;
In questa parte del codice, imposteremo lo stato dei pin digitali di Arduino e configureremo
Baud rate per comunicazione seriale con PC per la visualizzazione dello stato del circuito di rilevazione fiamma.
void setup () { Serial.begin (9600); pinMode (buzzer, OUTPUT); pinMode (LED, OUTPUT); pinMode (flame_sensor, INPUT); }
Questa riga di codice legge l'uscita digitale dal sensore di fiamma e la memorizza nella variabile “ flame_detected ”.
flame_detected = digitalRead (flame_sensor);
In base al valore memorizzato in “ flame_detected ”, dobbiamo accendere buzzer e led. In questa parte del codice, confrontiamo il valore memorizzato in " flame_detected " con 0 o 1.
Se è uguale a 1, indica che è stata rilevata la fiamma. Dobbiamo accendere il buzzer e il LED e quindi visualizzare un messaggio di avviso nel monitor seriale dell'IDE di Arduino.
Se è uguale a 0, allora indica che non è stata rilevata alcuna fiamma quindi dobbiamo spegnere LED e buzzer. Questo processo viene ripetuto ogni secondo per identificare la presenza di fuoco o fiamma.
if (flame_detected == 1) { Serial.println ("Fiamma rilevata…! agisci immediatamente."); digitalWrite (buzzer, HIGH); digitalWrite (LED, ALTO); ritardo (200); digitalWrite (LED, BASSO); ritardo (200); } else { Serial.println ("Nessuna fiamma rilevata. Stai fresco"); digitalWrite (buzzer, LOW); digitalWrite (LED, BASSO); } ritardo (1000);
Abbiamo costruito un robot antincendio basato su questo concetto, che rileva automaticamente l'incendio e pompa l'acqua per spegnere l'incendio. Ora sai come eseguire la rilevazione di incendi utilizzando Arduino e sensore di fiamma, spero ti sia piaciuto impararlo, se hai domande lasciale nella sezione commenti qui sotto.
Controlla il codice completo e il video dimostrativo di seguito.