This is an old revision of the document!
Proiectul constă în realizarea unui sistem de închidere/deschidere pe baza unui cod de acces. Funcționalitatea implementată de încuietoare este una simplă: încuietoarea este atașată unei cutii (sau oricărui compartiment/spațiu de depozitare), iar în momentul în care aceasta este blocată, un servo motor va fi acționat și astfel acesta va bloca ușa cutiei.
Modul implicit al încuietorii este unlocked. Încuietoarea va ramâne în acest mod până când butonul Lock este apăsat. Pentru a debloca încuietoarea este necesară introducerea unei parole de 6 cifre. Introducerea parolei corecte acționează din nou servo motorul care va debloca usa cutiei și astfel încuietoarea revine la starea unlocked.
Ideea de la care am pornit atunci când am ales proiectul a fost realizarea unui dispozitiv pe care l-am văzut implementat sub diferite metode în viața reală. Sistemul de smart lock este acum folosit in spațiile de depozitare a bagajelor din aproape fiecare magazin, iar asta m-a făcut să vreau să îmi construiesc propriul sistem de închidere.
LiquidCrystal.h
Programul initializeaza incuietoarea ca fiind inchisa. Primele 4 butoane (cele mai departate de LCD) reprezinta cifrele 1, 2, 3 si 4. Pentru a debloca incuietoarea este necesara introducerea unui cod de 4 cifre format cu cifrele 1-4. Celelalte doua butoane reprezinta butonul de Enter (pentru a putea valida codul) si butonul de Lock. Parola este setata in cod, in cazul de fata parola fiind 1234. Poate fi schimbata la inceputul programului, fiind stocata ca variabila in program.
Implementarea codului a constat in verificarea existentei semnalului pe fiecare din cele 4 butoane de input, iar daca secventa de semnale era cea corecta, se verifica si daca butonul Enter a fost apasat. In acest caz, programul va afisa pe ecranul LCD mesajul “Access granted” si un semnal va fi trimis la servo motor. Acesta roteste elicea la 90º si astfel incuietoarea este deschisa. Daca secventa nu este cea corecta, se va afisa pe ecran mesajul “Access denied” si se va astepta introducerea unei secvente noi.
In cazul in care incuietoarea este deschisa si se apasa butonul de Lock, servo motorul va primi un semnal si se va roti din nou cu 90º, iar pe ecran va aparea mesajul “Password:” pentru introducerea codului de acces.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.