This shows you the differences between two versions of the page.
|
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). | ||