Schema bloc este destul de simpla si intuitiva.
Am folosit IDE-ul oferit de Arduino, ultima versiune de la momentul respectiv.
Bibliotecile folosite au fost urmatoarele:
Detectia unei taste apasate se face constant, utilizand functia bibliotecii Keypad.h dupa codificarea tastelor.
Miscarea se detecteaza folosind starea pinului la care este conectat senzorul ultrasonic. Astfel facand conversia durata de intoarcere a semnalului senzorului / 58 obtinem distanta in cm cu o eroare de pana la 3 cm.
Asa cum am mentionat anterior, proiectul prezinta 3 stari, de care este tinut cont prin variabila flag (starea 1 - flag 0, starea 2 - flag 1, starea 3 - flag 2):
Starea 1 - Ecranul LCD marcheaza(SEEKING MOVEMENT…) faptul ca se asteapta recunoasterea unei miscari (folosind pinii trig si echo ai senzorului ultrasonic) la sub 20cm de senzor. La detectarea acelei miscari, trecem in starea 2.
Starea 2 - Ecranul LCD marcheaza faptul ca trebuie introdusa o parola(ENTER PASSWORD…) la keypad, iar buzzerul si ledul sunt activate. In cazul in care o tasta corecta este apasata, counter creste (counter este initial 0 si este folosit pe post de index al parolei). Daca totusi gresim o tasta, counterul este resetat la 0, iar frecventa buzzerului creste. Daca counterul nostru ajunge la valoarea 4 inseamna ca toate cele 4 taste corecte au fost introduse succesiv si ajungem in starea finala 3.
Starea 3 - sunt oprite buzzerul si ledul, iar pe ecran este afisat un mesaj de bine ai venit (WELCOME HOME).
Aceasta a fost prima mea interactiune in detaliu cu o placuta arduino si ce poti face cu aceasta. Am intampinat cateva proiecte odata cu inceperea implementarii fizice, mentionez faptul ca simulat proiectul a rulat fara probleme. Aceste probleme au tinut mai mult de partea hard (primul breadboard nu facea contact de fiecare data, iar dupa schimbarea acestuia am observat si ca majoritatea firelor pe care le foloseam la ground nu functionau corespunzator). La finalul proiectului pot spune ca sunt multumit de rezultatul obtinut.