This is an old revision of the document!
Cum am mentionat si mai sus, deschiderea seifului se va face cu o cartela RFID. In cazul in care usa seifului este deschisa in orice alt fel(se face o intrare neautorizata in seif), atunci se va declansa o alarma care se poate opri doar prin validarea unei cartele inregistrate sau oprirea alimentarii. Exista, totusi, si un fail-safe: un buton care deschide seiful, dar nu opreste declansarea alarmei. Starea seifului este reprezentata cu ajutorul a 3 LED-uri. Monitorizarea starii usii se face cu ajutorul unui senzor cu ultrasunete montat pe cadrul usii care verifica daca usa este deschisa sau inchisa.
Pentru implementarea proiectului, am ales urmatoarele piese:
Partea de cod este destul de simpla si bine explicata prin comentarii. Pe scurt, exista o functie de setup() care are rolul de a face operatiile necesare pornirii sistemului, adica setarea pe input/output a pinilor, atasarea intreruperii la buton si alte initializari. Functia care va fi atasata intreruperii este buttonInterrupt(), care nu permite apasari succesive foarte rapide ale butonului, si care retine momentul de timp la care a fost apasat. Functiile alarmSetOff() si accessDenied() au control asupra buzzer-ului pasiv, redand diferite note prin intermediul functiei tone(), care este un wrapper foarte util in jurul conceptului de PWM. Functia resetRFID() face o resetare usoara a modulului RFID pentru a permite citiri rapide succesive ale cartelelor. Lastly, functia loop() este locul unde este concentrata cea mai mare portiune din logica, si poate fi privita ca fiind compusa din mai multe parti:
Desi exista mult loc pentru mai bine(better cable management), sunt multumit de cum a iesit in final proiectul. A fost nevoie de mult debugging si niste trial and error, dar consider ca, in final, sistemul indeplineste conditiile impuse in stagiul de conceptie.
Odata cu finalizarea proiectului, am realizat ca am dobandit un set foarte util de cunostinte in programarea pe microprocesoare, atat pe partea software, cat si pe partea hardware. Am fost nevoit sa exersez mult lipitul de fire, a trebuit sa ma asigur ca fac conexiunile in mod corect si sigur si am invatat sa folosesc un datasheet pentru a intelege mai bine cum functioneaza o componenta sau un modul. Per total, a fost o experienta placuta din care am avut mult de invatat, si sunt convins ca experienta dobandita imi va fi folositoare in viitor.
TBA
TBA
TBA