This is an old revision of the document!


Sistem incendiu

Introducere

Sistemul este destinat detectarii focului in incaperi si stingerea de urgenta a acestuia. In lumea reala el poate fi folosit pentru a preveni incendiile in spatiile inchise.

Descriere generală

Hardware Design

Listă componente:
  • Arduino UNO
  • Senzor Flacără LM393
  • Senzor Nivel Apă
  • 3 x Led
  • 4 x Rezistor 220 Ohm
  • Tranzistor NPN 2N3904
  • Diodă 1N4007
  • Pompă Apă 3-6V
  • Fire
  • Breadboard

Schema electrică

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.

Cod sursă

Cod sursă

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
}

Rezultate Obţinute

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

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

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2022/abirlica/sistemincendiu.1654116882.txt.gz · Last modified: 2022/06/01 23:54 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