This shows you the differences between two versions of the page.
pm:prj2023:avaduva:fire-alarm-system [2023/05/30 02:05] aconstantinescu1704 |
pm:prj2023:avaduva:fire-alarm-system [2023/05/30 12:11] (current) aconstantinescu1704 [Bibliografie/Resurse] |
||
---|---|---|---|
Line 14: | Line 14: | ||
Pentru a acoperi toate modalitățile posibile de control, am inclus un buton care, odată apăsat, va declanșa alarma, iar la următoarea apăsare, aceasta se va opri. De asemenea, prin două comenzi simple, se poate controla declanșarea alarmei ("i" - incendiu / "s" - stop). | Pentru a acoperi toate modalitățile posibile de control, am inclus un buton care, odată apăsat, va declanșa alarma, iar la următoarea apăsare, aceasta se va opri. De asemenea, prin două comenzi simple, se poate controla declanșarea alarmei ("i" - incendiu / "s" - stop). | ||
- | {{ :pm:prj2023:avaduva:untitled_diagram.drawio.png?nolink&300 |}} | + | {{ :pm:prj2023:avaduva:diagram_pm.png?direct&300 |}} |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 33: | Line 32: | ||
Am realizat schema electrica cu ajutorul platformei Tinkercad. | Am realizat schema electrica cu ajutorul platformei Tinkercad. | ||
- | {{ :pm:prj2023:avaduva:capture.png?direct&300 |}} | + | {{ :pm:prj2023:avaduva:pm_final_circuit_2.png?direct&300 |}} |
Am simulat circuitul si dupa obtinerea rezultatului dorit in contextul unor conditii de fum/temperatura, am generat si schema electrica prin Eagle. | Am simulat circuitul si dupa obtinerea rezultatului dorit in contextul unor conditii de fum/temperatura, am generat si schema electrica prin Eagle. | ||
- | {{ :pm:prj2023:avaduva:capture_schema_ele.png?direct&300 |}} | + | {{ :pm:prj2023:avaduva:eagle_final_3.png?direct&300 |}} |
Cu toate acestea, in potrivirea fizica a componentelor, din cauza utilizarii unor sensori putin diferiti de cei gasiti pe platforma Tinkercad, se disting cateva conexiuni. | Cu toate acestea, in potrivirea fizica a componentelor, din cauza utilizarii unor sensori putin diferiti de cei gasiti pe platforma Tinkercad, se disting cateva conexiuni. | ||
- | {{ :pm:prj2023:avaduva:project_pm_fire_alarm_1.jpeg?direct&300 |}} | + | {{ :pm:prj2023:avaduva:pm2_final.jpeg?direct&300 |}} |
- | + | ||
- | {{ :pm:prj2023:avaduva:project_pm_fire_alarm_2.jpeg?direct&300 |}} | + | |
+ | {{ :pm:prj2023:avaduva:pm5_final.jpeg?direct&300 |}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | Design-ul software s-a bazat pe introducerea lucrului cu registri si implicit folosirea a 3 laboratoare in conceperea implementarii: UART, intreruperi, ADC. | + | Design-ul software s-a bazat pe introducerea lucrului cu registri si implicit folosirea a 3 laboratoare in conceperea implementarii: |
+ | * UART - sistemul raspunde la comenzi de start si stop | ||
+ | * intreruperi - butonul apasat declanseaza tratarea unei rutini ce conducere la activarea alarmei | ||
+ | * ADC - citirea pinului A0 la care este conectat senzorul de fum | ||
- | Structura implementarii are la baza : | + | //**Structura implementarii are la baza**// : |
- | - functii de **initializare, transmisie, receptie si printare** a datelor manipulate prin registrii USART | + | * functii de **initializare, transmisie, receptie si printare** a datelor manipulate prin registrii USART |
- | - functia **SETUP** unde se initializeaza pinii de input si output, conexiunea USART, lcd-ul si sunt configurati registrii de stare si control pentru convertorul analog-digital si pentru intreruperi | + | * functia **SETUP** unde se initializeaza pinii de input si output, conexiunea USART, lcd-ul si sunt configurati registrii de stare si control pentru convertorul analog-digital si pentru intreruperi |
- | - functia **ISR** care trateaza intreruperea generata de apasarea butonului | + | * functia **ISR** care trateaza intreruperea generata de apasarea butonului |
- | - functia **LOOP** prin care se citesc valorile venite de la sezori si se verifica posibilul pericol prin compararea acestor valori inregistrate cu limitele unor conditii normale. Daca conditia de pericol este indeplinita, se porneste alarma, led-ul este aprins si un mesaj de alerta este afisat pe LCD. Altfel, LCD-ul prezinta temperatura curenta in grade Celsius. | + | * functia **LOOP** prin care se citesc valorile venite de la sezori si se verifica posibilul pericol prin compararea acestor valori inregistrate cu limitele unor conditii normale. Daca conditia de pericol este indeplinita, se porneste alarma, led-ul este aprins si un mesaj de alerta este afisat pe LCD. Altfel, LCD-ul prezinta temperatura curenta in grade Celsius. |
- | Prezentarea flow-ului: | + | //**Prezentarea flow-ului**//: |
- | Valorile senzorilor sunt citite. | + | * Valorile senzorilor sunt citite. |
- | Avem 4 conditii posibile prin care alarma si led-ul pot fi pornite: | + | * Avem 4 conditii posibile prin care alarma si led-ul pot fi pornite: |
- | - Crestere excensiva a temperaturii | + | - Crestere excensiva a temperaturii |
- | - Prezenta fumului/gazului | + | - Prezenta fumului/gazului |
- | - Apasarea butonului | + | - Apasarea butonului |
- | - Apelarea comenzii "i" | + | - Apelarea comenzii "i" |
- | Pentru fiecare din aceste situatii LCD-ul este configurat sa opreasca afisarea temperaturii si sa prezinte in schimb un semnal de alarma. | + | * Pentru fiecare din aceste situatii LCD-ul este configurat sa opreasca afisarea temperaturii si sa prezinte in schimb un semnal de alarma. |
- | Pentru a opri alarma, led-ul si a reveni la afisarea initiala a LCD-ului exista 2 posibilitati: | + | * Pentru a opri alarma, led-ul si a reveni la afisarea initiala a LCD-ului exista 2 posibilitati: |
- | - Apasarea din nou a butonului | + | * Apasarea din nou a butonului |
- | - Apelarea comenzii "s" prin intermediul monitorului serial | + | * Apelarea comenzii "s" prin intermediul monitorului serial |
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
<note tip> | <note tip> | ||
- | Rezultatele obtinute arata buna functionare a proietului. A fost testat atat in conditii de caldura cat si in conditii de fum de multiple ori. Acest aspect poate fi observat in filmarea de mai jos :)). | + | Rezultatele obtinute arata buna functionare a proietului. A fost testat atat in conditii de caldura cat si in conditii de fum de multiple ori. Acest aspect poate fi observat in filmarea de mai jos :)). |
+ | https://drive.google.com/file/d/1hzycF5ikMSW2YvdWLlzLploHapMRy4V8/view?usp=drivesdk | ||
+ | | ||
</note> | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | În concluzie, proiectul unei alarme de incendiu bazate pe senzori de temperatură, fum și gaz a reușit să îndeplinească obiectivele propuse. Sistemul este capabil să detecteze și să semnaleze în mod eficient potențialele pericole de incendiu, oferind un nivel înalt de siguranță. | ||
+ | Provocarile intampinate au fost la nivelul design-ului software prin incorporarea lucrului cu registrii si a celor 3 laboratoare specificate in cerinta. Parcursul proiectului m-a incurajat sa aprofundez notiunile teoretice spre construirea unui produs final functional. | ||
===== Download ===== | ===== Download ===== | ||
+ | <note> | ||
+ | Arhiva contine: | ||
+ | * codul | ||
+ | * poze cu procesul | ||
+ | * video demonstrativ | ||
+ | {{:pm:prj2023:avaduva:pm_project_fire_system.zip|}} | ||
- | <note warning> | ||
- | 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> | </note> | ||
Line 88: | Line 95: | ||
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | https://create.arduino.cc/projecthub/Aritro/smoke-detection-using-mq-2-gas-sensor-79c54a |
+ | |||
+ | https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf | ||
+ | |||
+ | https://components101.com/sensors/dht11-temperature-sensor | ||
+ | |||
+ | https://ocw.cs.pub.ro/courses/pm/lab/lab1-2022 | ||
+ | |||
+ | https://ocw.cs.pub.ro/courses/pm/lab/lab2-2022 | ||
+ | |||
+ | https://ocw.cs.pub.ro/courses/pm/lab/lab4-2022 | ||
</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> | ||