This shows you the differences between two versions of the page.
pm:prj2021:alazar:bluetooth_door_lock [2021/05/27 22:15] irina.popescu0706 changed to interruption bluetooth |
pm:prj2021:alazar:bluetooth_door_lock [2021/05/30 01:09] (current) irina.popescu0706 demo |
||
---|---|---|---|
Line 137: | Line 137: | ||
**ISR(USART_RX_vect)** | **ISR(USART_RX_vect)** | ||
- | Rutina de tratare a interuperii USART pentru bluetooth. Retin byte-ul primit, si setez variabila //recv_bluetooth// pe 1, asta insemnand ca am primit date de la telefon. | + | Rutina de tratare a interuperii USART pentru bluetooth. Retin byte-ul primit prin //URD0//, si setez variabila //recv_bluetooth// pe 1, asta insemnand ca am primit date de la telefon. |
<note important> | <note important> | ||
Line 151: | Line 151: | ||
In rutina de intrerupere doar am setat variabila //recv_bluetooth// pentru ca lock()/unlock() contin **delay** si nu e bine sa ai delay in interuperi. | In rutina de intrerupere doar am setat variabila //recv_bluetooth// pentru ca lock()/unlock() contin **delay** si nu e bine sa ai delay in interuperi. | ||
</note> | </note> | ||
+ | |||
+ | **Functionare:** | ||
+ | |||
+ | Prin RFID, cand se citeste tag-ul bun, automat se da lock(daca starea anterioara a fost unlock), sau unlock(daca starea anterioara a fost lock). Prin bluetooth(folosindu-se de o aplicatie de mobil pe Android), se poate alege daca se doreste lock sau unlock. | ||
+ | |||
+ | <note> | ||
+ | La bluetooth, daca se da lock, desi usa este locked, nu se intampla nimic. (la fel si pentru unlock). | ||
+ | </note> | ||
+ | |||
+ | <note> | ||
+ | Se retine starea usii printr-o varabila cu valorile posibile **0(unlocked)** sau **1(locked)**. | ||
+ | </note> | ||
+ | |||
+ | Indiferent daca s-a dat lock/unlock prin RFID sau bluetooth, se apeleaza aceeasi **rutina** pentru pornit led-ul, buzzer-ul si servo motorul. | ||
+ | |||
+ | **Aplicatia de mobil pentru comunicarea cu modulul de bluetooth** | ||
+ | |||
+ | Am folosit [[https://appinventor.mit.edu/|MIT App Inventor]] pentru a crea aplicatia de mobil ce comunica cu modulul de bluetooth. | ||
+ | |||
+ | Partea de frontend: | ||
+ | |||
+ | {{ :pm:prj2021:alazar:frontend-ip.png?300 |}} | ||
+ | |||
+ | Partea de backend: | ||
+ | |||
+ | {{ :pm:prj2021:alazar:backend-ip.png?800 |}} | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | TODO | + | |
+ | |||
+ | Asa arata proiectul, cu toate componentele: | ||
+ | |||
+ | {{ :pm:prj2021:alazar:bluetooth_lock_pi_poza1.jpeg?600 |}} | ||
+ | |||
+ | {{ :pm:prj2021:alazar:bluetooth_lock_pi_poza2.jpeg?600 |}} | ||
+ | |||
+ | |||
+ | Demo-ul care arata cum functioneaza proiectul:[[https://drive.google.com/file/d/1-a-eM0CwmazW_RFdytdrfh9KYTh73WLN/view?usp=sharing|demo]] | ||
+ | |||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | TODO | + | |
+ | **REUSITE** | ||
+ | |||
+ | * Am reusit sa implementez tot ce mi-am propus, si a iesit exact cum mi-am dorit. | ||
+ | * Am reusit sa fac o aplicatie de mobil functionala. | ||
+ | |||
+ | **PROBLEME INTAMPINATE** | ||
+ | |||
+ | * Am avut probleme la a face interuperea pentru USART pentru bluetooth. In rutina de interuperea apelam si lock()/unlock(), care contin **delay()**, si din cauza asta, nu se executau corect. | ||
+ | * Nu am reusit inca sa fac un log in care sa retin pe aplicatia de mobil cand s-a deschis/inchis usa mereu. Am creat o baza de date in aplicatie, dar nu le afisez inca cum vreau eu. | ||
+ | |||
+ | **CE AM INVATAT DIN PROIECT?** | ||
+ | |||
+ | * Am invatat sa folosesc modulul de bluetooth, si in acelasi timp, am inteles mai bine cum se face o intrerupere. | ||
+ | * Am invatat sa citesc mai bine datasheet-ul pentru placa Arduino UNO. | ||
+ | * Am invatat sa fac o logica pentru un proiect pe Arduino ce contine mai multe module. | ||
+ | |||
===== Download ===== | ===== Download ===== | ||
- | TODO | + | |
+ | Arhiva cu codul sursa si README este: {{:pm:prj2021:alazar:bluetooth_rfid_door_lock_popescu_irina-elena_331cb.zip|arhiva_cod}} | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
* 25.04.2021: am ales proiectul si am creat pagina. | * 25.04.2021: am ales proiectul si am creat pagina. | ||
* 03.05.2021 - 26.05.2021: lucrat la proiect. | * 03.05.2021 - 26.05.2021: lucrat la proiect. | ||
* 26.05.2021: update la pagina + adaugat schema electrica. | * 26.05.2021: update la pagina + adaugat schema electrica. | ||
- | * 27.05.2021: modificat functiile din software design. | + | * 27.05.2021: modificat functiile din software design + concluzii. |
+ | * 30.05.2021: adaugat link demo + arhiva cod + bibliografie | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">PDF</a></html> | + | * [[https://ocw.cs.pub.ro/courses/pm/lab/lab0-2021|PM-laborator 0]] - scrieri/citiri digitale |
+ | * [[https://ocw.cs.pub.ro/courses/pm/lab/lab1-2021|PM-laborator 1]] - Intrerupere | ||
+ | * [[https://ocw.cs.pub.ro/courses/pm/lab/lab2-2021|PM-laborator 2]] - USART | ||
+ | * [[https://ocw.cs.pub.ro/courses/pm/lab/lab3-2021|PM-laborator 3]] - PMW - led RGB, servomotor | ||
+ | * [[https://create.arduino.cc/projecthub/muhammad-aqib/arduino-rgb-led-tutorial-fc003e|LED RGB]] | ||
+ | * [[https://create.arduino.cc/projecthub/SURYATEJA/use-a-buzzer-module-piezo-speaker-using-arduino-uno-89df45|BUZZER]] | ||
+ | * [[https://www.instructables.com/Arduino-Servo-Motors/|Servomotor]] | ||
+ | * [[https://randomnerdtutorials.com/security-access-using-mfrc522-rfid-reader-with-arduino/|RFID]] | ||
+ | * [[https://howtomechatronics.com/tutorials/arduino/arduino-and-hc-05-bluetooth-module-tutorial/|Bluetooth HC-05]] | ||
+ | * <html><a class="media mediafile mf_pdf" href="?do=export_pdf">PDF</a></html> |