This shows you the differences between two versions of the page.
pm:prj2021:apredescu:door_knock_locker [2021/04/25 19:27] cosmin.pascu1902 created |
pm:prj2021:apredescu:door_knock_locker [2021/05/28 13:21] (current) cosmin.pascu1902 [Download] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Door Knock Locker ====== | ====== Door Knock Locker ====== | ||
+ | Autor: Pascu Cosmin | ||
- | ====== Introducere ====== | + | ===== Introducere ===== |
* Door Knock Locker reprezinta o incuietoare ce se deschide cand este auzit un anumit pattern de ciocanituri. | * Door Knock Locker reprezinta o incuietoare ce se deschide cand este auzit un anumit pattern de ciocanituri. | ||
Line 8: | Line 9: | ||
* Consider ca acest proiect este util pentru ca nu necesita a avea mereu la indemana o cheie sau o cartela pentru a deschide o usa sau un sertar care totusi ati vrea sa nu fie mereu usor de accesat de oricine. | * Consider ca acest proiect este util pentru ca nu necesita a avea mereu la indemana o cheie sau o cartela pentru a deschide o usa sau un sertar care totusi ati vrea sa nu fie mereu usor de accesat de oricine. | ||
+ | ===== Descriere Generala ===== | ||
+ | {{ :pm:prj2021:apredescu:schema_bloc_door_locker_2.png |}} | ||
+ | * Senzorul Piezo receptioneaza sunetele batailor, transmite datele catre Arduino, acolo se va analiza pattern-ul. In cazul in care pattern-ul este corect, se va deschide incuitoarea electrica si se va aprinde becul verde. In cazul in care pattern-ul nu este corect si va aprinde doar ledul rosu. | ||
+ | |||
+ | ===== Hardware Design ===== | ||
+ | Schema electrica: | ||
+ | {{ :pm:prj2021:apredescu:pascu_cosmin_331cc_circuit_electric_2.jpg |}} | ||
+ | |||
+ | Lista piese: | ||
+ | |||
+ | - Arduino UNO | ||
+ | - Incuietoare electrica | ||
+ | - Buton | ||
+ | - Senzor Piezo | ||
+ | - Leduri RGB | ||
+ | - Tranzistor | ||
+ | - Dioda | ||
+ | - Rezistente | ||
+ | - Baterie | ||
+ | - Breadboard | ||
+ | - Releu | ||
+ | |||
+ | ===== Software Design ===== | ||
+ | Pentru implementare am folosit pentru input un pin analog(pentru senzorul Piezo), un pin digital pentru butonul de inregistrare si, iar pentru output-uri am folosit 3 pini digitali (1-led Rosu, 1-led Verde, 1-pentru incuietoare). | ||
+ | |||
+ | Ideea principala a implementarii consta in compararea a doi vectori ce contin intervalele de timp intre batai. In functia de //loop()// ascult pentru o bataie (o vibratie care depaseste o sensibilitate selectata) si verific daca este apasat butonul de inregistrare. Daca a fost sesizata o bataie, atunci apelez functia ce inregistreaza bataile //listenToSecretKnock()//. | ||
+ | |||
+ | In functia //listenToSecretKnock()// salvez noile batai si in functie daca este apasat butonul de inregistrare sau nu, fie verific daca bataile respecta pattern-ul de deblocare, fie actualizez noul pattern. Pentru fiecare tip de actiune aprind ledurile intr-un anumit mod pentru a oferi si un feedback vizual. | ||
+ | |||
+ | Pentru partea de comparare intre cei 2 vectori voi face o diferenta in modul intre valori si de fiecare data verific cu o constanta pentru a putea accepta micile diferente si adun aceste dieferente intr-o variabila pentru ca la final suma erorilor sa nu depaseasca o anumita valoare(care este si ea o constanta). Cele 2 constante precizate anterior pot fi modificate in cod ptr a avea o toleranta mai mica sau mai mare la erori. | ||
+ | ===== Rezultate Obtinute ===== | ||
+ | In final proiectul indeplineste functiile propuse (deblocarea incuietorii la recunoasterea unui pattern si posibilitatea de inregistrare unui nou pattern). | ||
+ | |||
+ | Link catre videoclip: [[https://www.youtube.com/watch?v=EKXjxHanSCI]] | ||
+ | ===== Concluzii ===== | ||
+ | |||
+ | |||
+ | ===== Download ===== | ||
+ | {{:pm:prj2021:apredescu:door_knock_locker_pascu_cosmin_331cc.zip|}} | ||
+ | |||
+ | |||
+ | ===== Jurnal ===== | ||
+ | |||
+ | |||
+ | ===== Bibliografie/Resurse ===== | ||
+ | https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/door_knock_locker?do=export_pdf | ||
+ | |||
+ | [[https://www.youtube.com/watch?v=zE5PGeh2K9k]] |