This is an old revision of the document!


Sistem inteligent de control acces cu RFID și cod pin

Introducere

Proiectul este un sistem inteligent de control al accesului care combină două metode de autentificare: card RFID și cod PIN. Utilizatorul apropie un card RFID valid, apoi introduce un PIN pe un keypad 4×4. Dacă ambele sunt corecte, accesul este permis (se aprinde un LED verde, mesaj pe LCD și se deschide un seif cu un servo). În caz contrar, accesul este refuzat (LED roșu + buzzer + mesaj). După 3 încercări greșite, sistemul se blochează temporar, iar numărul de încercări este salvat în EEPROM.

Scopul proiectului este realizarea unui sistem de securitate eficient și ușor de implementat, ideal pentru accesul controlat la spații sau obiecte (ex: dulapuri, seifuri, uși). Am pornit de la ideea combinării RFID-ului cu verificarea PIN-ului pentru a crește nivelul de protecție. Considerăm că este un proiect util atât pentru uz personal, cât și pentru a învăța integrarea componentelor hardware într-un sistem embedded complet.

Descriere generală

Schema bloc a sistemului

Descriere

Sistemul de control al accesului este format din mai multe module hardware și componente software care lucrează împreună pentru a permite sau refuza accesul unui utilizator.

Procesul începe cu utilizatorul, care apropie un card RFID de modulul RFID. Acesta transmite codul unic (UID) către microcontroller, care verifică dacă este un utilizator autorizat. Dacă UID-ul este valid, microcontrollerul activează keypad-ul pentru introducerea PIN-ului.

După introducerea PIN-ului, microcontrollerul:

  • verifică dacă acesta este corect
  • consultă și actualizează EEPROM-ul pentru a ține evidența încercărilor greșite
  • afișează mesaje de stare pe LCD
  • dacă autentificarea este reușită, activează servo-ul pentru a deschide accesul, aprinde LED-ul verde
  • în caz de eroare, aprinde LED-ul roșu și activează buzzer-ul

Întregul sistem asigură o securitate crescută prin autentificare dublă (RFID + PIN) și gestionarea inteligentă a erorilor și accesului neautorizat.

Hardware Design

Listă de componente utilizate

  • Microcontroller (Arduino Uno)
  • Modul RFID RC522
  • Keypad 4×4
  • LCD 16×2 (cu adaptor I2C)
  • LED-uri (verde și roșu)
  • Buzzer activ
  • Servo motor (pentru deschiderea seifului)
  • Rezistențe, fire, breadboard
  • EEPROM (internă pe Arduino – folosită pentru salvarea încercărilor greșite)

Software Design

  • Mediu de dezvoltare:

Codul a fost dezvoltat în Arduino IDE, folosind platforma Arduino UNO. Arduino IDE oferă suport pentru scrierea, compilarea și upload-ul de cod în limbaj C++ pe microcontroler.

  • Librării şi surse 3rd-party utilizate:
    1. `SPI.h`: comunicare SPI între Arduino și modulul RFID MFRC522.
    2. `MFRC522.h`: interfațare cu cititorul RFID (13.56 MHz).
    3. `LiquidCrystal_I2C.h`: controlul afișajului LCD 16×2 prin interfață I2C.
    4. `Servo.h`: controlul precis al unui servomotor pentru deschiderea ușii.
    5. `Keypad.h`: citirea tastelor de la keypad-ul 4×4.
    6. `EEPROM.h`: stocare permanentă a numărului de încercări greșite.
  • Algoritmi și structuri implementate:
    1. Verificare autenticitate card RFID prin compararea UID-ului citit cu unul predefinit (`uid_corect[]`).
    2. Introducere și verificare cod PIN de 4 cifre prin tastatură matricială.
    3. Sistem antifraudă: dacă se introduc 3 coduri greșite consecutiv, sistemul se blochează 60 secunde și afișează numărătoarea inversă.
    4. Acces permis doar dacă sunt validate atât cardul cât și codul PIN.
    5. Control servomotor: deschidere rapidă (rotire la 120°) și revenire la poziția de închidere (0°).
    6. Oprirea completă a LCD-ului și pauză de 1 minut după o autentificare corectă, simulând comportamentul unui seif electronic.
  • Surse și funcții implementate (etapa 3):
    1. `setup()`: inițializează toate modulele (SPI, MFRC522, LCD, EEPROM, pinuri, servo).
    2. `loop()`: bucla principală; gestionează blocarea temporară și detectarea cardului.
    3. `cereCod()`: solicită codul PIN de la utilizator, validează și controlează servo și ecranul.
    4. `eroareFeedback()`: feedback vizual și sonor în caz de acces greșit.
    5. `succesFeedback()`: feedback de confirmare pentru acces valid.

Rezultate Obţinute

În urma realizării proiectului, am obținut un sistem de acces electronic funcțional bazat pe autentificare în doi pași: card RFID și cod PIN.

Sistemul verifică un UID de card predefinit și apoi solicită un cod PIN de 4 cifre. Accesul este permis doar dacă ambele sunt corecte. În caz contrar, utilizatorul primește feedback vizual și auditiv, iar după 3 încercări greșite consecutive, sistemul se blochează timp de 60 de secunde.

Am realizat două videoclipuri demonstrative pentru a evidenția funcționalitatea:

Video 1 – Testare sistem blocare după 3 coduri greșite:

- Se scanează cardul RFID valid. - Se introduc 3 coduri greșite consecutiv. - Sistemul afișează mesajul “Sistem blocat” cu numărătoare inversă timp de 60 secunde. - Nicio altă acțiune nu este permisă în acest interval.

Video 2 – Autentificare corectă după deblocare:

- După trecerea timpului de blocare, se scanează din nou cardul. - Se introduce codul PIN corect. - Servomotorul deschide ușa (rotație rapidă), apoi revine în poziție închisă. - LCD-ul se stinge timp de 1 minut, simulând pauza sistemului. - După aceea, ecranul revine cu mesajul “Scanati cardul…”.

Aceste demonstrații video confirmă că toate funcționalitățile implementate în cod sunt conforme cerințelor: securitate, feedback, acțiune hardware și control prin EEPROM.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2025/avaduva/adriana.tomescu.1748182111.txt.gz · Last modified: 2025/05/25 17:08 by adriana.tomescu
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