Table of Contents

Locky Box

Nume : Iulia Olteanu
Grupă : 334CC

Introducere

Scopul acestui proiect este construirea unei cutii pentru a proteja diverse obiecte în siguranță de către proprietar. Acesta poate fi utilizat pentru a păstra documente importante precum acte de proprietate, contracte de afaceri, buletine de identitate, pașapoarte sau alte documente personale. De asemenea, un alt rol al seifului este de a păstra obiecte de valoare, cum ar fi bijuterii, bani, monede sau alte obiecte prețioase.

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.

Descriere generală

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.

Schemă Bloc

Schema bloc prezintă într-o formă centralizată modul de acționare al cutiei securizate.

Hardware Design

Listă piese:

  • Arduino UNO R3 ATMEGA328P
  • Ecran LCD 1602
  • Placă Breadboard
  • Modul RFID cu card si tag
  • Servomotor
  • LED-uri
  • Modul buzzer pasiv
  • Potențiometre
  • Diverse fire
  • Rezistențe

Schemă electrică

Design circuit

Software Design

  • Mediu de dezvoltare: Arduino IDE
  • Biblioteci utilizate:
    • SPI.h: oferă funcții pentru comunicarea și controlarea diverselor dispozitive
    • MFRC522.h: oferă funcții pentru comunicarea cu cititorul de carduri RFID bazat pe cipul MFRC522
    • Servo.h: utilizată pentru a putea lucra cu servomotorul necesar deblocării
    • Wire.h și LiquidCrystal_I2C.h: utilizate pentru folosirea LCD-ului în afișarea diverselor informații necesare
  • Schemă electrică: EAGLE CAD
  • Schemă bloc: Creately
  • Design circuit: TinkerCad

În cadrul codului, am folosit mai multe variabile, iar acestea au fost definite astfel:

LCD

  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:

Rezultate Obţinute

Versiune inițială, folosită pentru a testa modulul RFID, buzzerul, led-urile și potențiometrele

Adăugarea ecranului LCD și a servomotorului

Versiune finală

Rezultate finale
Codul introdus și cartela scanată sunt corecte

Codul introdus este corect, dar cartela scanată este greșită

Cod sau card greșit de trei ori consecutiv, este nevoie de un card corect pentru a debloca sistemul audio și vizual și a deschide seiful

Concluzii

Realizând acest proiect, am identificat multe lucruri practice care pot fi făcute cu ajutorul unui Arduino. Acest proiect a reprezentat o introducere interesantă în microprocesoare, utilă și care a necesitat efort. Locky Box poate reprezenta un punct de pornire pentru realizarea unei cutii securizate mai performante. Chiar dacă am întâmpinat bug-uri pe parcurs, sunt mulțumită de implementarea obținută și faptul că este un proiect practic și utilizabil. Am încercat să aduc o notă personală în modul de prezentare al circuitului final, prin caracterele custom create și afișate pe ecranul LCD. Pe viitor aș vrea să îmi extind implementarea, poate prin crearea unei aplicații care să permită interacțiunea într-un mod interactiv cu utilizatorii, astfel încât aceștia să își poată seta, de exemplu, propria cartela sau cod de acces la momentul achiziției seifului, să modifice cardul sau/și codul.

Download

Jurnal

  • 10.04.2023 - Alegerea temă proiect
  • 14.04.2023 - Crearea listei de piese necesare realizării proiectului
  • 20.04.2023 - Primirea componentelor și începerea planificării implementării proiectului
  • 04.05.2023 - Completare milestone 1
  • 14.05.2023 - Adăugare schemă electrică și design circuit
  • 16.05.2023 - Completare milestone 2
  • 27.05.2023 - Completare detalii software
  • 27.05.2023 - Finalizare pagina wiki

Bibliografie/Resurse

Resurse Hardware

Resurse Software

Export to PDF