This shows you the differences between two versions of the page.
pm:prj2021:cghenea:smartlock [2021/06/02 18:52] violeta.fasui |
pm:prj2021:cghenea:smartlock [2021/06/02 18:52] (current) violeta.fasui |
||
---|---|---|---|
Line 4: | Line 4: | ||
====== Introducere ====== | ====== Introducere ====== | ||
- | Tema proiectului propus este o incuietoare inteligenta. Acesta va simula modul de functionare al unei alarme, tinand cont de starea incuietorii. Astfel vor exista doua situatii: | + | Tema proiectului propus este o incuietoare inteligenta. Acesta va simula modul de functionare al unei alarme, tinand cont de starea incuietorii. Astfel vor exista doua situatii: |
* Daca incuietoarea este inchisa si se simte miscare, atunci alarma va semnala acest lucru, folosind un buzzer. | * Daca incuietoarea este inchisa si se simte miscare, atunci alarma va semnala acest lucru, folosind un buzzer. | ||
* Daca incuietoarea este deschisa, nu se tine cont de datele obtinute de la senzorul de miscare. | * Daca incuietoarea este deschisa, nu se tine cont de datele obtinute de la senzorul de miscare. | ||
Line 10: | Line 10: | ||
====== Descriere generala ====== | ====== Descriere generala ====== | ||
- | In scopul realizarii acestei incuietori voi utiliza un senzor de miscare, un servomotor, un keypad, un buzzer si modelul bluetooth. Incuietoarea va avea doua stari determinate de codul introdus prin keypad: | + | In scopul realizarii acestei incuietori voi utiliza un senzor de miscare, un servomotor, un keypad, un buzzer si modelul bluetooth. Incuietoarea va avea doua stari determinate de codul introdus prin keypad: |
* inchisa: fie atunci cand se introduce #, fie atunci cand se introduce o parola gresita; | * inchisa: fie atunci cand se introduce #, fie atunci cand se introduce o parola gresita; | ||
* deschisa: atunci cand parola introdusa este corecta (1234); | * deschisa: atunci cand parola introdusa este corecta (1234); | ||
- | Atunci cand incuietoarea este inchisa, vom monitoriza datele obtinute de senzorul pir si vom semnala prezenta unei persoane prin buzzer. | + | Atunci cand incuietoarea este inchisa, vom monitoriza datele obtinute de senzorul pir si vom semnala prezenta unei persoane prin buzzer. |
De pe telefon vom putea inchide sau inchide incuietoarea. | De pe telefon vom putea inchide sau inchide incuietoarea. | ||
Line 32: | Line 32: | ||
====== Software Design ====== | ====== Software Design ====== | ||
- | In scopul realizarii proiectului, am utilizat o variabila care monitorizeaza starea incuietorii. Aceasta isi schimba starea astfel: | + | In scopul realizarii proiectului, am utilizat o variabila care monitorizeaza starea incuietorii. Aceasta isi schimba starea astfel: |
* este inchisa atunci cand se apasa tasta '#' sau atunci cand parola introdusa este gresita. | * este inchisa atunci cand se apasa tasta '#' sau atunci cand parola introdusa este gresita. | ||
* este deschisa atunci cand combinatia de caractere retinuta in variabila password este aceeasi cu cea setata initial ca fiind codul de deschidere ("1234"). | * este deschisa atunci cand combinatia de caractere retinuta in variabila password este aceeasi cu cea setata initial ca fiind codul de deschidere ("1234"). | ||
- | Pe masura ce tastele sunt apasate, codul este in permanenta retinut intr-un string, iar in momentul in care se introduce caracterul special "*", codul este verificat in functia checkPassword(). Se face compararea a doua stringuri, pentru a putea determina atat starea incuietorii, cat si pe cea a buzzer-ului. Dupa fiecare verificare parola este resetata. | + | Pe masura ce tastele sunt apasate, codul este in permanenta retinut intr-un string, iar in momentul in care se introduce caracterul special "*", codul este verificat in functia checkPassword(). Se face compararea a doua stringuri, pentru a putea determina atat starea incuietorii, cat si pe cea a buzzer-ului. Dupa fiecare verificare parola este resetata. |
- | Buzzerul verifica atat starea incuietorii, cat si datele obtinute de senzorul pir. Daca incuietoarea este inchisa iar valoarea senzorului pir este 1, atunci alarma suna. | + | Buzzerul verifica atat starea incuietorii, cat si datele obtinute de senzorul pir. Daca incuietoarea este inchisa iar valoarea senzorului pir este 1, atunci alarma suna. |
In loop, se verifica constant datele primite de la telefon. Acesta poate trimite caracterele 'c' pentru a inchide incuietoarea, sau 'o' pentru a o deschide. | In loop, se verifica constant datele primite de la telefon. Acesta poate trimite caracterele 'c' pentru a inchide incuietoarea, sau 'o' pentru a o deschide. | ||
Line 149: | Line 149: | ||
====== Rezultate Obţinute ====== | ====== Rezultate Obţinute ====== | ||
- | Proiectul simuleaza functionarea unei alarme. Acest lucru este evidentiiat atat in demo, cat si in urmatoarele imagini: | + | Proiectul simuleaza functionarea unei alarme. Acest lucru este evidentiiat atat in demo, cat si in urmatoarele imagini: |
* Incuietoare inchisa | * Incuietoare inchisa | ||
{{:pm:prj2021:cghenea:inchis.jpg?200|}} | {{:pm:prj2021:cghenea:inchis.jpg?200|}} | ||
Line 160: | Line 160: | ||
====== Concluzii ====== | ====== Concluzii ====== | ||
- | Proiectul a necesitat atat acumularea cunostintelor prezentate la laborator, cat si creativitatea fiecaruia. Consider ca proiectul a fost unul practic, cu o utilitate reala, ce poate fi privit ca o experienta constructiva. | + | Proiectul a necesitat atat acumularea cunostintelor prezentate la laborator, cat si creativitatea fiecaruia. Consider ca proiectul a fost unul practic, cu o utilitate reala, ce poate fi privit ca o experienta constructiva. |
====== Jurnal ====== | ====== Jurnal ====== |