This shows you the differences between two versions of the page.
pm:prj2021:agrigore:cuier_masti [2021/05/31 07:34] maria_irina.gherman |
pm:prj2021:agrigore:cuier_masti [2021/06/01 05:59] (current) maria_irina.gherman [Download] |
||
---|---|---|---|
Line 54: | Line 54: | ||
| Breadboard | 1 | | | Breadboard | 1 | | ||
- | {{pm:prj2021:agrigore:diagrama_circuit.png?900|}} | + | {{pm:prj2021:agrigore:diagrama_circuit.png?700|}} |
- | Nu știu cât se înțelege din diagramă, deci conexiunile vin astfel: | + | Nu știu cât se înțelege din diagramă, deci o să explic un pic conexiunile: |
^ Pini RFID reader ^ Pini Arduino | | ^ Pini RFID reader ^ Pini Arduino | | ||
Line 116: | Line 116: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
+ | <note important>Varianta finală nu arată așa! Cel mai bine se vede în video-ul de mai jos</note> | ||
+ | {{:pm:prj2021:agrigore:too_used_cuier.gif?500|}} | ||
+ | |||
+ | Aici vedem mesajul de eroare când masca are prea multe utilizări. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | {{:pm:prj2021:agrigore:no_slots_cuier.gif?500|}} | ||
+ | |||
+ | Aici se vede cum se aprinde led-ul slot-ului corespunzător și ce se întâmplă când nu mai există sloturi disponibile. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | {{:pm:prj2021:agrigore:wrong_tag_cuier.gif?500|}} | ||
+ | |||
+ | Mesajul de eroare când se scanează un tag invalid. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | {{:pm:prj2021:agrigore:not_registered_cuier.gif?500|}} | ||
+ | |||
+ | Când tag-ul scanat nu este în memoria programului se afișează un mesaj de eroare. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | {{:pm:prj2021:agrigore:write_cuier.gif?500|}} | ||
+ | |||
+ | Procesul de scriere. De menționat că nu adaugă masca în vreun slot, doar îi scrie ID pe tag. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | {{:pm:prj2021:agrigore:delete_cuier.gif?500|}} | ||
+ | |||
+ | Procesul de ștergere. Se vede de asemenea că se șterge și din slot-ul unde era pusă (slotul 1 mai exact) | ||
+ | Pentru aceste două moduri, mesajul cu instrucțiuni nu dispare | ||
+ | până nu se scanează o mască sau se reapasă butonul pentru a anula acțiunea. | ||
+ | |||
+ | <note tip>Am vrut să includ și un [[https://youtu.be/Opx4ZC5pwJA|video]] de tip "pitch", ca să prezinte ideea proiectului. Varianta proiectului care se vede în video doar arată mai frumos. Funcționalitățile sunt exact ca în gif-uri</note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | * Cred că poate fi de ajutor în viața reală, chit că pandemia și restricțiile sunt mai ușoare pe zi ce trece (țin pumnii pentru facultate fizic) | ||
+ | * Chiar dacă nu o să mai avem nevoie de măști, proiectul poate fi adaptat pentru haine de exemplu, pentru că sunt sigură că nimeni nu poartă o haină o singură dată până să o spele. | ||
+ | * A fost fun proiectul, am aplicat într-un final tot ce am invățat și mi-am reamintit că lucrurile ieftine nu sunt niciodată la fel de bune ca cele mai scumpe (mi-am luat țeapă la niște componente :D) | ||
===== Download ===== | ===== Download ===== | ||
+ | {{:pm:prj2021:agrigore:gherman_maria_irina_334cb_pm_cuiersmartmasti.zip|Arhiva cu codul, câteva scheme și demo-urile}} | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
==== 4 Mai ==== | ==== 4 Mai ==== | ||
- | Am verificat ce stickere NFC am deja, desi trebuie sa mai comand cateva, si am vazut ca au id-uri la fel, deci | + | * Am verificat ce stickere NFC am deja, deși trebuie să mai comand câteva, și am văzut că au id-uri la fel, deci va trebui să scriu/citesc date pe stickere ca să pot identifica în mod unic măștile. |
- | va trebui sa scriu/citesc date pe stickere ca sa pot identifica in mod unic mastile. | + | ==== 20 Mai ==== |
+ | * Am pus la punct partea de citire/scriere pe RC522 și un mic schelet | ||
+ | ==== 22 Mai ==== | ||
+ | * Am definitivat flow-ul de citire scriere cu un format al ID-ului și niște verificări tot pe partea de ID-uri | ||
+ | ==== 23 Mai ==== | ||
+ | * Am pus primele cărămizi la aventura mea cu întreruperi. Am făcut primul schelet al întreruperilor pentru butoane | ||
+ | ==== 24 Mai ==== | ||
+ | * Am încercat să folosesc MAX7219 pentru multiplexarea a 5 seven segment displays, dar pentru un motiv sau altul n-am reușit să-l fac să meargă | ||
+ | ==== 28 Mai ==== | ||
+ | * Nu am abandonat seven segments displays și am încercat cu un shift register, dar sincer nu m-am descurcat cum aș putea să controlez 5 seven segment displays cu un singur shift register. Looking back, nici nu-mi ajungeau pinii pe Arduino și era prea târziu să mai comand încă un shift register | ||
+ | * Am încercat să fac detecția măștii în slotul de cuier (ca să poți să o pui oriunde vrei) cu niște led-uri IR și IR receivers. Partea proastă a fost că ledurile erau prea slabe ca să le detecteze receiverele :D | ||
+ | ==== 29 Mai ==== | ||
+ | * Am abandonat într-un final seven segment displays și am folosit un LCD, care îmi rezolvă două probleme: lipsa unui display pentru counter și nevoia de a indica cumva în ce slot trebuie să pună user-ul masca | ||
+ | * Continuă aventură mea cu întreruperile, de data asta cu un timer. Am vrut să fiu mișto și să nu folosesc getMillis() pentru a număra 4 secunde când vreau eu, ci să folosesc TIMER1. Looking back, trebuia să fac cu millis, că e cam greu să faci un timer să numere **doar** când vrei tu | ||
+ | ==== 30 Mai ==== | ||
+ | * Last minute software changes, am adăugat diverse mesaje de eroare ca să fac tot proiectul mai... verbose să îi zic. | ||
+ | * Desigur și pagina de wiki | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
+ | |||
+ | * [[https://github.com/miguelbalboa/rfid/blob/master/src/MFRC522.h|Documentatia si exemplele librariei MFRC522]] | ||
+ | * [[https://forum.arduino.cc/t/generating-single-timer-interrupt/191825/11|Forum Arduino pentru retrigerable timer]] | ||
+ | * [[https://www.arduino.cc/reference/en/libraries/liquidcrystal-i2c/|Documentatia si exemplele librariei LiquidCrystal I2C]] | ||
+ | * [[https://forum.arduino.cc/t/writing-to-mifare-ultralight-nfc-tag-using-rc522-module/363199|Forum Arduino pentru scrierea pe tag-urile MIFARE Ultralight]] | ||
<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> | ||