This is an old revision of the document!
Nume : iulia.olteanu@stud.acs.upb.ro
Grupă : 334CC
Se dorește realizarea unui seif cu încuietoare, iar pentru a fi deschis este nevoie să fie scanat un card RFID și să fie introdus un cod de acces corect prin intermediul unor potențiometre. Ideea realizării acestui proiect a venit ca urmare a unei nevoi personale de a-mi păstra în siguranță obiecte valoroase în momentul în care sunt plecată în vacanță. Din acest motiv îl consider util, atât pentru mine, cât și pentru alte persoane care își doresc să depoziteze diverse lucruri în certitudine.
Proiectul propus are ca scop dezvoltarea unui seif securizat, bazat pe autentificarea în două factori, pentru a oferi un nivel ridicat de securitate și protecție pentru obiectele de valoare ale utilizatorilor.
Principala caracteristică a acestui seif constă în implementarea unui sistem de autentificare în două factori, care implică utilizarea a două metode distincte de verificare a identității utilizatorului înainte de a permite accesul la seif. Această abordare adaugă un nivel suplimentar de securitate în comparație cu metodele tradiționale de autentificare cu o singură parolă sau PIN.
Primul factor de autentificare este reprezentat de codul introdus prin intermediul celor două potențiometre. Astfel, dacă se citesc cele două valori cu ajutorul potențiometrelor, iar suma acestora se află în intervalul [50, 150], atunci codul de acces format prin concatenarea celor două numere este corect. Dacă codul format are suma mai mică sau egală decât 15, se afișează codul, iar seiful este în idle. În caz contrar, codul format este incorect.
Al doilea factor de autentificare este ceva ce utilizatorul cunoaște, în cazul de față o cartelă RFID corectă. Utilizatorul va trebui să apropie acest card pentru a debloca modalitatea de închidere a seifului și a accesa obiectele existente în interiorul acestuia.
În cazul în care codul introdus și cardul scanat este corespunzător, servomotorul va deschide cutia securizată, iar buzzer-ul si ledul de culoare verde vor fi activate pentru a semnaliza acustic si vizual starea curentă a seifului.
De asemenea, ecranul LCD va afișa mesaje informative, adresate proprietarului precum:
Servomotorul este folosit pentru blocarea sau deblocarea accesului, iar buzzer-ul va semnala corespunzător acest aspect. În cazul unei autentificări incorecte, ledul roșu este activat, iar dacă se greșește de trei ori consecutiv codul acest fapt va fi semnalat prin buzzer și led care va pâlpâi încontinuu până în momentul în care utilizatorul va scana cartela RFID.
LiquidCrystal_I2C lcd(0x27, 16, 2);
Servomotor
Servo myServo;
RFID
MFRC522 mfrc522(SS_PIN, RST_PIN);
Codul introdus prin intermediul potențiometrelor
String cod;
Număr de încercări greșite
volatile int nr;
Caractere speciale, folosite pentru afișarea pe ecran
const byte Speaker[8] = { 0b00001, 0b00011, 0b01111, 0b01111, 0b01111, 0b00011, 0b00001, 0b00000 };
const byte Heart[8] = { 0b00000, 0b01010, 0b11111, 0b11111, 0b01110, 0b00100, 0b00000, 0b00000 };
const byte Check[8] = { 0b00000, 0b00001, 0b00011, 0b10110, 0b11100, 0b01000, 0b00000, 0b00000 };
const byte Lock[8] = { 0b01110, 0b10001, 0b10001, 0b11111, 0b11011, 0b11011, 0b11111, 0b00000 };
Stare seif
volatile bool stare;
Valori citite cu potențiometrele
int val1, val2;
Macro-uri utilizate:
Prima etapă din realizarea proiectului a fost legată de aflarea UID a cardului RFID utilizat pentru a debloca cutia, iar accesul proprietarului la obiectele din interior să fie permis. Acest pas a fost realizat, urmărind un demo din biblioteca MFRC522.h
Codul a fost modularizat astfel:
Versiune inițială, folosită pentru a testa modulul RFID, buzzerul, led-urile și potențiometrele
Adăugarea ecranului LCD și a servomotorului
Versiune finală
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.
Resurse Hardware
Resurse Software