This shows you the differences between two versions of the page.
pm:prj2024:rvirtan:all-in-one-lock [2024/05/15 13:16] andrei.ciorgan [Hardware Design] |
pm:prj2024:rvirtan:all-in-one-lock [2024/05/22 19:15] (current) andrei.ciorgan [Software Design] |
||
---|---|---|---|
Line 44: | Line 44: | ||
Se poate observa si cablajul fizic in pozele de mai jos care evidentiaza si functionalitatea senzorului de amprenta. | 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?530}} | + | {{:pm:prj2024:rvirtan:all-in-one-lock:hard1.jpg?700}} |
- | {{:pm:prj2024:rvirtan:all-in-one-lock:hard2.jpg?530}} | + | {{: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]] | ||
- | <note tip> | + | 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. |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | Ca librarii, am folosit: |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | * LiquidCrystal_I2C.h - utilizat pentru comunicatia cu LCD-ul |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | * Adafruit_Fingerprint.h, SoftwareSerial.h - folosit pentru comunicarea cu senzorul de amprente |
- | * (etapa 3) surse şi funcţii implementate | + | * I2CKeyPad.h, Wire.h - se folosesc pentru a citi date de la keypad, tot pe baza de I2C |
- | </note> | + | * 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 | ||
+ | |||
+ | Ca implementare propriu-zisa, avem cateva functii care trebuie mentionate: | ||
+ | * checkFingerprint, checkRFID, checkPassword - acestea se bazeaza pe citirea datelor de la user si verifica daca se indeplinesc conditile pentru deschiderea usii | ||
+ | * fireCheck - se apeleaza odata la 8 secunde si citeste temperatura si valoarea calitatii aerului. Daca conditile sunt specifice unui incendiu, va lasa usa deschisa si va porni o alarma | ||
+ | * openDoor - metoda ce apeleaza deschiderea usii si genereaza un jingle | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== |