SEIF RFID

Nume: Popescu Ioan Emanuel Theodor
Grupa: 333CBb

Introducere

Proiectul urmareste implementarea unui seif care se deschide cu ajutorul unei cartele RFID

Utilizare

  • Seiful va putea fi accesat prin intermediul unei cartele cu RFID, prin aproprierea acesteia de usa seifului. Daca seiful este deschis in orice alt fel, se va declansa o alarma.

Scop

  • Scopul seifului este de a depozita, in siguranta, bunurile proprietarului, accesul fiind permis doar posesorilor cartelelor inregistrate.

Ideea

  • Inspiratia pentru acest proiect a venit din faptul ca voiam sa fac ceva util, dar si practic, care sa imi permita sa mesteresc putin, am incercat sa fac un sistem putin mai hardware heavy, cu mai multe componente.

Utilitate

  • Cred ca acest sistem ar fi util pentru majoritatea dintre noi, deoarece oricine are anumite obiecte de valoare pe care ar vrea sa le stocheze intr-un loc sigur, iar pentru mine este si o oportunitate foarte buna pentru a invata mai multe despre proiectarea cu microprocesoare.

Descriere generală

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. 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.

  • LED rosu → seiful este inchis;
  • LED verde → seiful este deschis;
  • LED albastru → seiful inregistreaza sau sterge o cartela.

Hardware Design

Lista de piese

Pentru implementarea proiectului, am ales urmatoarele piese:

  • Placuta Arduino Uno R3 (ATmega328P)
  • Modul RFID RC522
  • Incuietoare Electromagnetica 12V
  • Modul Senzor Ultrasonic
  • Modul Buzzer Pasiv
  • Releu SingleChannel 5V
  • LED-uri
  • Buton 4 pini
  • Adaptor DC 12V
  • Diverse (fire, breadboard/placuta de prototipare, rezistoare)

Schema Electrica

Software Design

Pentru partea de software am folosit ca mediu de dezvoltare Arduino IDE 1.8.19 Librariile folosite:

  • SPI.h pentru comunicarea prin SPI
  • MFRC522.h pentru comunicarea cu modulul RFID

Descrierea implementarii

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:

  • In prima parte se ia input de la senzorul ultrasonic, care calculeaza durata de timp in care o unda transmisa de la trigger ajunge la echo, urmand apoi sa transforme aceasta durata prin aproximare in distanta; acest lucru ne ajuta sa ne dam seama daca usa este inchisa sau nu;
  • In a doua parte, se verifica starea butonului, adica daca au trecut 3 secunde de cand acesta a fost apasat, iar daca usa este inchisa putem inchide si lacatul, face comutare pe led-uri;
  • A treia parte verifica daca usa a fost deschisa fara o cartela valida, caz in care porneste alarma;
  • A patra parte se ocupa de citirea unei cartele, daca este valida atunci usa se deschide si se retine utilizarea unei cartele valide, daca sistemul este in modul de inregistrare cartela noua, se face suprascrierea cartelei vechi cu cea curenta, altfel se reda un sunet care indica faptul ca nu s-a folosit o cartela valida.

Rezultate Obţinute

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.

POZE

Concluzii

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.

Download

Arhiva contine fisierul .ino in care se regaseste codul pentru proiect, dar si diagrama bloc si schema electrica.

Arhiva proiect: seif_rfid.zip

Jurnal

Ca si jurnal, atasez niste poze care reprezinta milestone-uri in implementarea proiectului, mai mult partea de hardware, intrucat partea software a fost modificata mereu in paralel.

More Poze

Lipirea primilor pin pe modului RFID (no do-overs!!)

Primul prototip functional

Work in progress construind cutia

Pimul montaj al tuturor componentelor

Bibliografie/Resurse

Resurse Hardware

Resurse Software

pm/prj2023/drtranca/seif_rfid.txt · Last modified: 2023/05/30 01:49 by ioan.popescu3108
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