This shows you the differences between two versions of the page.
pm:prj2022:agmocanu:incuietoare_cu_alarma [2022/05/25 20:01] mihai.calitescu [Software Design] |
pm:prj2022:agmocanu:incuietoare_cu_alarma [2022/05/27 19:34] (current) mihai.calitescu [Bibliografie/Resurse] |
||
---|---|---|---|
Line 33: | Line 33: | ||
* Senzor umiditate si temperatura | * Senzor umiditate si temperatura | ||
</note> | </note> | ||
- | {{:pm:prj2022:agmocanu:schema_electrica.png?700|}} | ||
- | ===== Software Design ===== | ||
+ | Schema electrica: | ||
+ | |||
+ | {{:pm:prj2022:agmocanu:mcalitescu_electric_scheme_project.png?link&800|}} | ||
+ | ===== Software Design ===== | ||
- | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | ||
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | ||
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | ||
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | ||
- | * (etapa 3) surse şi funcţii implementate | ||
- | </note> | ||
Am folosit Arduino IDE (TODO Link) pentru a scrie programul. Bibliotecile folosite sunt: | Am folosit Arduino IDE (TODO Link) pentru a scrie programul. Bibliotecile folosite sunt: | ||
Line 113: | Line 108: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | {{:pm:prj2022:agmocanu:mcalitescu_proiect_demo_5.jpeg?nolink&700|}} |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
+ | {{:pm:prj2022:agmocanu:mcalitescu_proiect_demo_1.jpeg?nolink&700|}} | ||
+ | |||
+ | {{:pm:prj2022:agmocanu:mcalitescu_proiect_demo_3.jpeg?nolink&700|}} | ||
+ | |||
+ | {{:pm:prj2022:agmocanu:mcalitescu_proiect_demo_2.jpeg?nolink&700|}} | ||
+ | |||
+ | {{:pm:prj2022:agmocanu:proiect_demo_4.jpeg?nolink&700|}} | ||
+ | |||
+ | <note> | ||
+ | * **[[https://www.youtube.com/watch?v=jRzkSxEq-so|Youtube DEMO]]** | ||
+ | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Am vazut cate feature-uri aditionale poate sa aiba o simpla alarma, plecand de la ideea de o alarma simple cu keypad si buzzer am ajuns sa introduc feature-uri precum: senzor de temperatura pentru detectia persoanei care deblocheaza alarma, timout la introducerea parolei, timeout la detectia persoanei, etc. | ||
+ | |||
+ | Totusi, aceste feature-uri vin cu diferite trade-off uri si requirement-uri, spre exemplu: | ||
+ | * incercand sa introduc feature-ul de timeout, folosind un timer de pe arduino (unul din cele 3 puse la dispozitie) am ales prima data timer-ul 1, insa ceva nu functiona, astfel am vazut ca biblioteca de servo foloseste acest timer pentru anumite functionalitati. Incercand apoi timer0 am vazut ca senzorul de temperatura DHT11 nu merge, afland dupa debug ca biblioteca de DHT foloseste timer 0. Am ajuns astfel sa folosesc timer2 pentru functia de timeout si am luat valorile de prescaling din datasheet-ul **ATmega328P** | ||
+ | * am facut eforturi la nivelul hardware pentru a lega bratul servomotorului de mai mult betisoare de cafea de la 5 To Go-ul din fata facultatii astfel incat sa se deschida capacul unei cutii. | ||
+ | * senzorul DHT11 este destul de inconsistent, se incalzeste greu la temperatura dorita si are pinii foarte subitiri si fragili. Pentru ca incuietoarea sa fie reliable ar fi necesar un senzor mai performant, mai precis, mai sensibil la temperatura. | ||
+ | |||
+ | Proiectul a fost interesant de realizat si a fost un challenge atat la nivel software si la nivel hardware, am invatat skill-uri noi precum lipire pinilor: am lipit singur (si cu ajutorul laborantului) un driver I2C de un LCD | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | <note> |
- | 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ă ;-). | + | O arhiva cu codul proiectului poate fi descarcata la acest link {{:pm:prj2022:agmocanu:calitescu_mihai-gabriel_331cb_proiect.zip|}} |
- | 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**. | + | De asemenea codul proiectului poate fi vazut si pe [[https://github.com/mihaigabriel18/PM-Labs/tree/master/Proiect/project|github]] |
</note> | </note> | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | + | * 2 - 6 Mai |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
- | </note> | + | |
+ | Alegerea tema proiect si dat comanda de piese, asigurat ca piesele primite functioneaza | ||
+ | |||
+ | * 9 - 13 Mai | ||
+ | |||
+ | Conturarea proiectului, a workflow-ului alarmei si a requirement-urilor software pentru fiecare componenta in parte | ||
+ | |||
+ | * 16 - 20 Mai | ||
+ | |||
+ | Lipire piese, asamblare hardware, punerea proiectului in cutie si fixarea lui | ||
+ | |||
+ | * 23-27 | ||
+ | |||
+ | Implementarea alarmei in software si terminarea proiectului | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | * [[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheet]] |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * [[https://ocw.cs.pub.ro/courses/pm/lab/lab2-2022|Lab 2 - Timere]] |
- | </note> | + | * [[https://ocw.cs.pub.ro/courses/pm/lab/lab3-2022|Lab 3 - Servo]] |
+ | * [[https://create.arduino.cc/projecthub/pibots555/how-to-connect-dht11-sensor-with-arduino-uno-f4d239|Folosire senzor DHT11]] | ||
+ | * [[https://create.arduino.cc/projecthub/Arnov_Sharma_makes/lcd-i2c-tutorial-664e5a|Conectare LCD I2C]] | ||
+ | * [[https://www.instructables.com/ACTIVE-BUZZER-WITH-ARDUINO-UNO-R3/#:~:text=As%20a%20type%20of%20electronic,electronic%20products%20for%20voice%20devices.|Folosire buzzer activ]] | ||
+ | * [[https://circuitdigest.com/microcontroller-projects/arduino-timer-tutorial#:~:text=A%20timer%20uses%20counter%20which,for%20every%2062%20nano%20second.| Timer in Arduino]] | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||
+ | |||