This shows you the differences between two versions of the page.
pm:prj2023:iotelea:locker [2023/05/21 14:34] dan.sirbu |
pm:prj2023:iotelea:locker [2023/05/29 20:30] (current) dan.sirbu update software |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Locker ====== | ====== Locker ====== | ||
+ | Dan Sîrbu - 336CB | ||
===== Introducere ===== | ===== Introducere ===== | ||
{{:pm:prj2023:iotelea:3d-internet-secuirty-badge.jpg?200 |}} | {{:pm:prj2023:iotelea:3d-internet-secuirty-badge.jpg?200 |}} | ||
Line 21: | Line 22: | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Mediu folosit: VSCode cu extensia PlatformIO | ||
+ | Biblioteci: | ||
+ | * [[https://playground.arduino.cc/Code/Keypad/|Keypad]] | ||
+ | * [[https://reference.arduino.cc/reference/en/libraries/liquidcrystal-i2c/|LiquidCrystal I2C]] | ||
+ | * [[https://reference.arduino.cc/reference/en/libraries/mfrc522/|MFRC522]] | ||
- | + | Software-ul este implementat modular. Avem fisiere care definesc mai multe parti din program. Astfel am tinut o stare a lockerului pt ca sa stie cand trebuie initializat, am folosit EEPROM pentru a salva un id si parola. Daca acel id nu exista, atunci trebuie initializat cu o parola si cu tagul rfid. Cand este apasat butonul de override se declanseaza o intrerupere externa, care pentru cateva secunde deschide releul, stince ledul rosu si declanseaza un semnal sonor. Parola poate fi introdusa de la keypad si tagul poate fi citit de rfid. Ambele variante pot fi folosite, de ex daca utilizatorul a pierdul tagul si tine minte parola de 8 caractere, sau invers. Timerul functioneaza un modul CTC. Pentru buzzer am folosit tone. | |
- | <note tip> | + | |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * 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:prj2023:iotelea:jokergef.png?direct |}} | + | [[https://www.youtube.com/watch?v=r365rFLV7oQ|Youtube Demo]] |
- | <note tip> | + | |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Lockerul isi indeplineste functiile cu succes. Se poate reseta cu o parola speciala si poate fi scris si citit cardul. Releul lucreaza cum trebuie | ||
+ | si lucreaza si butonul de override. Astfel am reusit sa implementez complet functionalitatea propusa din start si sa invat multe chestii noi, deoarece am ales un proiect care contine nu doar materia invatata la lab. Am folosit functii low level unde era posibil si partile mai complicate | ||
+ | le-am facut in high level. | ||
===== Download ===== | ===== Download ===== | ||
- | + | {{:pm:prj2023:iotelea:locker.zip|}} | |
- | <note warning> | + | |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
- | + | ||
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | |
- | </note> | + | |
===== Jurnal ===== | ===== Jurnal ===== | ||
- | + | * 03 Mai - Finalizare Documentatie | |
- | <note tip> | + | * 13 Mai - Au ajuns piesele hardware |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | * 14 Mai - Am lipit headerele de pini necesari |
- | </note> | + | * 14 Mai - Am testat hardware-ul |
+ | * 25 Mai - Am finalizat partea software | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | + | Resurse Software: | |
- | <note> | + | * Lab PM |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * [[https://circuitdigest.com/microcontroller-projects/interfacing-rfid-reader-module-with-arduino|Tutorial RFID]] |
- | </note> | + | * [[https://arduinogetstarted.com/tutorials/arduino-keypad|Tutorial Keypad]] |
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||