Differences

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

Link to this comparison view

pm:prj2022:abirlica:vsmart_lock [2022/05/17 17:22]
adrian_vasile.pop [Descriere generală]
pm:prj2022:abirlica:vsmart_lock [2022/06/01 23:15] (current)
adrian_vasile.pop [Smart Lock with Wi-fi Code Validation or Keypad]
Line 1: Line 1:
 ====== Smart Lock with Wi-fi Code Validation or Keypad ====== ====== Smart Lock with Wi-fi Code Validation or Keypad ======
 +
 +Adrian-Vasile Pop
 +332CB
 ===== Introducere ===== ===== Introducere =====
 Încuietoarea inteligentă propusă va rezolva o problemă primară din afacerea de „home-sharing” sau a închirierii pe termen scurt, anume deschiderea ușii doar pentru cine este în posesia unui cod de acces. Se va folosi de o interfață grafică pentru a se putea deschide la introducerea unui cod bun sau de un keypad. Această încuietoare va rezolva problema pe care o întâmpin în momentul de față la afacerea proprie, de închiriat garsoniere în regim hotelier, problema automatizării accesului în garsoniere. O va putea folosi oricine dorește să permită accesul într-o încăpere doar celor care cunosc codul. Încuietoarea inteligentă propusă va rezolva o problemă primară din afacerea de „home-sharing” sau a închirierii pe termen scurt, anume deschiderea ușii doar pentru cine este în posesia unui cod de acces. Se va folosi de o interfață grafică pentru a se putea deschide la introducerea unui cod bun sau de un keypad. Această încuietoare va rezolva problema pe care o întâmpin în momentul de față la afacerea proprie, de închiriat garsoniere în regim hotelier, problema automatizării accesului în garsoniere. O va putea folosi oricine dorește să permită accesul într-o încăpere doar celor care cunosc codul.
Line 7: Line 10:
 {{smart_lock_components.jpg}} {{smart_lock_components.jpg}}
  
-Placa Aduino va aștepta input de la telefon prin modulul ESP8266 sau de la keypad+Varianta prezentată este un prototip realizat într-o cutie, iar varianta practică care ar putea fi implementată într-un caz real s-ar folosi de aceleași resurse software, dar de resurse hardware diferite, anume un motor care să acționeze asupra mecanismului ​de deschidere/​închidere al unei uși
-La introducerea codului pe keypad se va afișa pe ecranul ​LED cifrele introduse, iar în cazul în care se intoduce codul corect, se va afișa un mesaj afirmativ ​și se va acționa asupra buzzer-ului. În cazul unui cod greșit se va afișa ​un mesaj corespunzător și se va acționa asupra buzzer-ului rezultând ​un sunet diferit față de cel pentru ​cazul afirmativ+Utilizatorul va interacționa cu un keypad ​care este pe cutie sau aplicația RemoteXY prin care se poate introduce codul de acces. 
-La introducerea codului ​pe telefon, se primește codul, se verifică corectitudinea lui, iar în cazul în care codul este corect ​se va afișa ​un mesaj afirmativ ​și se va acționa asupra buzzer-ului. În cazul unui cod greșit ​se va afișa ​un mesaj corespunzător și se va acționa asupra buzzer-ului rezultând un sunet diferit față de cel pentru cazul afirmativ. +În cazul unui cod corect, ​se va afișa pe ecranul ​LCD mesajul „Acces permis!”, iar în cazul aplicației ​se mai afișează mesajul „Corect!” ​și se aude un sunet pentru confirmare. 
-În ambele cazuri de input, placa Arduino va acționa servomotorul care va închide/​deschide încuietoarea.+În cazul unui cod greșitse va afișa ​pe ecranul LCD mesajul „Incorect!”,​ iar în cazul aplicației se mai afișează mesajul „Greșit!” ​și se aude un sunet pentru ​infirmare
 +La apăsarea oricărei taste de pe keypad ​se va auzi un sunet și se va afișa ​pe ecranul LCD caracterul introdus.
  
 ===== Hardware Design ===== ===== Hardware Design =====
 +
 +Listă piese:
 +  * Arduino UNO
 +  * Breadboard
 +  * Baterie 9V cu DC jack
 +  * 4x4 Keypad
 +  * Sg90 Servo Motor
 +  * Modul ESP8266 Serial Port
 +  * LCD Display 1602 + adaptor I2C
 +  * Buzzer Pasiv
  
 {{ electic_scheme.png}} {{ electic_scheme.png}}
Line 18: Line 32:
 ===== Software Design ===== ===== Software Design =====
  
 +{{ software_scheme.jpg}}
  
-<note tip> +**Mediu de dezvoltare**:​ Arduino IDE 
-Descrierea codului aplicaţiei (firmware)+**Librării**:  
-  * mediu de dezvoltare ​(if any) (e.gAVR StudioCodeVisionAVR) +  * LiquidCrystal_I2C.h 
-  * librării şsurse 3rd-party (e.g. Procyon AVRlib+  * Wire.h 
-  algoritmi şstructuri ​pe care plănuiţi ​să le implementaţi +  * Keypad.h 
-  * (etapa 3surse şfuncţii implementate +  * Servo.h 
-</​note>​+  * RemoteXY.h 
 + 
 +**Design**\\ 
 +**void setup()** -> se inițializează tot ce ține de aplicație(ESP-ul devine un Wi-fi Access Point)Se copiază informația corespunzătoare în string-urile care vor fi afișate în aplicațieSe inițializează lcd-ulse activează lumina de fundal a acesuia șservo-motor-ul.\\ 
 +**void clearData()** -> se șterg toate informațiile din string-ul care se ocupă cu procesarea codului introdus de utilizator.\\ 
 +**void loop()** -> se rețin caracterele introduse prin keypad șse afișează ​pe lcd, emițând un semnal către buzzed după fiecare caracter. Odată ce s-au introdus un număr de caractere egal cu numarul de caractere al parolei, se verifică dacă caracterele introduse sunt aceleașcu caracterele parolei, iar în caz afirmativ se acționează asupra servo-motor-ului,​ se afișează pe LCD și se redau sunete specifice. În cazul aplicației,​ dacă se introduce un cod corect, se afișează în aplicație un mesaj afirmativ, se resetează câmpul de introducere al parolei, se afișează pe ecranul LCD, se acționează asupra servo-motor-ului și se redau sunete specifice. În ambele cazuri servo-motor-ul revine la poziția de închidere(inițială). În cazul în care nu se introduce un cod corect, se afișează un mesaj corespunzător șse redau sunete specifice.
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +{{app_initial.jpg?​50}} 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+{{lock_insert.jpg?50}} 
-</​note>​ +{{app_correct.jpg?​50}} 
 +{{lock_open.jpg?​50}} 
 +{{lock_insert_incorrect.jpg?​50}} 
 +{{lock_incorrect.jpg?​50}} 
 +{{app_incorect.jpg?​50}}
 ===== Concluzii ===== ===== Concluzii =====
  
 +Am implementat tot ce mi-am propus inițial. Implementarea software a fost greoaie datorită modulului ESP8266 care a jucat rolul unui Wi-fi Acces Point care nu genera rețeaua Wi-fi doar câteodată. ​
 ===== Download ===== ===== Download =====
  
-<note warning>​ +{{adrian-vasilepop_332cb_smartlock.rar}}
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului:​ surse, 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 ===== +
- +
-<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 ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +**ATmega328P**: https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf\\ 
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +**LiquidCrystal_I2C.h**: https://​github.com/johnrickman/​LiquidCrystal_I2C\\ 
-</note> +**ESP8266**:​ https://​www.youtube.com/​watch?​v=KCGlOvU8M3E&​ab_channel=DPVTECHNOLOGY\\ 
- +**LCD LCD1602 with I2C module**: https://​www.youtube.com/​watch?v=q9YC_GVHy5A\\ 
-<​html><​a class="media mediafile mf_pdf"​ href="?do=export_pdf">​Export ​to PDF</a></html> +**Servo Motor**: https://​www.youtube.com/​watch?​v=xrIiKqvm8hQ&​ab_channel=Robojax\\ 
 +**Buzzer Songs**: https://​www.programmingelectronics.com/​an-easy-way-to-make-noise-with-arduino-using-tone/\\ 
 +**RemoteXY**:​ https://​remotexy.com/​\\ 
 +**Keypad**: https://​playground.arduino.cc/​Code/​Keypad/​\\
pm/prj2022/abirlica/vsmart_lock.1652797335.txt.gz · Last modified: 2022/05/17 17:22 by adrian_vasile.pop
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