Differences

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

Link to this comparison view

pm:prj2024:aungureanu:constantin.croicia [2024/05/26 14:11]
constantin.croicia [Descriere generală]
pm:prj2024:aungureanu:constantin.croicia [2024/05/26 14:52] (current)
constantin.croicia [Download]
Line 21: Line 21:
  
   * Arduino UNO R3   * Arduino UNO R3
-  * Senzori Temperatura + Umiditate ​+ Luminozitate +  * Senzori Temperatura + Umiditate (ala de luminozitate mi-a venit stricat cu 3 zile inainte de PM Fair...)
-  * Modul Wi-Fi (To be decided)+
   * Butoane   * Butoane
-  * LED/Afisaj LCD+  * Afisaj LCD 
 +  * Buzzer 
 +  * Rezistente 1K
   * Fire (Tata-Tata, Mama-Tata)   * Fire (Tata-Tata, Mama-Tata)
  
 Schema proiectului:​ Schema proiectului:​
  
-{{ pm:​prj2024:​aungureanu:​proiectarecroiciarares.jpeg  }}+{{ pm:​prj2024:​aungureanu:​schema_electrica_croicia.jpg  }}
  
 ===== Software Design ===== ===== Software Design =====
  
 +** Mediu de dezvoltare folosit**
 +  * **Arduino IDE**: Dezvoltarea codului pentru arduino
 +  * **VS Code**: Dezvoltarea codului pentru aplicatia Web
 +  * **dht11.h**:​ Am folosit aceasta [[https://​github.com/​adidax/​dht11|biblioteca]] pentru ca avea deja implementata citirea datelor de pe senzor
 +  * **LiquidCrystal_I2C.h**:​ Am folosit biblioteca existenta in library manager-ul de la Arduino pentru a folosi implementarea oficiala pentru output pe LCD.
 +
 +** Detalii de implementare **
 +
 +  * Pentru LCD am folosit un modul I2C pentru a fi mai usor de comunicat pe placuta.
 +  * Exista 2 intreruperi legate la cele doua butoane, cand un buton este apasat, intervalul la care se trimit date scade sau creste cu 10 secunde.
 +  * Buzzer-ul scoate sunet la fiecare apasare de buton sau cand se trimit date.
 +  * Exista un timer bazat pe functia millis() care la fiecare secunda updateaza variabila de timp si verifica daca trebuie sa trimita date
 +  * Datele se trimit serial prin cablul USB, existand un mic protocol prin care se trimit datele.
 +  * Datele sunt incapsulate astfel:
 +    * Sirul Begin care spune ca incepe mesajul
 +    * un numar care reprezinta temperatura in grade Celsius
 +    * Good/Bad in functie de temperatura
 +    * un numar care reprezinta nivelul de umiditate din zona
 +    * Good/Bad in functie de umiditate
 +    * Sirul End care spune ca s-a terminat mesajul.
 +    * Mai departe este treaba aplicatiei din celalalt end sa gestioneze parsarea acestor date si folosirea lor.
 +  * Senzorul citeste date o data la cat este intervalul. Initial acesta e 5 secunde pentru a fi usor la debug, intr-un mediu de productie ar varia acest numar.
 +
 +** Laboaratoare folosite **
 +  * Intreruperi - Pentru butoane
 +  * SPI - Pentru trimiterea datelor Serial
 +  * I2C - LCD
 +  * Timere - Timerul variabil
  
-<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>​ 
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
Line 49: Line 71:
  
 ===== Concluzii ===== ===== Concluzii =====
 +
 +Cam [[https://​imgur.com/​a/​W7H7Xbe|asa]] arata!
 +Uite si un [[https://​youtube.com/​shorts/​akxlRMO4TzU?​feature=share|video]]!
 +
  
 ===== Download ===== ===== Download =====
 +
 +Proiectul se poate descarca apasand [[https://​github.com/​RaresCroicia/​PM/​archive/​refs/​heads/​main.zip|aici]].
 +Poate fi vizualizat pe [[https://​github.com/​RaresCroicia/​PM/​|repo]].
  
 <note warning> <note warning>
pm/prj2024/aungureanu/constantin.croicia.1716721895.txt.gz · Last modified: 2024/05/26 14:11 by constantin.croicia
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