Sistem de detectare a fumului si a temperaturilor ridicate

Introducere

Proiectul implementeaza un sistem de detectare a fumului si a temperaturilor ridicate, declansand o alarma sonora si lumininoasa ce poate fi oprita prin introducerea unei parole printr-o tastatura.

Descriere generală

Nivelul de fum si temperatura sunt afisate la fiecare moment de timp pe un lcd. Daca acestea depasesc limitele impuse se va declasa o alarma prin intermediul unui buzzer si al unui leg rgb. Alarma poate fi oprita prin introducerea parolei corecte la tastatura. In cazul introducerii unei parole gresita acest lucru va fi semnalat printr-un mesaj afisat pe lcd.

Hardware Design

Lista de piese

  • Arduino Uno
  • Breadboard
  • Modul senzor detector aer MQ-135
  • Senzor de temperatura
  • Modul de Expansiune IO I2C PCF8574
  • LCD 1602
  • Led RGB
  • Modul Buzzer Activ
  • Tastatura 4×4
  • Potentiometru 10kΩ
  • Rezistente 220Ω
  • Fire tata-tata
  • Fire tata-mama

Schema electrica

Schema Fritzing

Tastatura si modul I2C

Tastatura este conectata la un modul de expansiune I2C IO PFC8574 pentru a micsora numarul de pini folositi. Astfel, va fi nevoie doar de 2 pini ai placutei, modul PCF8574 fiind conectat la GND, 5V si la doi pini analogici (SDA, SCL).

LCD 1602 si potentiometru

LCD-ul este conectat la pinii digitali ai placutei (6 pini), pinul VO fiind conectat la un potentiometru de 10K ohmi pentru contrastul afisarii.

Modul senzor de temperatura DS18B20

Senzorul este conectat digital la placuta. Temperatura in grade Celsius este citita cu ajutorul bibliotecilor OneWire si DallasTemperature.

Senzor calitate aer MQ-135

Senzorul este conectat la 5V, GND si la un pin analog al placutei Arduino Uno de pe care se citeste valoarea calitaii aerului (intre 10 si 10000 ppm).

Led RGB

Ledul este conectat digital cu ajutorul a trei rezistente de 330 ohmi.

Buzzer

Pentru a produce un sunet de alarma, modul buzzer activ este conectat digital la placuta, dar si la GND.

Software Design

Schema logica

Medii de dezvoltare

  • Tinkercad
  • Arduino IDE

Biblioteci utilizate

  • Key.h
  • Keypad.h
  • Keypad_I2C.h
  • LiquidCrystal.h
  • OneWire.h
  • DallasTemperature.h

Functii implementate

bool areLevelsOk(int gas, float temp)

Verifica daca temperatura si nivelul de gaz depasesc sau nu limitele impuse

void enterPassword()

Prin intermediul acestei functii este introdusa si verificata parola de la tastatura. Daca parola introdusa este gresita se va repeta introducerea ei. Daca se introduce corect parola, alarma sonora se va opri, iar ledul de va stinge.

void setPassword()

Functie care prin intermediul apasarii tastei '*' seteaza o noua parola introdusa la tastatura.

void RGB_color(int red_light_value, int green_light_value, int blue_light_value)

Functie cu ajutorul careia se realizeaza jocul de lumina al ledului.

void setup()

Se conecteaza tastatura si lcd-ul. Se initializeaza ledul si buzzerul ca iesiri, si senzorii ca intrari. Totodata, se seteaza si o parola initiala.

void loop()

Se citesc valorile senzorilor si se verifica cu ajutorul functiei areLevelOk. In cazul in care limitele sunt depasite si nu a fost inca introdusa parola corecta alarma este declansata afisandu-se pe lcd un mesaj sugestiv si se asteapta introducerea parolei. In cazul in care valorile sunt normale acestea sunt afisate pe lcd. Daca in timpul in care nu este declansata alarma se apasa tasta '*' atunci se va intra in modul de schimbare al parolei.

Parola contine 6 caractere.

Rezultate Obţinute

Pentru a putea vedea functionalitatea proiectului in conditii normale am setat un nivel mic de temperatura (31 grade Celsius) ce trebuie depasit pentru a se declansa alarma.

Video

Concluzii

Proiectul permite setarea unei parole și declanșarea unei alarme în cazul în care se depaseste o anumita temperatura sau un anumit nivel de fum. Aceasta alarma poate fi dezactivata prin introducerea parolei corecte.

Jurnal

  • 01.05.2022: Creare Wiki
  • 01.05.2022: Adaugare introducere, schema bloc, lista componente
  • 03.05.2022: Achizitionare componente
  • 04.05.2022: Scriere cod in Tinkercad
  • 09.05.2022: Conectare componente
  • 09.05.2022: Realizare schema electrica
  • 10.05.2022 - 11.05.2022: Scriere cod in Arduino IDE
  • 24.05.2022: Actualizare schema Fritzing
  • 26.05.2022: Adaugare rezultate obtinute, concluzie si cod

Download

Bibliografie/Resurse

pm/prj2022/ndrogeanu/sistem_detectare.txt · Last modified: 2022/05/29 15:56 by adriana.rosu
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