Table of Contents

Secure Locker

Nume: Bratu Iulian-Georgian
Grupa: 331CA

Introducere

Proiectul este un sistem de alarmă pentru o noptieră, care pornește un buzzer dacă sertarul este deschis fără ca un card SD să fie introdus. Cardul SD joacă rolul unei chei de acces, conținând un mesaj secret care simulează o cheie fizică. Dacă sertarul e deschis fără această „cheie”, se declanșează imediat alarma și sună până când cardul este introdus.

Ideea a pornit din dorința de a proteja obiecte personale folosind o soluție simplă, dar inteligentă, care combină partea fizică cu un mecanism digital de verificare. Sistemul e practic pentru oricine vrea să adauge un strat de securitate într-un spațiu mic, fără a folosi sisteme complexe sau scumpe.

Descriere generală

Se vor folosii urmatoarele componente:
* Placa de dezvoltare UNO R3 compatibil Arduino
* Shield pentru inregistrare de date cu slot pentru SD Card
* Senzor masurare distanta VL53L0X
* Buzzer 12V

Hardware Design

Descriere

Shieldul de înregistrare a datelor se montează direct pe placa Arduino Uno R3, conectându-se automat la pinii necesari. Slotul pentru card SD folosește interfața SPI și ocupă pinii D10 (CS – Chip Select), D11 (MOSI – Master Out Slave In), D12 (MISO – Master In Slave Out) și D13 (SCK – Serial Clock).

Senzorul VL53L0X utilizează interfața I2C, astfel că se conectează la aceiași pini A4 (SDA) și A5 (SCL) ca și RTC-ul de pe shield. Alimentarea senzorului se face prin conectarea pinului VIN la 5V de pe Arduino, iar GND-ul la masă. Rolul acestuia este de a măsura distanța dintre baza noptierei și tavanul acesteia.

Buzzerul se conectează la pinul digital liber D8 și la GND. Acesta are rolul de a genera o alarmă în cazul în care noptiera este deschisă neautorizat.

Bill Of Materials

Componente suplimentare pot fi adăugate ulterior.

Schema Circuit

Imagini Componente

iulian_arduino.jpg

Software Design

Motivația alegerii bibliotecilor

VL53L0X.h: Bibliotecă necesară pentru utilizarea senzorului Time-of-Flight VL53L0X. Permite măsurători precise ale distanței, într-un mod simplu și fiabil.

Wire.h: Folosită pentru comunicarea I2C cu senzorul VL53L0X.

SD.h & SPI.h: Biblioteci esențiale pentru comunicarea cu cardul SD, prin protocol SPI. Permite citirea și scrierea fișierelor binare într-un mod eficient.

Elementul de noutate al proiectului

Elementul de noutate constă în utilizarea unei forme simple de criptare One-Time Pad (OTP) pentru autentificarea fișierului de pe cardul SD. Sistemul nu doar citește date de pe un senzor, ci implementează și o verificare criptografică a integrității fișierului, ceea ce îl face mai robust împotriva accesului neautorizat sau manipulării.

Justificarea utilizării funcționalităților din laborator

Laborator 0: GPIO – Tranzistorul este controlat de un pin digital, folosit pentru activarea unei alarme.

Laborator 5: SPI – Este utilizat pentru comunicarea cu cardul SD.

Laborator 6: I2C – Protocolul I2C este folosit pentru a comunica cu senzorul de distanță VL53L0X.

Interacțiunea dintre funcționalități

Inițializare:

Funcționare în buclă:

Validare:

Calibrarea senzorului

Senzorul VL53L0X nu necesită o calibrare hardware manuală în acest caz, dar a fost configurat un prag de 60mm ca valoare de declanșare a alarmei, pe baza testelor practice cu distanțe tipice pentru aplicație. Timeout-ul senzorului a fost setat la 500ms pentru a evita blocările.

Optimizări realizate

Optimizare criptografică:

Control eficient al alarmei:

Demo video

https://youtu.be/I7ad5xwnqYE

Download

GITHUB

Bibliografie/Resurse

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

Export to PDF