Differences

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

Link to this comparison view

pm:prj2024:fstancu:justin.popescu1605 [2024/05/23 02:09]
justin.popescu1605 [Descriere Generală]
pm:prj2024:fstancu:justin.popescu1605 [2024/05/27 09:34] (current)
justin.popescu1605 [Hardware Design]
Line 34: Line 34:
 Sistemul folosește **Node-RED** pentru a gestiona logica și fluxul datelor între dispozitive. Acest instrument de programare conectează dispozitivele hardware. L-am ales pentru facilitățile pe care le oferă ca editor bazat pe browser pentru conectarea fluxurilor folosind noduri, care pot fi implementate în timpul execuției. Sistemul folosește **Node-RED** pentru a gestiona logica și fluxul datelor între dispozitive. Acest instrument de programare conectează dispozitivele hardware. L-am ales pentru facilitățile pe care le oferă ca editor bazat pe browser pentru conectarea fluxurilor folosind noduri, care pot fi implementate în timpul execuției.
  
-{{ :​pm:​prj2024:​fstancu:​casamonitor_descriere.jpg?​direct&​400 |}}+{{ :​pm:​prj2024:​fstancu:​casa_monitor.png?​direct&​400 |}}
  
 <note tip> <note tip>
Line 69: Line 69:
 === Schema Electrică === === Schema Electrică ===
  
 +<note important>​
 Pentru a fi mai ușor de urmărit cablajul, am încercat să realizez un design cât mai modular cu putință pentru fiecare modul: de la sursa de alimentare, la senzori și **µC**. În plus, pentru a clarifica modul în care se vor distribui voltajele, întregul sistem va deveni mult mai accesibil pentru modificările ulterioare. Pentru a fi mai ușor de urmărit cablajul, am încercat să realizez un design cât mai modular cu putință pentru fiecare modul: de la sursa de alimentare, la senzori și **µC**. În plus, pentru a clarifica modul în care se vor distribui voltajele, întregul sistem va deveni mult mai accesibil pentru modificările ulterioare.
  
-Toți **senzorii** vor fi alimentați la **12V** de la sursa de tensiune, comparativ cu **µC**, care va fi conectat la laptop prin USB, de unde primește **5V**.+Toți **senzorii** vor fi alimentați la **12V** de la **sursa de tensiune**, comparativ cu **µC**, care va fi conectat la laptop prin **USB**, de unde primește **5V**. 
 +</​note>​
  
-{{ :​pm:​prj2024:​fstancu:​casamonitor_schematic.jpg?​direct&​800 |}}+{{ :​pm:​prj2024:​fstancu:​casamonitor_schematic.jpg?​direct&​700 |}}
  
 <note important>​ <note important>​
Line 81: Line 83:
 === Lista de Piese === === Lista de Piese ===
  
 +<note tip>
 ^ Nume Componenta ​                     ^ Preț        ^ Site Cumparare ​                                                                     ^ ^ Nume Componenta ​                     ^ Preț        ^ Site Cumparare ​                                                                     ^
 | Arduino UNO R3 ATmega328P ​           | 30,76 RON   | [[https://​www.sigmanortec.ro/​Placa-dezvoltare-UNO-R3-Arduino-compatibil-AtMega328p-CH340G-MiniUSB-p125132518|Arduino (SigmaNortec)]] ​  | | Arduino UNO R3 ATmega328P ​           | 30,76 RON   | [[https://​www.sigmanortec.ro/​Placa-dezvoltare-UNO-R3-Arduino-compatibil-AtMega328p-CH340G-MiniUSB-p125132518|Arduino (SigmaNortec)]] ​  |
Line 94: Line 97:
 | Fire și rezistențe pentru conectică ​ | 25,00 RON   | [[https://​www.sigmanortec.ro/​40-Fire-Dupont-30cm-Mama-Mama-p126421578|Wires (SigmaNortec)]] ​      | | Fire și rezistențe pentru conectică ​ | 25,00 RON   | [[https://​www.sigmanortec.ro/​40-Fire-Dupont-30cm-Mama-Mama-p126421578|Wires (SigmaNortec)]] ​      |
 ^ Total                                | 243,13 RON  |                                      X                                                    | ^ Total                                | 243,13 RON  |                                      X                                                    |
-\\+</​note>​
  
 === Arduino UNO, Cablu USB, Sursă de Alimentare === === Arduino UNO, Cablu USB, Sursă de Alimentare ===
Line 102: Line 105:
 | **Arduino UNO R3 ATmega328P** | **USB 2.0 de tip A-B** | **Power Source și Prelungitor 12V, 2A** | | **Arduino UNO R3 ATmega328P** | **USB 2.0 de tip A-B** | **Power Source și Prelungitor 12V, 2A** |
  
-  * **Întreruperile** sunt utilizate pentru a controla intervalele de citire a senzorilor și actualizările sistemului, pentru citirea datelor senzorului **DHT22** și **INA219**. ​+  * **Timerele** sunt utilizate pentru a controla intervalele de citire a senzorilor și actualizările sistemului, pentru citirea datelor senzorului **DHT22** și **INA219**. ​
   * **Întreruperile** asigură sincronizarea precisă și previn întreruperea secțiunilor critice care se ocupă cu primirea și trimiterea datelor în buffer pentru comunicarea cu **Node-RED**.   * **Întreruperile** asigură sincronizarea precisă și previn întreruperea secțiunilor critice care se ocupă cu primirea și trimiterea datelor în buffer pentru comunicarea cu **Node-RED**.
  
Line 115: Line 118:
 ---- ----
  
-^ {{ :​pm:​prj2024:​fstancu:​dht22.jpg?​direct&​100 |}} ^ {{ :​pm:​prj2024:​fstancu:​ina219-pinout.jpg?​direct&​200 |}} ^ {{ :​pm:​prj2024:​fstancu:​ir_fotoelectric.jpg?​direct&​200 |}} ^+^ {{ :​pm:​prj2024:​fstancu:​dht22.jpg?​direct&​100 |}} ^ {{ :​pm:​prj2024:​fstancu:​ina219-pinout.jpg?​direct&​200 |}} ^ {{ :​pm:​prj2024:​fstancu:​ir_sensor.png?​direct&​200 |}} ^
 | **Temperatura-Umiditate DHT22 AM302 Senzor** | **Curent-Tensiune INA219 Senzor** | **Senzor Fotoelectric IR DS30P1** | | **Temperatura-Umiditate DHT22 AM302 Senzor** | **Curent-Tensiune INA219 Senzor** | **Senzor Fotoelectric IR DS30P1** |
  
Line 176: Line 179:
   * **Trebuie să avem Node.js înainte de Node-RED!**   * **Trebuie să avem Node.js înainte de Node-RED!**
   * **NPM packages for Node-RED**: node-red, node-red-dashboard,​ node-red-node-serialport.   * **NPM packages for Node-RED**: node-red, node-red-dashboard,​ node-red-node-serialport.
-  * **Librării și surse 3rd-party**:​ DHT sensor library, Adafruit INA219, Adafruit Unified Sensor, Adafruit BusIO.+  * **Librării și surse 3rd-party**:​ DHT, Adafruit INA219, Adafruit Unified Sensor, Adafruit BusIO.
   * **Algoritmi și structuri**:​ Implementarea algoritmilor pentru achiziția și procesarea datelor de la senzori, comunicarea cu interfața grafică și interacțiunea cu utilizatorul.   * **Algoritmi și structuri**:​ Implementarea algoritmilor pentru achiziția și procesarea datelor de la senzori, comunicarea cu interfața grafică și interacțiunea cu utilizatorul.
   * **Functii implementate**:​ Funcții pentru inițializarea și configurarea senzorilor, citirea datelor de la senzori, gestionarea comunicațiilor prin USB și implementarea interfeței de utilizator grafice pentru ajustarea parametrilor.   * **Functii implementate**:​ Funcții pentru inițializarea și configurarea senzorilor, citirea datelor de la senzori, gestionarea comunicațiilor prin USB și implementarea interfeței de utilizator grafice pentru ajustarea parametrilor.
 </​note>​ </​note>​
  
-**Firmware**-ul este organizat pentru a gestiona mai multe funcționalități,​ cum ar fi achiziția de date de la senzori, controlul **PWM** și comunicarea prin **USART**, folosind **GPIO**, **Timere**, **UART** și **I2C**.+**Firmware**-ul este organizat pentru a gestiona mai multe funcționalități,​ cum ar fi achiziția de date de la senzori, controlul **PWM** și comunicarea prin **USART**, folosind **GPIO**, **Timere** și **I2C**.
  
   * **Butonul sau semnalul IR**: sunt folosite pentru controlul ventilatorului. Firmware-ul gestionează debouncing-ul butonului și decodarea semnalelor IR. După detectare, microcontrolorul schimbă starea pinului GPIO asociat ventilatorului pentru a-l activa sau dezactiva. Acțiunile sunt monitorizate în bucla principală a firmware-ului pentru funcționare corectă.   * **Butonul sau semnalul IR**: sunt folosite pentru controlul ventilatorului. Firmware-ul gestionează debouncing-ul butonului și decodarea semnalelor IR. După detectare, microcontrolorul schimbă starea pinului GPIO asociat ventilatorului pentru a-l activa sau dezactiva. Acțiunile sunt monitorizate în bucla principală a firmware-ului pentru funcționare corectă.
Line 266: Line 269:
   * Temperatura reală este mai mare decât cea dorită, ventilatorul pornește automat pentru a răci aerul.   * Temperatura reală este mai mare decât cea dorită, ventilatorul pornește automat pentru a răci aerul.
  
-<​note ​important>+==== Download ==== 
 +---- 
 + 
 +<​note ​warning>
 Videoclipuri demonstrative,​ SW-HW, pentru a observa cum funcționează GUI (Node-RED) cu HW, vizualizați cele 2 videoclipuri în același timp, începeți videoclipul **pentru SW de la 0** și **cel pentru HW de la secunda 25** de la începutul înregistrării. Videoclipuri demonstrative,​ SW-HW, pentru a observa cum funcționează GUI (Node-RED) cu HW, vizualizați cele 2 videoclipuri în același timp, începeți videoclipul **pentru SW de la 0** și **cel pentru HW de la secunda 25** de la începutul înregistrării.
  
   * **Node-RED API Dashboard**:​ [[https://​drive.google.com/​file/​d/​1zLRS86_t2jiu0NKJF-CHeEPyh4NjXHAV/​view?​usp=sharing|SW-Interact]]   * **Node-RED API Dashboard**:​ [[https://​drive.google.com/​file/​d/​1zLRS86_t2jiu0NKJF-CHeEPyh4NjXHAV/​view?​usp=sharing|SW-Interact]]
   * **Hardware Interfață**:​ [[https://​drive.google.com/​file/​d/​1L-0ANzF2LampGnMLCuwHAHUocGBix3rt/​view?​usp=sharing|HW-Interact]]   * **Hardware Interfață**:​ [[https://​drive.google.com/​file/​d/​1L-0ANzF2LampGnMLCuwHAHUocGBix3rt/​view?​usp=sharing|HW-Interact]]
-</​note>​ +  * Arhiva cu fișierele proiectului,​ inclusiv sursele, schemele de circuit și documentația,​ poate fi găsită pe [GitHub](https://​github.com/​justin-marian/​casamonitor).
- +
-==== Download ==== +
----- +
- +
-<note warning>​ +
-Arhiva cu fișierele proiectului,​ inclusiv sursele, schemele de circuit și documentația,​ poate fi găsită pe [GitHub](https://​github.com/​justin-marian/​casamonitor).+
 </​note>​ </​note>​
    
 <​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/fstancu/justin.popescu1605.1716419356.txt.gz · Last modified: 2024/05/23 02:09 by justin.popescu1605
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