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.
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
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.
Componenta | Pret(lei) | Link |
---|---|---|
Placa Arduino UNO | 29.88 | https://ardushop.ro/en/development-boards/2282-development-board-uno-r3-arduino-compatible-6427854027122.html |
Buzzer 12V | 18.99 | https://vectro.ro/produs/mini-sirena-pentru-alarma-12v-105db-lzq-1m/?gad_campaignid=17091351278 |
SD Card Shield | 18.99 | https://www.bitmi.ro/electronica/shield-pentru-inregistrare-de-date-cu-slot-sd-10561.html |
Senzor masurare distanta | 29.99 | https://www.bitmi.ro/electronica/senzor-masurare-distanta-vl53l0x-10802.html |
Alimentator | 16.99 | https://www.optimusdigital.ro/ro/electronica-de-putere-alimentatoare-priza/2884-alimentator-stabilizat-5v-1000ma.html?search_query=Alimentator+Stabilizat+5+V+1000+m&results=12 |
Componente suplimentare pot fi adăugate ulterior.
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 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.
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.
Inițializare:
Funcționare în buclă:
Validare:
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.
Optimizare criptografică:
Control eficient al alarmei: