Smart Lock

Introducere

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 4 cifre. Introducerea parolei corecte acționează din nou servo-motorul care va debloca ușa cutiei și astfel încuietoarea revine la starea unlocked.

Motivație

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.

Descriere generală

Schemă bloc

Hardware Design

Pentru a se putea observa cât mai bine utilitatea proiectului am folosit o cutie de carton. Pe capac am montat breadboard-ul și placa Arduino, iar în interiorul cutiei am lipit servo-motorul, pe capac, si am tăiat o fantă in peretele cutiei pentru a putea realiza sistemul de închidere propriu-zis.

Listă componente:
  • Arduino Uno
  • breadboard
  • battery holder
  • display LCD
  • condensator 100μF
  • rezistență 330ohm
  • servo-motor
  • butoane (6)
  • fire tată-tată
Schema electrică:

Software Design

Biblioteci externe folosite: LiquidCrystal.h

Programul inițializează încuietoarea ca fiind închisă. Primele 4 butoane (cele mai depărtate de LCD) reprezintă cifrele 1, 2, 3 și 4. Pentru a debloca încuietoarea este necesară introducerea unui cod de 4 cifre format cu cifrele 1-4. Celelalte 2 butoane reprezintă butonul de Enter (pentru a putea valida codul) și butonul de Lock. Parola este setată în cod, în cazul de față parola fiind 1234. Poate fi schimbată la începutul programului, fiind stocată ca variabilă în program.

Implementarea codului a constat în verificarea existenței semnalului pe fiecare din cele 4 butoane de input, iar dacă secvența de semnale era cea corectă, se verifică și dacă butonul Enter a fost apăsat. În acest caz, programul va afișa pe ecranul LCD mesajul “Access granted” și un semnal va fi trimis la servo-motor. Acesta rotește elicea la 90º și astfel încuietoarea este deschisă. Dacă secvența nu este cea corectă, se va afișa pe ecran mesajul “Access denied” și se va aștepta introducerea unei secvențe noi.

În cazul în care încuietoarea este deschisă și se apasă butonul de Lock, servo-motorul va primi un semnal și se va roti din nou cu 90º, iar pe ecran va apărea mesajul “Password:” pentru introducerea codului de acces.

Rezultate Obţinute

Concluzii

Proiectul pe care l-am realizat este unul cu aplicabilitate mare, mai ales dacă spațiul de depozitare era dintr-un material mai dur, care nu ar fi putut fi distrus/rupt. Aș fi vrut să realizez un proiect mai compact din punct de vedere hardware, să folosesc fire de dimensiuni mai mici acolo unde se putea și să tai firele pentru care pinii erau foarte apropiați, însă nu am reușit să tai firele așa cum aș fi vrut.

În rest, sunt mulțumită de rezultatul obținut și mă bucur că am avut de făcut acest proiect. Proiectul m-a ajutat să mă familiarizez cu mediul practic de dezvoltare al Arduino și să învăț într-un timp mult mai scurt mult mai multe concepte decât aș fi reușit de la laborator sau curs.

Download

Arhivă proiect:smartlock.zip

Bibliografie/Resurse

pm/prj2022/ncaroi/smart-lock.txt · Last modified: 2022/05/27 22:24 by camelia.burcea
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