Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2022:abirlica:sistemincendiu [2022/05/15 22:39]
robert.petrescu
pm:prj2022:abirlica:sistemincendiu [2022/06/02 00:35] (current)
robert.petrescu
Line 6: Line 6:
 </​note>​ </​note>​
  
-{{:​pm:​prj2022:​abirlica:​schema_block.jpg?200|}}+{{ :​pm:​prj2022:​abirlica:​schema_artistica.jpg?300 |}}
  
  
 ===== Descriere generală ===== ===== Descriere generală =====
 +Sistemul folosește un senzor de flacără pe semnalul digital, un senzor de nivel al apei si o pompa de apă. Pentru ca pompa de apă sa nu funcționeze uscată, daca senzorul de apă citește o valoare mai mică decat o valoare presetată, pompa nu poate functiona. Daca senzorul de flacără detectează o flacără, iar nivelul de apa este peste valoarea minimă, pompa pornește pentru a stinge incendiul. De asemenea, există 3 led-uri care servesc pe post de indicator de nivel pentru apă. Daca nivelul apei scade, led-urile se sting treptat, pana cand nu mai ramâne niciunul aprins.
  
-<note tip> +===== Hardware Design ===== 
-Lista componente ​necesare+== Listă ​componente: ​== 
-  ​Arduino UNO +  ​Arduino UNO 
-  - senzor foc +  ​* Senzor Flacără LM393 
-  - bradboard +  * Senzor Nivel Apă 
-  - pompa +  * 3 x Led 
-  - fire de legatura +  * 4 x Rezistor 220 Ohm 
-     ​+  * Tranzistor NPN 2N3904 
 +  * Diodă 1N4007 
 +  * Pompă Apă 3-6V 
 +  ​* Fire 
 +  * Breadboard 
 + 
 +=== Schema electrică === 
 +{{ :​pm:​prj2022:​abirlica:​schema_electrica_sistem_incendiu.jpg.jpg?​750 |}} 
 +===== Software Design ===== 
 + ​Pentru realizarea software-ului necesar funcționării proiectului,​ am utilizat Arduino IDE. 
 + Funcția ReadSensor(),​ citește și returnează valoarea analogică oferită de senzorul de nivel de apă. 
 + ​Primul bloc de if-uri aprinde si stinge led-urile in functie de nivelul apei. 
 +-  Variabila flame_detected are state-ul LOW, atunci când o Flacără este detectată sau HIGH, atunci cand senzorul nu detectează nicio flacără 
 +-  Daca o flacara este detectată si nivelul apei este peste o anumită valoare, pin-ul trans se seteaza pe HIGH si deschide tranzistorul pentru a alimenta ​pompa
 + 
 +<spoiler Cod sursă>​ 
 +<code C fire_supressing_system.ino>​ 
 +#define flame_sensor 4 
 +#define sensorPower 7 
 +#define sensorPin A0 
 +#define trans 8 
 +#define LED1 9 
 +#define LED2 10 
 +#define LED3 11 
 + 
 + 
 +int val = 0; 
 +int buttonState = 0; 
 + 
 +void setup() 
 + 
 +
 + 
 +  ​Serial.begin(9600);​ 
 +  pinMode(sensorPower,​ OUTPUT); 
 +  digitalWrite(sensorPower,​ LOW); 
 +  pinMode(flame_sensor,​ INPUT); 
 +  pinMode(LED1,​ OUTPUT); 
 +  pinMode(LED2,​ OUTPUT); 
 +  pinMode(LED3,​ OUTPUT); 
 +  pinMode(trans,​ OUTPUT); 
 +   
 + 
 +
 + 
 + 
 +void loop() 
 + 
 +
 +    int level = readSensor();​ 
 +    Serial.println(level);​ 
 +    if (level > 400) 
 +    { 
 +      digitalWrite(LED1,​ HIGH); 
 +      digitalWrite(LED2,​ HIGH); 
 +      digitalWrite(LED3,​ HIGH); 
 +       
 +    } 
 +    else if (level > 350 && level <= 400) 
 +    { 
 +      digitalWrite(LED1,​ HIGH); 
 +      digitalWrite(LED2,​ HIGH); 
 +      digitalWrite(LED3,​ LOW); 
 +    } 
 +    else if (level < 350 && level > 300) 
 +    { 
 +      digitalWrite(LED1,​ HIGH); 
 +      digitalWrite(LED2,​ LOW); 
 +      digitalWrite(LED3,​ LOW); 
 +    } 
 +    else if (level <= 300) 
 +    { 
 +      digitalWrite(LED1,​ LOW); 
 +      digitalWrite(LED2,​ LOW); 
 +      digitalWrite(LED3,​ LOW); 
 +    } 
 +    int flame_detected = digitalRead(flame_sensor);​ 
 +     if (flame_detected == LOW && level > 300) 
 +    { 
 +    // turn PUMP on: 
 +    digitalWrite(trans,​ HIGH); 
 +    } else { 
 +    // turn PUMP off: 
 +    digitalWrite(trans,​ LOW); 
 +    } 
 +  // Added the delay so that we can see the output of button 
 +   
 +  delay(100);​ 
 + 
 +
 + 
 +int readSensor() { 
 +  digitalWrite(sensorPower,​ HIGH); ​ // Turn the sensor ON 
 +  delay(10); ​             // wait 10 milliseconds 
 +  val = analogRead(sensorPin); ​   // Read the analog value form sensor 
 +  digitalWrite(sensorPower,​ LOW);   // Turn the sensor OFF 
 +  return val;             // send current reading 
 +
 +</​code>​ 
 +</​spoiler>​ 
 + 
 +===== Rezultate Obţinute ===== 
 +Proiectul detectează o flacără, iar dacă nivelul apei din recipientul pompei este destul de ridicat pentru a nu lăsa pompa să meargă fară apă, pompa improașcă apă. 
 +{{ :​pm:​prj2022:​abirlica:​poza_artistica.jpeg?​500 |}} 
 + 
 + 
 +===== Concluzii ===== 
 +A fost un proiect interesant, care m-a ajutat să aprofundez cunoștințele dobândite la laboratoarele ​de PM și mi-a trezit interesul pentru alte proiecte similare. Implementarea actuală a sistemului poate fi scalată pentru a realiza un robot care să se ghideze după incendii pentru a le stinge sau un sistem de stingere de incendii într-o clădire. 
 +===== Download ===== 
 +{{:​pm:​prj2022:​abirlica:​petrescurobertmihai_333ca.rar|}} 
 + 
 +===== Jurnal ===== 
 +  * 28 Aprilie 2022 - Alegerea Temei 
 +  * 5 Mai 2022 - Comandă piese 
 +  * 10 Mai 2022 - Asamblare Prima Versiune 
 +  * 14 Mai 2022 - Realizare Cod 
 +  * 14 Mai 2022 - Depistare senzor flacără defect 
 +  * 16 Mai 2022 - Inlocuire senzor flacără 
 +  * 20 Mai 2022 - Adaugare Led-uri 
 +  * 24 Mai 2022 - Adaugare diodă pentru pentru a evita trimiterea curentului de la pompă înapoi pe circuit 
 + 
 + 
 +===== Bibliografie/​Resurse ===== 
 +https://​create.arduino.cc/​projecthub/​SURYATEJA/​arduino-modules-flame-sensor-6322fb 
 +https://​robu.in/​water-level-indicator-interfacing-with-arduino-connection-and-code/​ 
 +https://​arduinogetstarted.com/​tutorials/​arduino-controls-pump 
 + 
 +<​note>​ 
 +Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**.
 </​note>​ </​note>​
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
pm/prj2022/abirlica/sistemincendiu.1652643576.txt.gz · Last modified: 2022/05/15 22:39 by robert.petrescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0