This shows you the differences between two versions of the page.
|
pm:prj2024:avaduva:matei.costescu2301 [2024/05/26 03:24] matei.costescu2301 [Software Design] |
pm:prj2024:avaduva:matei.costescu2301 [2024/05/26 22:57] (current) matei.costescu2301 [Download] |
||
|---|---|---|---|
| Line 72: | Line 72: | ||
| - | **Poze cu circuitul final** | + | **Poze cu circuitul** |
| {{:pm:prj2024:avaduva:security_alarm_1.jpeg?400|}} | {{:pm:prj2024:avaduva:security_alarm_1.jpeg?400|}} | ||
| Line 92: | Line 92: | ||
| {{:pm:prj2024:avaduva:security_alarm_5.jpeg?400|}} | {{:pm:prj2024:avaduva:security_alarm_5.jpeg?400|}} | ||
| - | ===== Software Design ===== | + | Proiect în varianta finală: |
| + | {{:pm:prj2024:avaduva:whatsapp_image_2024-05-26_at_05.20.54_2_.jpeg?400|}} | ||
| + | |||
| + | {{:pm:prj2024:avaduva:whatsapp_image_2024-05-26_at_05.20.54_1_.jpeg?400|}} | ||
| + | |||
| + | |||
| + | **Demo produs final** | ||
| + | [[https://youtu.be/gYy21E4mtyc | Proiect PM]] | ||
| + | |||
| + | ===== Software Design ===== | ||
| - | <note tip> | ||
| - | Descrierea codului aplicaţiei (firmware): | ||
| - | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | ||
| - | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | ||
| - | * algoritmi şi structuri pe care plănuiţi să le implementaţi | ||
| - | * (etapa 3) surse şi funcţii implementate | ||
| - | </note> | ||
| **Mediu de dezvoltare** | **Mediu de dezvoltare** | ||
| Line 223: | Line 225: | ||
| Aceste funcționalități și structura codului permit monitorizarea și afișarea stării de siguranță sau pericol în funcție de senzorii PIR, activând buzzerul și afișând mesajele corespunzătoare pe LCD. | Aceste funcționalități și structura codului permit monitorizarea și afișarea stării de siguranță sau pericol în funcție de senzorii PIR, activând buzzerul și afișând mesajele corespunzătoare pe LCD. | ||
| + | |||
| + | |||
| + | **Reprezentare logică prin diagrama UML** | ||
| + | |||
| + | {{:pm:prj2024:avaduva:diagrama_uml.drawio.png?600|}} | ||
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| <note tip> | <note tip> | ||
| - | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | **În urma realizării acestui proiect, am obținut următoarele rezultate:** |
| - | </note> | + | |
| - | ===== Concluzii ===== | + | * Monitorizarea eficientă a mișcării: |
| - | ===== Download ===== | + | Sistemul a reușit să detecteze cu succes mișcările folosind senzorii PIR plasați în două locații diferite. Atunci când a fost detectată mișcare în oricare dintre cele două camere, sistemul a afișat mesajul corespunzător pe ecranul LCD și a activat buzzerul pentru a emite un semnal sonor de avertizare. |
| - | <note warning> | + | * Afișaj LCD intuitiv și informativ: |
| - | 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**. | + | Ecranul LCD a fost utilizat eficient pentru a afișa starea de siguranță ("You are safe!") și pentru a emite mesaje de avertizare clare în cazul detectării mișcării, specificând camera de unde provine alerta. Mesajele au fost ușor de citit și au oferit informații în timp real. |
| - | </note> | + | |
| - | ===== Jurnal ===== | + | * Interfață de comunicare prin Bluetooth: |
| - | <note tip> | + | Comunicarea bidirecțională prin modulul Bluetooth HM10 a funcționat corespunzător. Sistemul a putut primi comenzi de la o aplicație de pe telefon pentru a activa sau dezactiva alarma. De asemenea, sistemul a trimis date relevante către aplicație, asigurând o monitorizare și control de la distanță eficiente. |
| - | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
| + | * Măsurarea distanței cu senzorul ultrasonic: | ||
| + | |||
| + | Senzorul ultrasonic a măsurat constant distanța până la un obiect aflat în fața sa, afișând această informație pe consola serială. Aceasta poate fi utilizată pentru monitorizarea deschiderii ușii sau a oamenilor care . | ||
| + | |||
| + | * Răspuns prompt la situații de pericol: | ||
| + | |||
| + | Sistemul a fost capabil să reacționeze rapid la detectarea mișcării prin activarea imediată a buzzerului și a LED-ului, oferind o alertă vizuală și auditivă. Această promptitudine este esențială pentru sistemele de securitate și monitorizare. | ||
| + | |||
| + | * Stabilitatea și Fiabilitatea Sistemului: | ||
| + | |||
| + | Pe durata testelor, sistemul a demonstrat stabilitate și fiabilitate în funcționare. Toate componentele hardware și software au funcționat armonios, fără întârzieri semnificative sau erori. | ||
| </note> | </note> | ||
| + | |||
| + | |||
| + | **Optimizări** | ||
| + | |||
| + | În urma realizării proiectului, am implementat câteva optimizări pentru a îmbunătăți performanța și eficiența sistemului. | ||
| + | |||
| + | * Gestionarea Eficientă a Senzorilor PIR | ||
| + | Am redus frecvența citirilor de la senzorii PIR prin utilizarea lor doar atunci când alarma este activată, deoarece citirea constantă a senzorilor PIR poate genera alarme false și poate consuma resurse inutile. În funcția loop(), citirea senzorilor PIR este realizată doar în timpul activării alarmei, reducând astfel încărcarea procesorului. | ||
| + | |||
| + | * Optimizarea Afișajului LCD | ||
| + | |||
| + | Am optimizat utilizarea funcțiilor LCD pentru a reduce numărul de comenzi trimise la afișaj. În loc să folosim lcd.clear() de fiecare dată, am utilizat funcții specifice pentru actualizarea doar a secțiunilor necesare ale afișajului. | ||
| + | Afișajele LCD I2C pot fi lente și consumatoare de resurse dacă sunt utilizate ineficient. | ||
| + | Am utilizat funcțiile LCD doar în blocurile refresh(), pericol(), pericol_cam2(), și pericol_both(), astfel am minimizat utilizarea funcției lcd.clear() pentru a evita timpii de răspuns mari. | ||
| + | ===== Concluzii ===== | ||
| + | Proiectul a atins obiectivele propuse, oferind un sistem de monitorizare și alertare eficient, ușor de utilizat și de înțeles. Implementarea senzorilor PIR, a senzorului de proximitate, a modulului Bluetooth și a afișajului LCD a permis realizarea unui sistem integrat care poate fi utilizat pentru a asigura securitatea într-o varietate de scenarii. Fiabilitatea și reacția promptă a sistemului demonstrează potențialul acestuia pentru aplicații practice în domeniul securității și monitorizării. | ||
| + | ===== Download ===== | ||
| + | |||
| + | {{:pm:prj2024:avaduva:sketch_may15a.zip|}} | ||
| + | |||
| + | |||
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||