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 [Hardware Design]
pm:prj2026:atoader:theodor.mitrofan [2026/05/14 20:06] (current)
theodor.mitrofan
Line 8: Line 8:
 Totul a plecat de la necesitatea optimizarii fluxului de masini intr-un spatiu inchis. Am pornit de la ideea unui sistem autonom care nu doar permite accesul oricum, ci urmareste fizic trecerea masinii pentru a evita erorile de contorizare. ​ Totul a plecat de la necesitatea optimizarii fluxului de masini intr-un spatiu inchis. Am pornit de la ideea unui sistem autonom care nu doar permite accesul oricum, ci urmareste fizic trecerea masinii pentru a evita erorile de contorizare. ​
  
-Pentru mine, utilitatea este didactica si practica: invat sa stapanesc interactiunea dintre senzori asincroni (RFID, Ultrasonic) si actuatoare (Servomotor) folosind o arhitectura de tip Finite State Machine (FSM), eliminand total functiile blocante de tip delay(). Pentru un utilizator real, sistemul ofera un feedback clar (pe ecranul LCD) si un acces fluid. Laboratoarele folosite au fost 3-timere, 5-spi si 6-i2c+Pentru mine, utilitatea este didactica si practica: invat sa stapanesc interactiunea dintre senzori asincroni (RFID, Ultrasonic) si actuatoare (Servomotor) folosind o arhitectura de tip Finite State Machine (FSM), eliminand total functiile blocante de tip delay(). Pentru un utilizator real, sistemul ofera un feedback clar (pe ecranul LCD) si un acces fluid. 
 + 
 +Laboratoarele folosite au fost 3-timere, 5-spi si 6-i2c
  
 ===== 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 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 
 + 
 +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țiAcest 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ă''​).
  
-Ulteriorcontrolul 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.+**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 21: 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.1778776877.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