- Senzor de flacără
- Componente necesare
- Diagrama circuitului
- Funcționarea senzorului de flacără cu Arduino
- Explicarea codului
Sistemele de alarmă la incendiu sunt foarte frecvente în clădiri comerciale și fabrici, aceste dispozitive conțin de obicei un grup de senzori care monitorizează constant orice flacără, gaz sau incendiu din clădire și declanșează o alarmă dacă detectează oricare dintre acestea. Unul dintre cele mai simple moduri de a detecta focul este prin utilizarea unui senzor IR Flame, acești senzori au o fotodiodă IR sensibilă la lumina IR. Acum, în caz de incendiu, focul nu va produce doar căldură, dar va emite și raze IR, da, fiecare flacără arzătoare va emite un anumit nivel de lumină IR, această lumină nu este vizibilă pentru ochii umani, dar senzorul nostru de flacără îl poate detecta și avertizați un microcontroler precum Arduino că a fost detectat un incendiu.
În acest articol interacționăm senzorul de flacără cu Arduino și învățăm toți pașii pentru a construi un sistem de alarmă la incendiu utilizând Arduino și senzorul de flacără. Modulul senzor de flacără are o fotodiodă pentru a detecta lumina și un amplificator op pentru a controla sensibilitatea. Este folosit pentru a detecta focul și pentru a furniza un semnal HIGH la detectare. Arduino citește semnalul și oferă alertă pornind buzzerul și LED-ul. Senzorul de flacără utilizat aici este un senzor de flacără pe bază de IR. De asemenea, am folosit același concept pentru a detecta focul în robotul nostru de stingere a incendiilor, puteți verifica și dacă este interesat.
Senzor de flacără
Un detector de flacără este un senzor conceput pentru a detecta și răspunde la prezența unei flăcări sau a unui incendiu. Răspunsurile la o flacără detectată depind de instalație, dar pot include sunarea unei alarme, dezactivarea unei conducte de combustibil (cum ar fi un propan sau o conductă de gaze naturale) și activarea unui sistem de suprimare a incendiilor. Senzorul de flacără IR utilizat în acest proiect este prezentat mai jos, acești senzori sunt numiți uneori și modul senzor de incendiu sau senzor detector de flacără.
Există diferite tipuri de metode de detectare a flăcării. Unele dintre ele sunt: detector ultraviolet, detector de matrice IR aproape, detector infraroșu (IR), camere termice cu infraroșu, detector UV / IR etc.
Când focul arde emite o cantitate mică de lumină infraroșie, această lumină va fi recepționată de fotodiodă (receptor IR) de pe modulul senzor. Apoi, folosim un Op-Amp pentru a verifica o modificare a tensiunii pe receptorul IR, astfel încât, dacă este detectat un incendiu, pinul de ieșire (DO) va da 0V (LOW), iar dacă nu este foc, pinul de ieșire va fi 5V (ÎNALT).
În acest proiect, folosim un senzor de flacără pe bază de IR. Se bazează pe senzorul YG1006, care este un fototranzistor de siliciu NPN de mare viteză și sensibil. Poate detecta lumina infraroșie cu o lungime de undă cuprinsă între 700nm și 1000nm, iar unghiul său de detecție este de aproximativ 60 °. Modulul senzorului de flacără este format dintr-o fotodiodă (receptor IR), rezistor, condensator, potențiometru și comparator LM393 într-un circuit integrat. Sensibilitatea poate fi reglată prin modificarea potențiometrului de la bord. Tensiunea de lucru este între 3,3v și 5v DC, cu o ieșire digitală. O logică ridicată la ieșire indică prezența flăcării sau a focului. O ieșire logică redusă indică absența flăcării sau a focului.
Mai jos este descrierea pinului modulului senzorului de flacără:
Pin |
Descriere |
Vcc |
3.3 - sursa de alimentare 5V |
GND |
Sol |
Dout |
Ieșire digitală |
Aplicații ale senzorilor de flacără
- Stații de hidrogen
- Monitoare de ardere pentru arzătoare
- Conducte de petrol și gaze
- Instalații de producție auto
- Instalații nucleare
- Hangare pentru avioane
- Carcase pentru turbine
Componente necesare
- Arduino Uno (se poate folosi orice placa Arduino)
- Modul senzor de flacără
- LED
- Buzzer
- Rezistor
- Sârme de jumper
Diagrama circuitului
Imaginea de mai jos este schema circuitului senzorului de incendiu Arduino, arată modul de interfață a modulului senzorului de incendiu cu Arduino.
Funcționarea senzorului de flacără cu Arduino
Arduino Uno este o placă de microcontroler open-source bazată pe microcontrolerul ATmega328p. Are 14 pini digitali (dintre care 6 pini pot fi folosiți ca ieșiri PWM), 6 intrări analogice, regulatoare de tensiune la bord etc. Arduino Uno are 32KB de memorie flash, 2KB de SRAM și 1KB de EEPROM. Funcționează la o frecvență de ceas de 16 MHz. Arduino Uno acceptă comunicarea Serial, I2C, SPI pentru comunicarea cu alte dispozitive. Tabelul de mai jos prezintă specificațiile tehnice ale Arduino Uno.
Microcontroler |
ATmega328p |
Tensiunea de funcționare |
5V |
Tensiune de intrare |
7-12V (recomandat) |
Pinii I / O digitale |
14 |
Pinii analogici |
6 |
Memorie flash |
32KB |
SRAM |
2KB |
EEPROM |
1KB |
Viteza ceasului |
16MHz |
Senzorul de flacără detectează prezența focului sau a flăcării pe baza lungimii de undă în infraroșu (IR) emis de flacără. Dă logica 1 ca ieșire dacă este detectată o flacără, în caz contrar, dă logică 0 ca ieșire. Arduino Uno verifică nivelul logic al pinului de ieșire al senzorului și efectuează sarcini suplimentare, cum ar fi activarea sonorului și a LED-ului, trimiterea unui mesaj de alertă.
De asemenea, verificați celelalte proiecte de alarmă de incendiu:
- Alarmă de incendiu folosind termistor
- Sistem de alarmă de incendiu utilizând microcontrolerul AVR
- Robot de stingere a incendiilor bazat pe Arduino
Explicarea codului
Codul Arduino complet pentru acest proiect este dat la sfârșitul acestui articol. Codul este împărțit în mici bucăți semnificative și explicat mai jos.
În această parte a codului, vom defini pinii pentru senzor de flacără, LED și buzzer care sunt conectați la Arduino. Senzorul de flacără este conectat la pinul digital 4 al Arduino. Buzzerul este conectat la pinul digital 8 al Arduino. LED-ul este conectat la pinul digital 7 al Arduino.
Variabila „ flame_detected ” este utilizată pentru stocarea valorii digitale citite de la senzorul de flacără. Pe baza acestei valori vom detecta prezența flăcării.
int buzzer = 8; int LED = 7; int flame_sensor = 4; int flame_detected;
În această parte a codului, vom seta starea pinilor digitali ai Arduino și o vom configura
Rată de transmisie pentru comunicații seriale cu PC pentru afișarea stării circuitului de detectare a flăcării.
void setup () { Serial.begin (9600); pinMode (buzzer, OUTPUT); pinMode (LED, OUTPUT); pinMode (flame_sensor, INPUT); }
Această linie de cod citește ieșirea digitală de la senzorul de flacără și o stochează în variabila „ flame_detected ”.
flame_detected = digitalRead (flame_sensor);
Pe baza valorii stocate în „ flame_detected ”, trebuie să pornim buzzerul și LED-ul. În această parte a codului, comparăm valoarea stocată în „ flame_detected ” cu 0 sau 1.
Dacă este egal cu 1, indică faptul că flacăra a fost detectată. Trebuie să pornim buzzerul și LED-ul și apoi să afișăm un mesaj de alertă în monitorul serial al Arduino IDE.
Dacă este egal cu 0, atunci indică faptul că nu a fost detectată nicio flacără, așa că trebuie să oprim LED-ul și soneria. Acest proces se repetă în fiecare secundă pentru a identifica prezența focului sau a flăcării.
if (flame_detected == 1) { Serial.println ("Flacăra detectată…! acționează imediat."); digitalWrite (buzzer, HIGH); digitalWrite (LED, HIGH); întârziere (200); digitalWrite (LED, LOW); întârziere (200); } else { Serial.println ("Fără flacără detectată. rămâneți rece"); digitalWrite (buzzer, LOW); digitalWrite (LED, LOW); } întârziere (1000);
Am construit un robot de stingere a incendiilor pe baza acestui concept, care detectează automat focul și pompează apa pentru a stinge focul. Acum știi cum să faci detectarea focului folosind Arduino și senzorul de flacără, sperăm că ți-a plăcut să îl înveți, dacă ai vreo întrebare, lasă-le în secțiunea de comentarii de mai jos.
Verificați codul complet și videoclipul de mai jos.