This is an old revision of the document!
Cuier smart pentru măști
Autor
Introducere
Cuierul smart pentru măști propune un mod facil de a stoca măștile reutilizabile și de a anunța utilizatorul când trebuie schimbate.
Pandemia ne-a luat pe toți prin surprindere și, chiar dacă a trecut un an, nu mulți respectă “good practice” pentru folosirea măștilor.
Problema pe care o rezolvă proiectul meu este stocarea inadecvată a măștilor și refolosirea lor îndelungată prin oferirea unui loc special pentru ele și a unei soluții software pentru a aminti persoanei respective când trebuie schimbată masca.
Descriere generală
Schemă bloc
Funcționalitate
I / O
Plăcuța va primi input de la:
Output-ul va fi transmis prin:
Un display LCD care afișează numărul de utilizări pentru fiecare slot și diverse mesaje ajutătoare
Un led pentru fiecare slot care se aprinde când utilizatorul trebuie să pună masca în slot-ul respectiv
Funcționalitate în mare
Ca funcționalitate generală, utilizatorul își poate înregistra un tag (care se prinde de mască printr-un clips)
prin apăsarea unui buton pentru a trece în modul “înregistrare” și o pune în slot-ul din cuier care este afișat pe ecran.
Masca trebuie scanată și când este luată din cuier, și când este depozitată în cuier. Programul va incrementa
counter-ul de utilizări doar la ridicare și începe cu 1 by default.
În afară de mesajele ajutătoare, ecranul LCD va afișa tot timpul numărul de utilizări per slot.
Cuierul va avea de asemenea și un buton pentru a șterge o anume mască, pentru a putea refolosi tag-ul.
Hardware Design
Piese necesare
Nume | Numar piese |
Arduino Uno | 1 |
Ecran LCD | 1 |
Butoane | 2 |
Cititor RFID-RC522 | 1 |
Stickere NFC | 5 |
Leduri | 7 |
Rezistori | 7 |
Fire tată-tată | - |
Fire mamă-tată | - |
Breadboard | 1 |
Nu știu cât se înțelege din diagramă, deci conexiunile vin astfel:
Pini RFID reader | Pini Arduino |
SDA (SS) | 10 |
SCK | 13 |
MOSI | 11 |
MISO | 12 |
IRQ | - |
GND | GND |
RST (reset) | - |
3.3V | 3.3V |
Pini LCD | Pini Arduino |
SDA | SDA |
SCL | SCL |
GND | GND |
Vcc | 5V |
Butonul de ștergere este conectat la pinul 4, iar cel de scriere la pinul 2.
Cele 5 led-uri pentru sloturile cuierului sunt conectate la A0, A1, A2, A3, 5.
Cele 2 led-uri care indică dacă ne aflăm în modul de scriere/ștergere sunt conectate la pinii 9 respectiv 7.
Software Design
O simplificare a codului ar fi diagrama asta de stări:
Ready: Se așteaptă un input. Căteva verificări care s-ar face la prima citire ar fi:
Dacă se scanează altceva decât un Mifare Ultralight, se afișează un mesaj de eroare (în Serial Monitor) și se ignoră cardul respectiv.
Dacă ID-ul citit de pe un tag nu există, atunci se afișează eroare și tag-ul este ignorat
Dacă masca a atins numărul maxim de utilizări, atunci se afișează acest lucru și masca este ignorată
Scoaterea din slot: La acest pas se actualizează structurile interne și se scoate counterul de utilizări corespunzător slotului respectiv.
Punerea în slot: Se caută primul slot liber. Dacă nu există se afișează o eroare. Dacă s-a găsit, se afișează o indicație pe ecran.
Ștergerea unei măști: Se resetează structurile interne pentru a putea refolosi id-ul respectiv. Dacă masca era trecută ca fiind într-un slot, aceasta este scoasă automat
Scrierea unui tag: Se caută primul ID liber și se scrie in memoria tag-ului RFID la o adresă anume, urmând un anume format, pentru a minimiza șansele ca un tag să aibă din întâmplare același ID. Ca error checking, se verifică dacă există deja un ID pe tag-ul ce urmează să fie scris. Daca da, atunci se eliberează structurile interne corespunzătoare ID-ului vechi și apoi se asignează ID-ul nou.
Rezultate Obţinute
Concluzii
Download
Jurnal
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
va trebui sa scriu/citesc date pe stickere ca sa pot identifica in mod unic mastile.
Bibliografie/Resurse