Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2022:ncaroi:smart-lock [2022/05/27 19:49]
camelia.burcea [Hardware Design]
pm:prj2022:ncaroi:smart-lock [2022/05/27 22:24] (current)
camelia.burcea [Download]
Line 2: Line 2:
 ===== Introducere ===== ===== 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.+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 cifre. Introducerea parolei corecte acționează din nou servo motorul care va debloca ​usa cutiei și astfel încuietoarea revine la starea unlocked.+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 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 ===== ===== Motivație =====
Line 14: Line 14:
 ===== Schemă bloc ===== ===== Schemă bloc =====
  
-{{:​pm:​prj2022:​ncaroi:​smart_lock.png?​400|}}+{{ :​pm:​prj2022:​ncaroi:​smart_lock.png?​600 |}}
  
 ===== Hardware Design ===== ===== Hardware Design =====
  
-Listă componente:+<note tip>​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. </​note>​ 
 + 
 +== Listă componente: ​== 
 + 
  
   * Arduino Uno   * Arduino Uno
Line 25: Line 29:
   * display LCD   * display LCD
   * condensator 100μF   * condensator 100μF
-  * rezistență ​300ohm +  * rezistență ​330ohm 
-  * servo motor+  * servo-motor
   * butoane (6)   * butoane (6)
   * fire tată-tată   * fire tată-tată
  
-Schema electrică: +== Schema electrică: ​==
-{{ :​pm:​prj2022:​ncaroi:​smartlock_scheme.png |}}+
  
-===== Software Design =====+{{ :​pm:​prj2022:​ncaroi:​smart_lock_scheme.png?​700 |}}
  
  
-<note tip> + 
-Descrierea codului aplicaţiei (firmware)+ 
-  ​* mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) +===== Software Design ===== 
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib) + 
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +<note tip>Biblioteci externe folosite
-  * (etapa 3) surse şi funcţii implementate+'' ​  
 +LiquidCrystal.h''​
 </​note>​ </​note>​
 +
 +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 ===== ===== Rezultate Obţinute =====
  
-<note tip> +[[https://​youtu.be/​vbyRGx3Xp3A|Demo proiect]] 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+ 
-</​note>​+ 
 + 
 +{{ :​pm:​prj2022:​ncaroi:​poza1.jpeg?700 |}} 
 + 
 +{{ :​pm:​prj2022:​ncaroi:​servomotor.jpeg?​700 |}} 
 + 
 +{{ :​pm:​prj2022:​ncaroi:​poza2.jpeg |}} 
  
 ===== Concluzii ===== ===== 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 ===== ===== Download =====
  
-<note warning>​ +Arhivă proiect:{{:​pm:​prj2022:​ncaroi:​smartlock.zip|}}
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).+
  
-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**. 
-</​note>​ 
  
-===== Jurnal ​=====+===== Bibliografie/​Resurse ​=====
  
-<note tip> 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. 
-</​note>​ 
  
-===== Bibliografie/​Resurse ​=====+**Resurse ​Software**
  
-<​note>​ +  ​https://​docs.arduino.cc/​learn/​electronics/​lcd-displays 
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +  * https://​123d.circuits.io/​circuits/​2341563-arduino-safe
-</note>+
  
-<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ 
  
 +**Resurse Hardware**
 +
 +  * https://​docs.arduino.cc/​learn/​electronics/​servo-motors
 +  * https://​forum.arduino.cc/​t/​which-battery-holder-to-use-to-supply-power-to-arduino-and-breakout-boards/​382869
 +  * https://​www.instructables.com/​Push-Button-Combination-Lock-Arduino/​
 +
 +<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
pm/prj2022/ncaroi/smart-lock.1653670190.txt.gz · Last modified: 2022/05/27 19:49 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