This shows you the differences between two versions of the page.
pm:prj2021:abirlica:sistem_antiincendiu [2021/06/03 18:02] amalia.palaghiu [Rezultate Obţinute] |
pm:prj2021:abirlica:sistem_antiincendiu [2021/06/03 21:12] (current) amalia.palaghiu [Software Design] |
||
---|---|---|---|
Line 40: | Line 40: | ||
* Arduino IDE | * Arduino IDE | ||
- | Codul sursa se afla in fisierul source.ino. In primul rand am definit constantele: pompa, senzorul de gaz si senzorul de temperatura. | + | Codul sursa se afla in fisierul project.ino. In primul rand am definit constantele: pompa, senzorul de gaz si senzorul de umiditate. |
Functiile implementate: | Functiile implementate: | ||
* functia **setup**: aici declar pinii ca fiind de tip input sau output: pentru senzorul de umiditate si senzorul de gaz input, iar pentru pompa output. De asemenea, tot aici initializez si seriala. | * functia **setup**: aici declar pinii ca fiind de tip input sau output: pentru senzorul de umiditate si senzorul de gaz input, iar pentru pompa output. De asemenea, tot aici initializez si seriala. | ||
* functia print: in aceasta functie afisez intr-un mod elegant pe seriala valorile citite de cei doi senzori. | * functia print: in aceasta functie afisez intr-un mod elegant pe seriala valorile citite de cei doi senzori. | ||
- | * functia **loop**: citesc valorile de pe cei doi pini conectati la cei doi senzori cu ajutorul functiei analogRead(). Compar valoarea umiditatii citita de catre senzor cu o valoare de threashold definita in prealabil de mine. Acea valoare de threashold reprezinta un prag, daca valoarea citita de pe senzor depaseste acest prag este echivalent cu faptul ca incendiul a fost stins. In acest caz, afisez pe ecran valorile citite de senzori prin intermediul functiei print() descrisa anterior sibmesajul "PUMP OFF". Daca nu se intra pe acest caz, verific daca valoarea citita de senzorul de gaz este mai mare decat obvaloare de threashold pentru gaz definita in prealabil. Si aceasta valoare este un prag, daca valoarea citita de senzorul de gaz depaseste acest prag inseamna ca a pornit un incendiu. Si in acest caz, afisez valorile citite de catre senzori pe seriala, dar de data aceasta alaturi de mesajul "PUMP ON". Daca nu suntem in niciunul din cele doua cazuri, inseamna ca nu s-a intamplat nimic si doar afisez valorile citite de pe senzori. Aceste citiri si verificari se intampla o data la doua secunde. | + | * functia **loop**: citesc valorile de pe cei doi pini conectati la cei doi senzori cu ajutorul functiei analogRead(). Compar valoarea umiditatii citita de catre senzor cu o valoare de threshold definita in prealabil de mine. Acea valoare de threshold reprezinta un prag, daca valoarea citita de pe senzor depaseste acest prag este echivalent cu faptul ca incendiul a fost stins. In acest caz, afisez pe ecran valorile citite de senzori prin intermediul functiei print() descrisa anterior si mesajul "PUMP OFF". Daca nu se intra pe acest caz, verific daca valoarea citita de senzorul de gaz este mai mare decat o valoare de threshold pentru gaz definita in prealabil. Si aceasta valoare este un prag, daca valoarea citita de senzorul de gaz depaseste acest prag inseamna ca a pornit un incendiu. Si in acest caz, afisez valorile citite de catre senzori pe seriala, dar de data aceasta alaturi de mesajul "PUMP ON". Daca nu suntem in niciunul din cele doua cazuri, inseamna ca nu s-a intamplat nimic si doar afisez valorile citite de pe senzori. Aceste citiri si verificari se intampla o data la doua secunde. |
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
Line 61: | Line 61: | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | Pentru versionarea codului am folosit GitHub, iar la urmatorul link se afla codul sursa project.ino: [[https://github.com/amaliapalaghiu/Proiect-PM|Link github]] |
- | 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**. | + | |
- | </note> | + | |
Line 72: | Line 67: | ||
[[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheet ATmega328P]] | [[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheet ATmega328P]] | ||
+ | |||
+ | [[https://www.mouser.com/datasheet/2/321/605-00008-MQ-2-Datasheet-370464.pdf|Datasheet senzor gaz MQ-2]] | ||
+ | |||
+ | [[https://www.hackster.io/Aritro/smoke-detection-using-mq-2-gas-sensor-79c54a|Inspiratie lucru senzor gaz MQ-2]] | ||
+ | |||
+ | [[https://randomnerdtutorials.com/guide-for-relay-module-with-arduino/|Detalii folosire releu]] | ||
+ | |||
<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> | ||