Differences

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

Link to this comparison view

pm:prj2021:apredescu:keypad_door_lock [2021/06/04 18:17]
eduard.olteanu1505 [Jurnal]
pm:prj2021:apredescu:keypad_door_lock [2021/06/04 20:03] (current)
eduard.olteanu1505 [Bibliografie/resurse]
Line 11: Line 11:
 {{ :​pm:​prj2021:​apredescu:​336cab_olteanu_eduard_block_diagram.png?​700 |}} {{ :​pm:​prj2021:​apredescu:​336cab_olteanu_eduard_block_diagram.png?​700 |}}
  
-==== Schema Electrica ==== +
-{{ :​pm:​prj2021:​apredescu:​schema_electrica_oef.png?​600 |}}+
  
 ===== Hardware design ===== ===== Hardware design =====
 Piese necesare: Piese necesare:
-  * Arduino Uno+  * Arduino Uno R3
   * Breadboard   * Breadboard
   * 4x4 Keypad   * 4x4 Keypad
-  * LCD with I2C converter+  * Ecran LCD 1602 cu I2C converter
   * 1-channel Relay   * 1-channel Relay
-  * 9V battery+  * 9V baterie 
 +  * Conector baterie 9V
   * DC Lock - Solenoid   * DC Lock - Solenoid
 +  * Fire mama-tata
 +  * Fire tata-tata
  
 +==== Schema Electrica ====
 +{{ :​pm:​prj2021:​apredescu:​schema_electrica_oef.png?​700 |}}
 ===== Software design ===== ===== Software design =====
 +Partea software am dezvoltat-o in Arduino IDE, folosindu-ma si de librariile Keypad.h de la Mark Stanley si Alexander Brevig, LiquidCrystal_I2C.h de la Frank de Brabander si libraria oficiala EEPROM.h - link-urile sunt incluse in bibliografie.
  
 +Pentru a salva o parola m-am folosit de memoria EEPROM. Prima data am initializat o parola demo si apoi am comentat liniile de initializare pentru ca alta data cand incarc programul sa nu se mai reinitializeze parola ci sa ramana salvata ultima parola salvata. In functia initialPassword se citeste ultima parola salvata in memorie - functie apelata in setup() pentru a avea tot parola atunci cand pornim proiectul.
 +
 +In functia change() am implementat o logica pentru modificarea parolei. Aceasta functie este apelata daca este apasat butonul '#'​ fara a fi introdus alt caracter. In change se verifica mai intai daca se cunoaste parola curenta, iar daca aceasta este introdusa corect poate fi introdusa si parola noua care apoi suprascrie in memorie parola veche.
 +
 +In functia setup() este initializat pin-ul care controleaza releul, este pornit display-ul si este citita parola din memorie.
 +
 +In functia loop() sunt asteptate 4 caractere. Atunci cand au fost introduse cele 4 caractere se verifica daca parola introdusa corespunde cu parola salvata. Daca da este trimis semnalul low pe pin-ul care controleaza releul si astfel se comuta intrerupatorul si se deschide incuietoarea.
 +Daca parola este gresita se trimite in continuarea HIGH pe acel pin pentru a nu deschide incuietoarea. Dupa ce au fost introduse 4 caractere si a fost facuta verificarea se reinitializeaza variabilele si se asteapta o noua parola.
 ===== Rezultate obtinute ===== ===== Rezultate obtinute =====
 +Video: [[https://​www.youtube.com/​watch?​v=X3xlJoSMueY|Demo]]
  
-===== Concluzii =====+{{ :​pm:​prj2021:​apredescu:​20210604_190535.jpg?​500 |}}
  
-===== Download =====+{{ :​pm:​prj2021:​apredescu:​20210604_190607.jpg?​500 |}}
  
 +{{ :​pm:​prj2021:​apredescu:​20210604_190554.jpg?​500 |}}
  
 +{{ :​pm:​prj2021:​apredescu:​20210604_190612.jpg?​500 |}}
 +
 +
 +===== Concluzii =====
 +Acest proiect a fost o modalitate de a expune cunostintele dobandite pe parcursul semestrului intr-un mod fun si la alegerea noastra. Per total mi-a placut ideea si proiectul in sine si simt ca am aprofundat mai bine ceea ce am invatat si am sedimentat informatiile.
 +===== Download =====
 +
 +{{pm:​prj2021:​apredescu:​keypad_door_lock:​olteanueduardflorin_doorlock.zip|Arhiva}}
 ===== Bibliografie/​resurse ===== ===== Bibliografie/​resurse =====
 +[[https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​apredescu/​keypad_door_lock?​do=export_pdf|PDF]]
 +
 +https://​ocw.cs.pub.ro/​courses/​pm
 +
 +https://​www.youtube.com/​watch?​v=xVC0X_PE_XE&​t=152s
 +
 +https://​github.com/​fdebrabander/​Arduino-LiquidCrystal-I2C-library
 +
 +https://​playground.arduino.cc/​Code/​Keypad/#​Download
  
 +https://​forum.arduino.cc/​t/​official-eeprom-library-support-and-reference/​301775
pm/prj2021/apredescu/keypad_door_lock.1622819835.txt.gz · Last modified: 2021/06/04 18:17 by eduard.olteanu1505
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