This is an old revision of the document!


Two Factor Authentication Lock

Autor

Introducere

Two Factor Authentication Method este din ce în ce mai populară pentru diverse aplicații, o folosim pentru contul de Google, pentru contul bancar, de ce să nu o folosim să ne protejăm și locuința?
Ideea proiectului este să ofere o alternativă pentru ușile cu cheia clasică, care se poate fura. Având un tag RFID și o parolă care se poate schimba frecvent, oferă mai multă siguranță decât ușile încuiate cu cheie.

Descriere generală

Când un utilizator încearcă să deschidă lacătul, se va afișa un mesaj pe LCD pentru a notifica utilizatorul să aproprie tag-ul RFID, dacă tag-ul e înregistrat, se va cere mai departe parola, dacă e corectă, lacătul se deschide.
Pentru a descuia lacătul, se scanează tag-ul RFID, după ce utilizatorul e anunțat pe ercan că poate introduce parola, folosește numpad-ul și după introducerea a 4 cifre și apăsarea enter, se verifică parola.
Atunci când accesul este permis și parola este corectă se aprinde un beculeț verde, atunci când parola este greșită sau accesul e nepermis(din cauza că tag-ul nu este unul înregistrat) se aprinde un beculeț roșu și buzzer-ul va acționa să semnaleze accesul nepermis.
Dacă tag-ul este unul neînregistrat, utilizatorul are posibilitatea de a-l înregistra în sistem dacă cunoaște parola. După scanarea unui tag nepermis, pe ecran apare întrebarea: “Register new tag?”, pentru da se apasă tasta 1, pentru nu, oricare altă tastă. Dacă ulterior parola se introduce corect, tag-ul se înregistrează cu succes și va putea fi folosit.
Atunci când se introduce parola, dacă utilizatorul greșește vreun caracter, are posibilitatea de a-l șterge apăsând tasta '*'. Atunci când a terminat de introdus parola, pentru a putea fi validată, se apasă tasta '#', echivalentul lui Enter.

Schema bloc

Hardware Design

Lista de componente

  • Arduino UNO
  • Ecran LCD 16×2 cu I2C integrat
  • Breadboard
  • Keypad 4×4
  • Fire tata-tata, tata-mama
  • Cititor RFID
  • Tag-uri RFID
  • Rezistente
  • SG90 Servo motor
  • Led-uri de diferite culori
  • Buzzer



Schemă electrică:


Software Design

Mediul de dezvoltare folosit a fost Arduino IDE .

Biblioteci folosite în implementare:

  • <Keypad.h> (pentru Keypad)
  • <MFRC522.h> (pentru cititorul RFID)
  • <LiquidCrystal_I2C.h> (pentru LCD-ul cu I2C integrat)
  • <Servo.h> (pentru Servo)

Detalii de implementare:

Principalele variabile utilizate:

  • lcd - afișarea mesajelor pe LCD
  • kp - citirea input-ului care vine de la tastatură
  • rfid - citirea input-ului de la cititorul RFID
  • servo - pentru modificarea stării servo-ului
  • tag_uids - lista de UIDs ale tag-urilor înregistrate în sistem
  • correct_pass - parola corectă formată din 4 cifre care se reține în program, deci se poate modifica din software
  • password - aici se reține parola introdusă de utilizator la keypad la momentul respectiv de timp
  • state - starea în care se află programul, mai multe detalii mai jos

Rezultate obținute

Concluzii

Deși la început am privit această materie cu foarte mult scepticism, întrucât nu am fost niciodată o fană a materiilor înclinate către partea de hardware, pot spune că proiectul acesta mi s-a părut foarte foarte interesant și sunt mândră de ce am reușit să fac.
Consider că a fost o adevărată provocare acest proiect și pe departe cea mai interesantă temă din acest semestru :D Mă bucur că am avut ocazia să facem ceva practic, deși semestrul a fost online. Cel mai mult mi-a plăcut să asamblez partea hardware, a fost ca un lego care avea șansa să se ardă în orice moment, iar printre cele mai mari provocări a fost lipirea pinilor cititorului RFID.
Concluzia pe care o trag este că proiectul chiar e practic și ar putea fi folosit ca încuietoare electrică dacă aș prinde servo-ul de un cârlig care ar debloca o ușă la mișcarea de 90 de grade a servo-ului.

Bibliografie/Resurse

pm/prj2021/amocanu/door_lock_rfid_password.1622669371.txt.gz · Last modified: 2021/06/03 00:29 by ana_maria.milcu
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