This shows you the differences between two versions of the page.
pm:prj2023:vstoica:fire_alarm [2023/05/28 23:55] tudor.selea [Software Design] |
pm:prj2023:vstoica:fire_alarm [2023/05/29 19:06] (current) tudor.selea [Software Design] |
||
---|---|---|---|
Line 40: | Line 40: | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Implementarea software a proiectului poate fi reprezentata prin urmatoarea diagrama de stari: | ||
+ | |||
+ | {{:pm:prj2023:vstoica:diagrama_de_stari_-_pm.drawio.png?700|}} | ||
<note tip> | <note tip> | ||
Line 246: | Line 249: | ||
</code> | </code> | ||
+ | Daca nu exista conectivitate cu prima placuta Arduino, nu pot fi citite date pe portul serial. | ||
+ | |||
+ | Daca exista conectivate, se va citi semnalul de alarma trimis de catre prima placuta Arduino in "alarm_trigger". Daca acesta este 1, alarma a fost declansata, astfel ca poate fi introdus codul pentru dezactivarea acesteia. Fiecare tasta apasata de utilizator va fi retinuta in variabila "customKey" si va fi adaugata in array-ul "password", care reprezinta parola introdusa de utilizator. Daca dimensiunea parolei introduse de utilizator este egala cu dimensiunea parolei corecte, se vor compara cele 2 parole. In caz de egalitate (utilizatorul a introdus parola corecta), prima placuta Arduino va fi instiintata de catre a doua placuta Arduino (placuta curenta), ca poate sa dezactiveze alarma, iar keypad-ul va fi dezactivat pana la urmatoarea declansarea a alarmei. In caz contrar, se va reincerca introducerea parolei corecte. | ||
<code c> | <code c> | ||
void loop(){ | void loop(){ | ||
Line 324: | Line 330: | ||
} | } | ||
</code> | </code> | ||
+ | |||
+ | <note> | ||
+ | Dupa introducerea unei parole de catre utilizator, aceasta va fi stearsa! | ||
+ | </note> | ||
+ | |||
+ | |||
+ | ===== Rezultate obtinute ===== | ||
+ | {{:pm:prj2023:vstoica:poza_pm1.jpg?700|}}\\ | ||
+ | {{:pm:prj2023:vstoica:poza_pm4_1.jpg?700|}}\\ | ||
+ | {{:pm:prj2023:vstoica:poza_pm3.jpg?700|}}\\ | ||
+ | {{:pm:prj2023:vstoica:poza_pm2.jpg?700|}}\\ | ||
+ | |||
+ | ===== Concluzii ===== | ||
+ | |||
+ | Mi-a placut sa lucrez la acest proiect intrucat am putut sa pun in practica notiunile invatate la laboratoare pentru a realiza un lucru cu aplicatie in viata. Mi-a placut, in special, sa lucrez cu componentele proiectului si sa observ cum se leaga si cum comunica intre ele. | ||
+ | |||
+ | ===== Download ===== | ||
+ | {{:pm:prj2023:vstoica:selea_tudor_octavian_-_332ca_-_proiect_pm.zip|}} | ||
+ | |||
+ | ===== Resurse ===== | ||
+ | * https://ocw.cs.pub.ro/courses/pm/lab/lab4-2022 | ||
+ | * https://ocw.cs.pub.ro/courses/pm/lab/lab1-2022 | ||
+ | * https://ocw.cs.pub.ro/courses/pm/lab/lab6-2022 | ||
+ | * https://www.youtube.com/watch?v=sPhcOm3FdOQ&t=254s&ab_channel=DomingoMartinez | ||
+ | * https://linuxhint.com/serial-uart-communication-between-two-arduino/ | ||
+ | * Proiect AD - Selea Tudor-Octavian (vezi sectiunea Downloads) | ||
+ |