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 19:41]
theodor.mitrofan [Introducere]
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 SPIDaca UID-ul cardului ​este validat si exista locuri disponibilesistemul 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 ​ATmega328PSistemul ​este construit în jurul unei bucle principale non-blockingcare 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}}
  
Line 23: Line 41:
  
 ^ Piesa ^ Link ^ Tip Utilizare ^ ^ Piesa ^ Link ^ Tip Utilizare ^
-|ATmega328P-Xplained Mini|[[https://​ro.farnell.com/microchip/​atmega328p-xmini/​eval-board-8bit-mcu-atmega328p/​dp/​2452771|Placa de dezvoltare ​ATmega328P-Xplained Mini]]|Baza dezvoltare| +| ATmega328P-Xplained Mini | [[https://www.microchip.com/en-us/​development-tool/​atmega328p-xmini|ATmega328P-Xplained Mini]] | Baza dezvoltare | 
-|Modul RFID RC522|[[https://​www.optimusdigital.ro/ro/​rfid-nfc/​144-modul-rfid-rc522-la-1356-mhz.html|Modul RFID RC522 (13.56 MHz)]]|SPI| +| Modul RFID RC522 | [[https://​www.bitmi.ro/​modul-rfid-rc522-13-59mhz-cu-card-si-tag-10468.html?​gad_source=1&​gad_campaignid=22991722025&​gbraid=0AAAAADLag-nnaAD2-KamZ6qMPeX9EODW5&​gclid=CjwKCAjw5ZXQBhBdEiwAI5XVWWYh4P4q0otfQLW_UaE-AMkAOe1yxy4PVNM3kBF_5TlyA5kxobgOlhoC0qEQAvD_BwE|Modul RFID RC522]] | SPI | 
-|Display LCD 1602 cu convertor I2C|[[https://​www.optimusdigital.ro/ro/optoelectronice-lcd/550-display-lcd-1602-cu-interfata-i2c.html|Display ​LCD 1602 retroiluminat cu modul I2C PCF8574]]|I2C| +| Display LCD 1602 cu convertor I2C | [[https://​www.bitmi.ro/electronica/modul-interfata-i2c-pentru-lcd1602-10456.html|Modul interfață I2C pentru ​LCD]] | I2C | 
-|Servomotor SG90|[[https://​www.optimusdigital.ro/ro/motoare-servomotoare/​110-micro-servomotor-sg90.html|Servomotor SG90]]|PWM (Timer1)| +| Servomotor SG90 | [[https://​www.bitmi.ro/servomotor-sg90-180-grade-9g-10496.html?​gad_source=1&​gad_campaignid=22991722025&​gbraid=0AAAAADLag-nnaAD2-KamZ6qMPeX9EODW5&​gclid=CjwKCAjw5ZXQBhBdEiwAI5XVWQXZa27TW67QwGFsDZUVFMhMdv7029RM0G-rRfPgTVxxRnwx-d1RfRoCtfkQAvD_BwE|Servomotor SG90]] | PWM (Timer1) | 
-|Senzor Ultrasonic HC-SR04|[[https://​www.optimusdigital.ro/ro/senzori-ultrasonici-de-distanta/22-senzor-ultrasonic-hc-sr04.html|Senzor Ultrasonic HC-SR04]]|GPIO,​ Input Capture| +| Senzor Ultrasonic HC-SR04 | [[https://sigmanortec.ro/Senzor-ultrasunete-HC-SR04-p125423514?​SubmitCurrency=1&​id_currency=2&​srsltid=AfmBOorCJkTIpRGAV4zxJQd6-_3oJh7cRBnG1qOWIAHL12xkTYJTcHGaZik|Senzor Ultrasonic HC-SR04]] | GPIO, Input Capture | 
-|Breadboard si fire DuPont|[[https://​www.optimusdigital.ro/ro/20-prototipare|Breadboard si fire de conexiune ​DuPont ​(Tata-Tata, Mama-Tata)]]|Conexiuni hardware|+| Breadboard si fire DuPont | [[https://​www.bitmi.ro/breadboard-400-puncte-pentru-montaje-electronice-rapide-10633.html?​gad_source=1&​gad_campaignid=22991722025&​gbraid=0AAAAADLag-nnaAD2-KamZ6qMPeX9EODW5&​gclid=CjwKCAjw5ZXQBhBdEiwAI5XVWeDqc7DeK0XeCdZCfTkPi31TB3drat6GdZFtWn-J7no54kN9QCawohoCJsMQAvD_BwE|Breadboard si fire DuPont]] | Conexiuni hardware |
  
 {{pm:​prj2026:​atoader:​circuit_electric_mitrofan_theodor.jpeg?​670}} {{pm:​prj2026:​atoader:​circuit_electric_mitrofan_theodor.jpeg?​670}}
pm/prj2026/atoader/theodor.mitrofan.1778776897.txt.gz · Last modified: 2026/05/14 19:41 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