This shows you the differences between two versions of the page.
|
pm:prj2026:atoader:theodor.mitrofan [2026/05/14 19:47] theodor.mitrofan [Hardware Design] |
pm:prj2026:atoader:theodor.mitrofan [2026/05/14 20:06] (current) theodor.mitrofan |
||
|---|---|---|---|
| Line 14: | Line 14: | ||
| ===== Descriere generala ===== | ===== Descriere generala ===== | ||
| - | Sistemul este centralizat in jurul microcontrolerului ATmega328P. La momentul scanarii unui card, microcontrolerul interogheaza senzorul RFID prin protocolul SPI. Daca UID-ul cardului este validat si exista locuri disponibile, sistemul trimite date prin I2C catre ecranul LCD pentru actualizarea interfetei si genereaza un semnal PWM pentru a ridica servomotorul (bariera). | + | 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. |
| - | Ulterior, controlul este preluat de senzorul ultrasonic. Folosind functiile de temporizare (Timere hardware), microcontrolerul masoara timpul de raspuns al ecoului pentru a determina cand masina a eliberat complet zona de tranzit. Odata confirmata trecerea, bariera coboara, iar contorul locurilor de parcare este decrementat. | + | Fluxul operațional este împărțit în patru module logice principale: |
| + | **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). | ||
| + | * **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ă. | ||
| + | |||
| + | **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). | ||
| + | * **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)** | ||
| + | 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. | ||
| + | |||
| + | **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. | ||
| + | * **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). | ||
| + | * **Conversie și Decizie:** Distanța este calculată matematic pe baza vitezei sunetului în aer. | ||
| + | * **Logica de Tranzit:** Sistemul monitorizează continuu distanța. Când distanța scade sub un anumit prag, sistemul detectează mașina sub barieră. Doar în momentul în care distanța revine la valoarea inițială (confirmând că mașina a eliberat complet zona de tranzit), microcontrolerul comandă închiderea barierei și decrementează contorul locurilor de parcare, actualizând simultan afișajul LCD. | ||
| {{pm:prj2026:atoader:mitrofan_theodor.png?670}} | {{pm:prj2026:atoader:mitrofan_theodor.png?670}} | ||