This is an old revision of the document!


Smart Management Barrier Parking

Introducere

Proiectul consta intr-un sistem inteligent de management al accesului intr-o parcare, capabil sa valideze identitatea utilizatorilor, sa controleze o bariera fizica si sa tina evidenta locurilor disponibile in timp real. Sistemul interactioneaza atat cu lumea digitala (baze de date de carduri, afisaje), cat si cu cea fizica (actionarea mecanica a barierei si detectarea vehiculelor).

Scopul principal este realizarea unui sistem integrat care sa demonstreze lucrul simultan cu multiple protocoale de comunicatie (SPI, I2C) si periferice hardware interne (Timere, generare PWM).

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

Descriere generala

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ț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.

Hardware Design

Piesa Link Tip Utilizare
ATmega328P-Xplained Mini ATmega328P-Xplained Mini Baza dezvoltare
Modul RFID RC522 Modul RFID RC522 SPI
Display LCD 1602 cu convertor I2C Modul interfață I2C pentru LCD I2C
Servomotor SG90 Servomotor SG90 PWM (Timer1)
Senzor Ultrasonic HC-SR04 Senzor Ultrasonic HC-SR04 GPIO, Input Capture
Breadboard si fire DuPont Breadboard si fire DuPont Conexiuni hardware

circuit_electric_mitrofan_theodor.jpeg

Componentă Pin componentă Pin ATmega328P Xplained Mini Explicație
HC-SR04 VCC 5V Modulul ultrasonic este alimentat la 5V de la placă.
HC-SR04 GND GND Toate componentele trebuie să aibă masă comună.
HC-SR04 Trig (Trigger) PD2 Pin digital configurat ca ieșire pentru generarea impulsului de declanșare (10µs).
HC-SR04 Echo PD3 Pin digital configurat ca intrare pentru citirea ecoului (durata sa reprezintă distanța).
Servomotor SG90 VCC (Roșu) 5V Alimentarea motorului (se recomandă condensator tampon pe breadboard dacă există fluctuații).
Servomotor SG90 GND (Maro/Negru) GND Masa comună.
Servomotor SG90 Semnal (Portocaliu) PB1 / OC1A Pin cu capabilitate hardware PWM (Timer 1) pentru controlul unghiului brațului barierei.
LCD 1602 I2C VCC 5V Display-ul și modulul convertor sunt alimentate la 5V de la placă.
LCD 1602 I2C GND GND Masa comună.
LCD 1602 I2C SDA PC4 / SDA Pinul hardware standard pentru linia de date a magistralei I2C.
LCD 1602 I2C SCL PC5 / SCL Pinul hardware standard pentru linia de ceas (clock) a magistralei I2C.
RFID RC522 VCC 3.3V Atenție: Modulul funcționează STRICT la 3.3V. Alimentarea la 5V îl poate deteriora ireversibil.
RFID RC522 GND GND Masa comună.
RFID RC522 RST PD4 Pin digital configurat ca ieșire pentru a controla resetarea hard a modulului.
RFID RC522 MISO PB4 / MISO Pinul standard hardware SPI pentru recepția datelor (Master In Slave Out).
RFID RC522 MOSI PB3 / MOSI Pinul standard hardware SPI pentru transmisia datelor (Master Out Slave In).
RFID RC522 SCK PB5 / SCK Pinul standard hardware SPI pentru generarea semnalului de ceas (Serial Clock).
RFID RC522 SS (SDA) PB2 / SS Pin configurat ca ieșire pentru a selecta modulul pe magistrala SPI (Slave Select).
RFID RC522 IRQ Neconectat Pin opțional pentru întreruperi, lăsat liber deoarece sistemul interoghează modulul direct din cod (polling).

Software Design

Dezvoltarea software este bazata pe o masina de stari finita (FSM) care dicteaza comportamentul sistemului, eliminand complet functiile blocante.

Stari implementate:

  • Starea IDLE: Sistemul asteapta scanarea unui card RFID. LCD-ul afiseaza numarul actualizat “Locuri libere: X”.
  • Starea VALIDARE: Se verifica UID-ul cardului scanat. Daca cardul este recunoscut si exista locuri disponibile (contor > 0), se trece la deblocare; daca nu, se afiseaza “Acces Respins” sau “Parcare Plina”.
  • Starea DESCHIDERE: Servomotorul se roteste la 90 de grade prin intermediul unui semnal PWM pentru a ridica bariera.
  • Starea TRANZIT: Sistemul citeste constant datele de la senzorul HC-SR04. Atata timp cat distanta masurata este mica, masina se afla sub bariera. Sistemul asteapta ca distanta sa revina la normal (confirmarea trecerii).
  • Starea INCHIDERE: Dupa eliberarea zonei, bariera coboara (PWM la 0 grade), contorul de locuri libere este decrementat, iar sistemul revine in starea IDLE.

Rezultate Obtinute

Concluzii

Download

Jurnal

Bibliografie/Resurse

Resurse Hardware:

  • Datasheet ATmega328P: Documentatia oficiala Microchip pentru registrii TWI, SPI si Timere.
  • Datasheet MFRC522: Documentatia NXP pentru harta registrilor modulului RFID.
  • Datasheet HD44780: Setul de instructiuni pentru ecranul LCD.

Resurse Software:

  • Laboratoarele PM UPB: sectiunile legate de SPI, PWM, ADC si I2C.
  • Coduri de referinta GitHub pentru adaptarea MFRC522 in C.

Export to PDF

pm/prj2026/atoader/theodor.mitrofan.1778829408.txt.gz · Last modified: 2026/05/15 10:16 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