Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:ciprian.popescu0411:smart-guard [2026/05/22 18:57]
rares_florian.oprea [Software Design]
pm:prj2026:ciprian.popescu0411:smart-guard [2026/05/22 20:29] (current)
rares_florian.oprea [Hardware Design]
Line 5: Line 5:
 ===== Descriere generală ===== ===== Descriere generală =====
  
 +    * Proiectul constă într-un prototip de alarmă hibridă, guvernat de o Mașină de Stări (FSM) non-blocantă. În modul armat, un senzor ultrasonic acționează ca o „barieră virtuală”. Când un obiect încalcă perimetrul (scăzând sub pragul critic de distanță),​ se declanșează un cronometru de pre-alarmă. Utilizatorul aflat la ușă are la dispoziție 15 secunde pentru a apropia o cartelă RFID autorizată și a opri alerta, altfel sistemul intră în starea de alarmă generală.
  
-    *Proiectul constă într-un prototip ​de alarmă ​inteligentă care monitorizează constant ​zonă prin intermediul ​unui senzor ultrasonic. Când sistemul este armat și senzorul detectează un obiect sau o mișcare sub un prag de distanță prestabilit ​(simulând o intruziune), se declanșează un cronometru de pre-alarmă. Utilizatorul are la dispoziție un timp limitat (ex: 15 secunde) pentru a apropia o cartelă RFID autorizată de cititor pentru a dezarma sistemul. Starea sistemului și timpul rămas sunt afișate pe un modul cu ecrane ​cu 7 segmente. Interfața ​dispune ​de LED-uri ​și avertizări sonore, iar butoanele pot fi folosite pentru setări adiționale ​(ex: introducerea unui cod PIN de rezervă în lipsa cartelei). +    * Spre deosebire ​de alarmă ​clasică, SMART GUARD rulează o bază de date dinamică în memorie. Prin intermediul ​butoanelor ​de pe interfața hardware principală (modulul LED & Key), administratorul poate adăuga cartele noi sau elimina cartele compromise direct pe loc, modulul afișând UID-urile hexazecimale pe afișajul cu 7 segmente. Interfața ​locală oferă un feedback multi-senzorial complex: texte de tranzitare (SECURE, dEnIEd, SAFE), progress-bar pe LED-uri ​pentru timpul rămas, ​avertizări sonore ​stratificate și indicatoare luminoase externe de acces (Verde/Roșu).
  
 +    * Paralel cu interfața fizică de la punctul de acces, sistemul comunică bidirecțional printr-un terminal UART cu o stație de monitorizare (PC). Această interfață este destinată personalului de securitate care urmărește camerele video. Terminalul generează rapoarte la fiecare scanare a unei cartele (inclusiv încercările respinse) și acceptă comenzi scrise. Astfel, un gardian poate arma/​dezarma sistemul de la distanță pentru un vizitator fără cartelă, sau poate tasta comanda „PANIC” pentru a declanșa instantaneu alarma dacă observă o activitate suspectă pe monitor, indiferent de starea senzorilor locali.
 ===== Schema Bloc =====  ===== Schema Bloc ===== 
  
Line 68: Line 69:
  
  
-{{:​pm:​prj2026:​ciprian.popescu0411:​milestone_hardware_smartguard.jpeg?​600|}}+{{:​pm:​prj2026:​ciprian.popescu0411:​img_5888.jpeg?​600|}}
 ===== Software Design ===== ===== Software Design =====
  
-      * Demo proiect: ​- +      * Demo proiect: ​https://​youtu.be/​0NK5whnqt9E 
-      * github: -+      * Githubhttps://​github.com/​RaresOprea04/​SMART-GUARD
  
 Proiectul a fost dezvoltat în mediul Arduino IDE / PlatformIO, folosind framework-ul Arduino pentru microcontroller-ul ATmega328P (placa Arduino Uno). Codul este scris în C++ și este structurat pe o arhitectură robustă de tip **Mașină de Stări (Finite State Machine)**. ​ Proiectul a fost dezvoltat în mediul Arduino IDE / PlatformIO, folosind framework-ul Arduino pentru microcontroller-ul ATmega328P (placa Arduino Uno). Codul este scris în C++ și este structurat pe o arhitectură robustă de tip **Mașină de Stări (Finite State Machine)**. ​
Line 102: Line 103:
 | MFRC522.h | Gestionează inițializarea cipului RC522, emisia undelor radio de 13.56MHz și citirea/​decriptarea ID-ului (UID) de pe tag-urile și cartelele de securitate scanate. | | MFRC522.h | Gestionează inițializarea cipului RC522, emisia undelor radio de 13.56MHz și citirea/​decriptarea ID-ului (UID) de pe tag-urile și cartelele de securitate scanate. |
 | TM1638.h | Gestionează multiplexarea prin 3 fire (STB, CLK, DIO) necesară pentru a controla simultan cele 8 afișaje cu 7 segmente, cele 8 LED-uri roșii și pentru a citi starea celor 8 butoane integrate. | | TM1638.h | Gestionează multiplexarea prin 3 fire (STB, CLK, DIO) necesară pentru a controla simultan cele 8 afișaje cu 7 segmente, cele 8 LED-uri roșii și pentru a citi starea celor 8 butoane integrate. |
-===== Rezultate Obţinute ===== 
- 
-<note tip> 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. 
-</​note>​ 
  
 ===== Concluzii ===== ===== Concluzii =====
 +Dezvoltarea sistemului **SMART GUARD** a reprezentat o oportunitate excelentă de a aprofunda concepte complexe de hardware și software embedded. Proiectul a evoluat spectaculos de la o simplă alarmă de proximitate la un sistem hibrid de control acces, capabil să gestioneze memorii dinamice și comenzi de la distanță.
  
-===== Download =====+Principala provocare a proiectului a fost gestionarea corectă a resurselor limitate ale microcontroller-ului ATmega328P. Implementarea terminalului UART bogat în mesaje de log a dus inițial la depășirea memoriei SRAM (Stack Crash) și la resetarea plăcii în buclă. Problema a fost rezolvată optimizând arhitectura software și folosind macro-ul ''​F()''​ pentru a forța compilatorul să citească string-urile direct din memoria Flash (ajungând la un consum stabil de sub 50% RAM).
  
-<note warning>​ +Din punct de vedere arhitectural,​ trecerea la o Mașină de Stări ​(Finite State Machine) complet non-blocantă, bazată pe Timere hardware (''​millis()''​) în detrimentul funcțiilor de tip ''​delay()'',​ a fost un succes. Aceasta i-a permis sistemului să ruleze în paralelsă filtreze zgomotul senzorului ultrasonicsă afișeze fluid interfața pe modulul TM1638să asculte magistrala SPI pentru carduri RFID șsă mențină portul UART deschis pentru consolă. 
-O arhivă (sau mai multe dacă este cazulcu fişierele obţinute ​în urma realizării proiectuluisurseschemeetc. Un fişier README, un ChangeLog, un script de compilare ş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**. +Rezultatul ​este un produs robust, interactiv și foarte apropiat ​de standardele comerciale de securitate
-</​note>​ +===== Download ​=====
- +
-===== Jurnal ​=====+
  
-<note tip> +Arhiva completă a proiectului **SMART GUARD**, pregătită pentru descărcareAceasta conține codul sursă (PlatformIO ​Arduino), diagramele hardware, fișierul README cu documentația și istoricul versiunilor (ChangeLog).
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. +
-</note>+
  
 +{{:​pm:​prj2026:​ciprian.popescu0411:​smart_guard_v2.zip|}}
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
 <​note>​ <​note>​
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**.+  ​* **Hardware & Datasheets:*
 +    * [[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheet ATmega328P]] 
 +    * [[https://​www.nxp.com/​docs/​en/​data-sheet/​MFRC522.pdf|Datasheet MFRC522 (Modul RFID)]] 
 +    * Specificații tehnice TM1638 (Modul LED & Key) șHC-SR04. 
 +  ​* **Software & Biblioteci:*
 +    * [[https://​github.com/​miguelbalboa/​rfid|Biblioteca MFRC522 (miguelbalboa)]] 
 +    * [[https://​github.com/​rjbatista/​tm1638-library|Biblioteca TM1638 (rjbatista)]] 
 +    * Documentația oficială Arduino Reference pentru manipularea registrelor și a funcțiilor de timing.
 </​note>​ </​note>​
  
  
pm/prj2026/ciprian.popescu0411/smart-guard.1779465439.txt.gz · Last modified: 2026/05/22 18:57 by rares_florian.oprea
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