Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2024:rvirtan:all-in-one-lock [2024/04/29 14:26]
andrei.ciorgan [Introducere]
pm:prj2024:rvirtan:all-in-one-lock [2024/05/22 19:15] (current)
andrei.ciorgan [Software Design]
Line 10: Line 10:
  
 Proiectul are la baza creearea unui sistem de inchidere ce poate fi atasat unei usi si un sistem de detectare de incendiu care sa deschida usa in cazul unui astfel de eveniment. Prin acest dispozitiv, doresc sa creez un model simplu si usor de utilizat care poate fi incorporat usor de catre un utilizator pentru a spori securitatea unei incaperi. Proiectul are la baza creearea unui sistem de inchidere ce poate fi atasat unei usi si un sistem de detectare de incendiu care sa deschida usa in cazul unui astfel de eveniment. Prin acest dispozitiv, doresc sa creez un model simplu si usor de utilizat care poate fi incorporat usor de catre un utilizator pentru a spori securitatea unei incaperi.
 +
 Cand a trebuit sa aleg un proiect am decis sa ma focusez pe ceva ce ar putea fi folosit si dupa facultate si ceva care sa ma forteze sa lucrez cu cat mai multe tipuri de senzori ca sa imi permita sa inteleg mai bine creearea si proiectarea unor astfel de dispozitive. Cand a trebuit sa aleg un proiect am decis sa ma focusez pe ceva ce ar putea fi folosit si dupa facultate si ceva care sa ma forteze sa lucrez cu cat mai multe tipuri de senzori ca sa imi permita sa inteleg mai bine creearea si proiectarea unor astfel de dispozitive.
 Utilitatea proiectului final este relativ evidenta prin faptul ca poate oferi o metoda usoara de securizare al unei incapari, lasandu-i la dispozitie utilizatorului o gama variata de metode de deschidere. Utilitatea proiectului final este relativ evidenta prin faptul ca poate oferi o metoda usoara de securizare al unei incapari, lasandu-i la dispozitie utilizatorului o gama variata de metode de deschidere.
 +
 Pe langa toate astea, sistemul are la baza si o masura in caz de urgenta: daca se detecteza o crestere prea mare de temperatura sau o cantitate prea mare de fum, sistemul va porni o alarma si va deschide implicit usa pentru a putea elibera premisa cat mai rapid. Pe langa toate astea, sistemul are la baza si o masura in caz de urgenta: daca se detecteza o crestere prea mare de temperatura sau o cantitate prea mare de fum, sistemul va porni o alarma si va deschide implicit usa pentru a putea elibera premisa cat mai rapid.
  
Line 17: Line 19:
 Un utilizator poate interactiona efectiv cu trei componente: senzor de amprente, de RFID sau prin cod numeric pentru a deschide usa. Restul componentelor (senzorii si buzzerul) sunt folositi in detectarea posibilelor incendii. Un utilizator poate interactiona efectiv cu trei componente: senzor de amprente, de RFID sau prin cod numeric pentru a deschide usa. Restul componentelor (senzorii si buzzerul) sunt folositi in detectarea posibilelor incendii.
  
 +{{:​pm:​prj2024:​rvirtan:​all-in-one-lock:​schema.png?​700|}}
 ===== Hardware Design ===== ===== Hardware Design =====
 In realizarea proiectului se vor folosi: In realizarea proiectului se vor folosi:
-* Arduino UNO +  ​* Arduino UNO 
-* Modul senzor optic de amprenta +  * Modul senzor optic de amprenta 
-* Modul RFID RC522 +  * Modul RFID RC522 
-* Tastatura matriceala 4x4 +  * Tastatura matriceala 4x4 
-* Senzor temperatura DHT11 +  * Senzor temperatura DHT11 
-* Senzor de fum MQ2 +  * Senzor de fum MQ2 
-* Buzzer ​activ +  * Buzzer ​pasiv 
-* Yala electromagnetica ORNO OR-EZ-4033+  * Yala electromagnetica ORNO OR-EZ-4033 
 +{{:​pm:​prj2024:​rvirtan:​all-in-one-lock:​desen.png?​700|}}
  
 +Am inceput proiectarea circuitului prin impartirea pinilor pe fiecare componenta utilizata. Impartirea acestora este urmatoarea: ​
 +  * Pinii A4 si A5 i-am pastrat pentru comunicatia I2C cu LCD-ul
 +  * Pinii 2,3 sunt pentru comunicatia seriala cu cititorul de amprente
 +  * Pinii 4,5,6,7,8 ii folosesc in comunicatia cu modulul de Keyboard
 +  * Pinii 9,​10,​11,​12,​13 sunt alocati comunicarii pe SPI cu senzorul de RFID
 +  * Pinul A0 este asignat citirii valorii calitatii aerului (senzorul de fum)
 +  * Pinul A1 este folosit pentru controlul buzzerului pasiv
 +  * Pinul A2 este rezervat citirii temperaturii
 +  * Pinul A3 este folosit pentru controlul outputului circuitului (in versiunea finala, planuiesc sa inlocuiesc led-ul de pe iesirea acesta cu un releu care sa coordoneze iala electronica)
 +
 +Se poate observa si cablajul fizic in pozele de mai jos care evidentiaza si functionalitatea senzorului de amprenta.
 +
 +{{:​pm:​prj2024:​rvirtan:​all-in-one-lock:​hard1.jpg?​700}}
 +
 +{{:​pm:​prj2024:​rvirtan:​all-in-one-lock:​hard2.jpg?​700}}
 ===== Software Design ===== ===== Software Design =====
  
 +Project link: [[https://​github.com/​ALESandrei54321/​Sistem-All-In-One-de-securizare-incapere/​blob/​main/​arduino_project.c|GitHub]]
 +
 +Am inceput prin crearea unei structuri de baza care sa imi separe functionalitatiile senzorilor de foc (temperatura si fum) de modulele ce interactioneaza direct cu utilizatorul (cele de citire). Acest lucru l-am facut deoarece doresc sa cietsc de pe cei doi senzori de incendiu odata la cateva secunde, nu in continuu.
 +
 +Ca librarii, am folosit:
 +  * LiquidCrystal_I2C.h - utilizat pentru comunicatia cu LCD-ul
 +  * Adafruit_Fingerprint.h,​ SoftwareSerial.h - folosit pentru comunicarea cu senzorul de amprente
 +  * I2CKeyPad.h,​ Wire.h - se folosesc pentru a citi date de la keypad, tot pe baza de I2C
 +  * TimerOne.h - utilizat pentru crearea intreruperilor pentru citirea senzorilor de foc
 +  * SPI.h, MFRC522.h - necesar pentru comunicarea cu modulul de RFID
 +  * dht.h - folosit pentru citirea temperaturii
 +  * pitches.h - util pentru crearea de note pentru buzzer
  
-<note tip> +Ca implementare propriu-zisa,​ avem cateva functii care trebuie mentionate
-Descrierea codului aplicaţiei (firmware)+  * checkFingerprint,​ checkRFID, checkPassword - acestea se bazeaza pe citirea datelor ​de la user si verifica daca se indeplinesc conditile pentru deschiderea usii 
-  * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) +  * fireCheck ​se apeleaza odata la 8 secunde si citeste temperatura si valoarea calitatii aeruluiDaca conditile sunt specifice unui incendiu, va lasa usa deschisa si va porni o alarma 
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib) +  * openDoor - metoda ce apeleaza deschiderea usii si genereaza un jingle
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3) surse şi funcţii implementate +
-</​note>​+
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
pm/prj2024/rvirtan/all-in-one-lock.1714390009.txt.gz · Last modified: 2024/04/29 14:26 by andrei.ciorgan
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