This shows you the differences between two versions of the page.
|
pm:prj2021:apredescu:door_knock_locker [2021/04/25 19:50] cosmin.pascu1902 [Bibliografie/Resurse] |
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 ===== | ||
| Line 9: | Line 10: | ||
| ===== Descriere Generala ===== | ===== 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 ===== | ===== Hardware Design ===== | ||
| + | Schema electrica: | ||
| + | {{ :pm:prj2021:apredescu:pascu_cosmin_331cc_circuit_electric_2.jpg |}} | ||
| + | |||
| + | Lista piese: | ||
| - Arduino UNO | - Arduino UNO | ||
| - | - Servomotor | + | - Incuietoare electrica |
| - | - Speaker Piezo | + | - Buton |
| + | - Senzor Piezo | ||
| - Leduri RGB | - Leduri RGB | ||
| - Tranzistor | - Tranzistor | ||
| Line 22: | Line 29: | ||
| - Baterie | - Baterie | ||
| - Breadboard | - Breadboard | ||
| + | - Releu | ||
| ===== Software Design ===== | ===== 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()//. | ||
| - | ===== Rezultate Obtinute ===== | + | 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 ===== | ===== Concluzii ===== | ||
| ===== Download ===== | ===== Download ===== | ||
| + | {{:pm:prj2021:apredescu:door_knock_locker_pascu_cosmin_331cc.zip|}} | ||
| Line 39: | Line 54: | ||
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
| + | https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/door_knock_locker?do=export_pdf | ||
| + | |||
| + | [[https://www.youtube.com/watch?v=zE5PGeh2K9k]] | ||