Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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]]
pm/prj2021/apredescu/door_knock_locker.1619368031.txt.gz · Last modified: 2021/04/25 19:27 by cosmin.pascu1902
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0