Differences

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

Link to this comparison view

pm:prj2024:mdinica:mihaela.stefan1411 [2024/05/23 19:11]
mihaela.stefan1411 [Software Design]
pm:prj2024:mdinica:mihaela.stefan1411 [2024/05/27 16:23] (current)
mihaela.stefan1411 [Rezultate Obţinute]
Line 65: Line 65:
 ===== Software Design ===== ===== Software Design =====
  
-Link pentru repo-ul de GitHub: [[https://​github.com/​stefanmihaela14/​PM_Project|GitHub]] ​+**Link pentru repo-ul de GitHub**: [[https://​github.com/​stefanmihaela14/​PM_Project|GitHub]] ​
  
-Mediu de dezvoltare: Arduino IDE+**Mediu de dezvoltare:** Arduino IDE
  
-Biblioteci utilizate:​LiquidCrystal_I2C.h (pentru LCD-ul cu I2C), DHT.h (pentru senzorul de temperatura DHT11)+**Biblioteci utilizate:** LiquidCrystal_I2C.h (pentru LCD-ul cu I2C), DHT.h (pentru senzorul de temperatura DHT11)
  
-Software design:+**Software design:**
  
 Codul se afla in fisierul proiect.ino si contine implementarea pentru jocurile de lumini si afisarea datelor pe LCD de la senzorul de temperatura si  Codul se afla in fisierul proiect.ino si contine implementarea pentru jocurile de lumini si afisarea datelor pe LCD de la senzorul de temperatura si 
 a datelor suplimentare pentru ceas si alarma. ​ a datelor suplimentare pentru ceas si alarma. ​
  
-Funcția de setup se ocupă cu inițializarea componentelor (Led-uri, ecran LCD si senzor).+Funcția de **setup** se ocupă cu inițializarea componentelor (Led-uri, ecran LCD si senzor).
  
-Pentru jocurile de lumini am cate o functie pentru fiecare. Primele doua jocuri de lumini sunt prestabilite (primul un '​trenulet'​ de lumini si al doilea consta in schimbarea led-urilor simultan intr-o culoare), al treilea este in functie de temperatura camerei: **albastru** pentru temperaturi de mai putin de 20 de grade Celsius, **galben** pentru temperaturi intre 20 si 30 de grade Celsius si **rosu** pentru temperaturi mai mari de 30 de grade Celsius.+Pentru ​**jocurile de lumini** am cate o functie pentru fiecare. Primele doua jocuri de lumini sunt prestabilite (primul un '​trenulet'​ de lumini si al doilea consta in schimbarea led-urilor simultan intr-o culoare), al treilea este in functie de temperatura camerei: **albastru** pentru temperaturi de mai putin de 20 de grade Celsius, **galben** pentru temperaturi intre 20 si 30 de grade Celsius si **rosu** pentru temperaturi mai mari de 30 de grade Celsius. Am folosit millis() in loc de intreruperi pentru a evita evetualele blocaje cand comunic cu LCD-ul si senzorul. Mai exista functii ajutatoare pentru jcourile de lumini: **setLEDColor** pentru a facilita selectarea led-ului pe care dorim sa il aprindem si culoarea acestuia si o **matrice** in care am definit cateva culori.
  
-<note tip> +Pentru **afisarea datelor pe ecranul LCD** am o functie ajutatoare care preia inputul de la utilizator prin seriala. Am initializat ceasul sa porneasca de la 0:0:0, iar utilizatorul poate sa dea urmatoarele comenzi: 
-Descrierea codului aplicaţiei (firmware)+ 
-  * mediu de dezvoltare (if any) (e.g. AVR StudioCodeVisionAVR) +  * Co:m:s -> C urmat de ora:​minut:​secundapentru a seta ora actuala a ceasului. 
-  * librării şi surse 3rd-party (e.gProcyon AVRlib) +  * Ao:​m:​s ​-> A urmat de ora:​minut:​secunda,​ pentru a seta alarma la ora doritaAceasta se va afisa pe ecran pe al doilea rand
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +  * Mnr_mod -> M urmart de numarul modului pentru jocul de lumini. 
-  * (etapa 3surse şi funcţii implementate +  * S -> pentru a opri alarma ​(daca nu este oprita de utilizator, alarma se va opri dupa 60 de secunde). 
-</note>+  * R -pentru a reseta alarma (o sa dispara si de pe ecran alarma). 
 + 
 +Codul pentru ceas l-am facut in loop si tot aici citesc temoeratura de la senzor folosind biblioteca DHT.h 
 + 
 +Pe ecran se afiseaza ora curenta pe primul rand in stanga, temperatura pe primul rand in dreapta si alarma pe al doilea rand. 
 + 
 +{{:​pm:​prj2024:​mdinica:​whatsapp_image_2024-05-23_at_22.19.17.jpeg?​600|}}
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +Videoclip prezentare proiect: [[https://​youtu.be/apXpaFeYXEU|Video Proiect PM]]
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +
-</note>+
  
-===== Concluzii =====+Ceasul respecta planul inintial pentru hardware. Carcasa de plexiglas este formata din doua bucati, in partea inferioara se afla arduino-ul, in partea superioara breadboard-ul cu senzorul de temepratura si LED-urile, iar pe carcasa este ecranul LCD.
  
-===== Download =====+{{:​pm:​prj2024:​mdinica:​carcasa_ceas1.jpeg?​300|}} 
 +{{:​pm:​prj2024:​mdinica:​carcasa_ceas2.jpeg?​300|}}
  
-<note warning>​ +Senzorul de temperatura,​ desi scria ca este DHT11 nu functiona utilizand biblioteca pentru eldar a mers folosindu-l ca fiind DHT22Temperatura are o marja de eroare destul de mareposibil ​un defect din fabricadar tinand cont ca nu trebuia sa fie exacta nu a reprezentat ​un impediment.
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului:​ sursescheme, etcUn 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**. +Se pot adauga din cod noi jocuri de lumini sau se poate extinde codul pentru a lasa utilizatorul sa isi creeze propriile jocuri ​de lumini.
-</​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>​+===== Concluzii ===== 
 + 
 +Am folosit laboratoarele:​ 1.UART (pentru comunicarea cu laptop-ul), 2.Intreruperi (am folosit intreruperi pentru a realiza ceasul), 6.I2C (pentru LCD-ul cu I2C). 
 + 
 +A fost interesant ​de implementat atat partea software, cat si cea hardware. A durat putin pana am facut schita carcasei ca sa pot sa trag toate firele necesare de la arduinio la breadboard si la lcd, montajul electric nu a durat foarte mult pentru ca am urmat schema electrica. Codul ar putea fi imbunatatit cu o modalitate prin care utilizatorii sa isi poate crea singuri propeiile jocuri ​de lumini fara sa fie necesar sa se modifice codul
 +===== Download ===== 
 + 
 +Arhiva proiect: {{:​pm:​prj2024:​mdinica:​proiect_pm_ms.zip|}}
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +**Resurse ​folosite:** 
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse ​Software** şi **Resurse Hardware**. +  ​[[https://​www.ti.com/​lit/​ds/​symlink/​cd4094b.pdf|Datasheet 8-bit register shifter]] 
-</note>+  * [[https://​docs.arduino.cc/​tutorials/​communication/​guide-to-shift-out/​|Tutorial shift-and-store bus register]]
  
 <​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>​
  
  
pm/prj2024/mdinica/mihaela.stefan1411.1716480674.txt.gz · Last modified: 2024/05/23 19:11 by mihaela.stefan1411
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