Differences

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

Link to this comparison view

pm:prj2026:atoader:theodor.mitrofan [2026/05/14 20:05]
theodor.mitrofan [Descriere generala]
pm:prj2026:atoader:theodor.mitrofan [2026/05/14 20:06] (current)
theodor.mitrofan
Line 13: Line 13:
  
 ===== Descriere generala ===== ===== Descriere generala =====
- 
-===== Arhitectura Software și Logica de Control ===== 
  
 Arhitectura software a sistemului este concepută sub forma unui automat cu stări finite (Finite State Machine), implementat în limbaj C la nivel de regiștri pe microcontrolerul ATmega328P. Sistemul este construit în jurul unei bucle principale non-blocking,​ care orchestrează comunicația cu perifericele,​ asigurând un management fluid al accesului auto și al resurselor parcării. ​ Arhitectura software a sistemului este concepută sub forma unui automat cu stări finite (Finite State Machine), implementat în limbaj C la nivel de regiștri pe microcontrolerul ATmega328P. Sistemul este construit în jurul unei bucle principale non-blocking,​ care orchestrează comunicația cu perifericele,​ asigurând un management fluid al accesului auto și al resurselor parcării. ​
Line 20: Line 18:
 Fluxul operațional este împărțit în patru module logice principale: Fluxul operațional este împărțit în patru module logice principale:
  
-==== 1. Autentificare și Gestiunea Accesului (Comunicație SPI) ====+**1. Autentificare și Gestiunea Accesului (Comunicație SPI)**
 Sistemul interoghează continuu senzorul RFID RC522 prin intermediul protocolului de comunicație de mare viteză SPI (Serial Peripheral Interface). ​ Sistemul interoghează continuu senzorul RFID RC522 prin intermediul protocolului de comunicație de mare viteză SPI (Serial Peripheral Interface). ​
   * **Validarea Identității:​** La detectarea unui tag RFID (card sau breloc), microcontrolerul extrage identificatorul unic (UID) pe 4 octeți. Acest UID este comparat cu o structură de date internă ce conține utilizatorii autorizați.   * **Validarea Identității:​** La detectarea unui tag RFID (card sau breloc), microcontrolerul extrage identificatorul unic (UID) pe 4 octeți. Acest UID este comparat cu o structură de date internă ce conține utilizatorii autorizați.
   * **Logica de Capacitate:​** Chiar dacă un card este recunoscut ca fiind valid, accesul este condiționat de variabila globală a locurilor de parcare. Sistemul verifică preventiv dacă există locuri disponibile,​ refuzând accesul (și afișând un mesaj corespunzător pe ecran) în cazul în care parcarea este la capacitate maximă.   * **Logica de Capacitate:​** Chiar dacă un card este recunoscut ca fiind valid, accesul este condiționat de variabila globală a locurilor de parcare. Sistemul verifică preventiv dacă există locuri disponibile,​ refuzând accesul (și afișând un mesaj corespunzător pe ecran) în cazul în care parcarea este la capacitate maximă.
  
-==== 2. Interfață și Feedback Vizual (Comunicație I2C) ====+**2. Interfață și Feedback Vizual (Comunicație I2C)**
 Feedback-ul către utilizator este asigurat de un ecran LCD 1602, controlat eficient prin protocolul I2C pentru a minimiza numărul de pini utilizați (se folosesc doar SDA și SCL). Feedback-ul către utilizator este asigurat de un ecran LCD 1602, controlat eficient prin protocolul I2C pentru a minimiza numărul de pini utilizați (se folosesc doar SDA și SCL).
   * **Actualizare Dinamică:​** Microcontrolerul actualizează interfața grafică în timp real, gestionând tranzițiile de stare: de la mesajul implicit de așteptare (,,Locuri Libere: X''​),​ la mesaje de validare (,,Acces Permis''​),​ sau mesaje de eroare (,,Card Invalid''​ / ,,Parcare Ocupată''​).   * **Actualizare Dinamică:​** Microcontrolerul actualizează interfața grafică în timp real, gestionând tranzițiile de stare: de la mesajul implicit de așteptare (,,Locuri Libere: X''​),​ la mesaje de validare (,,Acces Permis''​),​ sau mesaje de eroare (,,Card Invalid''​ / ,,Parcare Ocupată''​).
  
-==== 3. Controlul Mecanic al Barierei (Timer Hardware și PWM) ====+**3. Controlul Mecanic al Barierei (Timer Hardware și PWM)**
 Pentru acționarea fizică a barierei (Servomotorul SG90), sistemul evită funcțiile de blocare a codului (precum funcțiile de delay), bazându-se pe resursele hardware interne ale microcontrolerului. Pentru acționarea fizică a barierei (Servomotorul SG90), sistemul evită funcțiile de blocare a codului (precum funcțiile de delay), bazându-se pe resursele hardware interne ale microcontrolerului.
   * **Generare Semnal Precis:** Este utilizat Timer-ul 1 pe 16-biți în modul Fast PWM. Prin setarea regiștrilor (ex: ICR1 și OCR1A), microcontrolerul generează un semnal PWM cu o frecvență fixă de 50Hz, modificând doar factorul de umplere (Duty Cycle) pentru a ridica bariera (poziția de 90 grade) la momentul validării accesului.   * **Generare Semnal Precis:** Este utilizat Timer-ul 1 pe 16-biți în modul Fast PWM. Prin setarea regiștrilor (ex: ICR1 și OCR1A), microcontrolerul generează un semnal PWM cu o frecvență fixă de 50Hz, modificând doar factorul de umplere (Duty Cycle) pentru a ridica bariera (poziția de 90 grade) la momentul validării accesului.
  
-==== 4. Telemetrie și Siguranța Tranzitului (Senzor Ultrasonic) ​====+**4. Telemetrie și Siguranța Tranzitului (Senzor Ultrasonic)**
 Odată bariera ridicată, controlul logic este delegat modulului de siguranță gestionat de senzorul ultrasonic HC-SR04, pentru a preveni coborârea accidentală a brațului peste autovehicul. Odată bariera ridicată, controlul logic este delegat modulului de siguranță gestionat de senzorul ultrasonic HC-SR04, pentru a preveni coborârea accidentală a brațului peste autovehicul.
   * **Măsurarea Timpului de Zbor (ToF):** Microcontrolerul trimite un impuls scurt (Trigger) de 10 microsecunde și utilizează funcții de temporizare pentru a măsura durata impulsului de întoarcere (Echo).   * **Măsurarea Timpului de Zbor (ToF):** Microcontrolerul trimite un impuls scurt (Trigger) de 10 microsecunde și utilizează funcții de temporizare pentru a măsura durata impulsului de întoarcere (Echo).
pm/prj2026/atoader/theodor.mitrofan.1778778317.txt.gz · Last modified: 2026/05/14 20:05 by theodor.mitrofan
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