Door Knock Locker

Autor: Pascu Cosmin

Introducere

  • Door Knock Locker reprezinta o incuietoare ce se deschide cand este auzit un anumit pattern de ciocanituri.
  • Scopul acestuia este de a putea incuia/descuia usi/sertare fara a mai avea nevoie de cartele sau chei. Desigur, este de notat faptul ca acestea nu reprezinta un grad ridicat de securitate.
  • Am pornit de la ideea de incuietoare cu cartela si in cautare de alte idei de proiect am vazut si un proiect simplu care notifica daca se aude o bataie la usa. Astfel m-am gandit sa imbin cele doua idei si sa creez o incuietoare putin diferita.
  • 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

  • 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:

Lista piese:

  1. Arduino UNO
  2. Incuietoare electrica
  3. Buton
  4. Senzor Piezo
  5. Leduri RGB
  6. Tranzistor
  7. Dioda
  8. Rezistente
  9. Baterie
  10. Breadboard
  11. 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

Jurnal

Bibliografie/Resurse

pm/prj2021/apredescu/door_knock_locker.txt · Last modified: 2021/05/28 13:21 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