Table of Contents

CasaMonitor

Student: Justin-Marian Popescu
Grupa: 333CD
Îndrumător: Florin-Alexandru Stancu

Introducere


Inspirația pentru “CasaMonitor” a venit din nevoia de a-mi îmbunătăți confortul din cameră. Acest proiect îmi permite să ajustez condițiile ambientale direct de pe computer, ceea ce face munca de acasă mai eficient energetic. Proiectul ajustează consumul de energie ⚡ în funcție de necesitățile exacte în timp real.

Ideea Principală 💡

Proiectul CasaMonitor are ca scop furnizarea unei soluții integrate pentru monitorizarea și controlul condițiilor ambientale și al consumului energetic într-un spațiu locuit sau des frecventat.

Sistemul utilizează senzori și un µC conectat la un dispozitiv prin intermediul unui cablu USB 2.0 de tip A-B pentru a colecta date în timp real despre temperatură, umiditate și consumul de energie al dispozitivelor.

Scopul Proiectului 🎯

Scopul proiectului este acela de a oferi utilizatorilor un control mai bun asupra mediului în care își desfășoară activitățile zilnice, optimizând confortul și eficiența energetică.

Utilitatea Monitorului 🏡

Utilizarea panoului de control CasaMonitor este multiplă:

Descriere Generală


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 captează datele primite de la senzori înainte de procesare. Acest lucru asigură că nu se pierd date în timpul perioadelor în care acestea sunt primite de la senzori. Sistemul comunică cu Node-RED API prin USB.

Control Sistem de Răcire (USART)

Senzorul de temperatură și umiditate DHT22 măsoară valorile de temperatură și umiditate din încăpere. Acesta este conectat la placa Arduino și furnizează date digitale despre temperatura și umiditate. Pe baza acestor date, algoritmul de control va stabili dacă temperatura este în afara intervalului stabilit. Ventilatorul se pornește pe baza variației dintre temperatura reală și cea dorită.

Gestiunea Energiei (I2C, PWM și Timere)

Consumul de energie este gestionat prin protocolul I2C, această integrare va facilita implementarea funcțiilor de economisire a energiei, cum ar fi diminuarea și stingerea automată a luminilor atunci când nu este detectată nicio mișcare.

Luminile de bandă LED sunt controlate prin intermediul unui întrerupător fizic ON-OFF, detectarea mișcării sau a obstacolelor puse în fața senzorului infraroșu.

Modulul IRF520, controlat prin semnale PWM, gestionează alimentarea benzii LED în funcție de intrările de la senzorul IR sau de la întrerupătorul fizic.

Timerele sunt folosite pentru a controla durata în care luminile rămân aprinse după detectarea ultimei mișcări, asigurând o utilizare eficientă a energiei. Pentru măsurare a curentului/tensiunii în timp real folosesc un timer pentru a înregistra frecvența datelor, sistemul poate identifica rapid orice schimbare în consumul de energie, pentru a lua decizii rapide.

Transmitere/Primire Date (USB)

Comunicarea serială USB cu placa Arduino UNO asigură transferul de date fiabil. Această configurare mă va ajuta să actualizez și să manipulez ușor setările direct din interfața cu utilizatorul.

Toate datele sunt colectate de la senzori, apoi semnalele de control sunt trimise către un port USB al laptopului. Interfața laptopului va permite vizualizarea datelor înregistrate de senzori în timp real și ajustarea setărilor de sistem, cum ar fi pragurile de temperatură și umiditate.

Schema bloc este disponibilă la următorul link, care ilustrează modul în care µC interacționează cu senzorii și restul dispozitivelor din sistem. Schema oferă o vedere completă asupra interacțiunii HW și SW din cadrul proiectului, prezentând fluxul de date și control între diferitele componente: CasaMonitor Flow

Hardware Design


Schema Electrică

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.

Componentele descrise în schematic au fost desenate manual. Am încercat să reproduc cât mai fidel modelele originale ale componentelor utilizate în proiect, pe baza datasheet-urilor.

Lista de Piese

Nume Componenta Preț Site Cumparare
Arduino UNO R3 ATmega328P 30,76 RON Arduino (SigmaNortec)
Module MOSFET IRF520 (2 buc) 15,68 RON Mosfet (SigmaNortec)
Senzor Monitor Curent INA219 15,57 RON INA219 (SigmaNortec)
Senzor Temperatura DHT22 AM302 33,12 RON DHT22 (SigmaNortec)
Senzor Fotoelectric IR DS30P1 28,56 RON IR (SigmaNortec)
Banda LED 12V, 120 smd 13,60 RON LED (SigmaNortec)
Sursa de Alimentare + Prelungitor 36,30 RON PSU (SigmaNortec)
Ventilator Spacer 12V 40mm 21,90 RON Fan (eMag)
Breadboard 7,14 RON Board (SigmaNortec)
Întrerupător ON-OFF 15,50 RON Switch (Farnell)
Fire și rezistențe pentru conectică 25,00 RON Wires (SigmaNortec)
Total 243,13 RON X

Arduino UNO, Cablu USB, Sursă de Alimentare


Arduino UNO R3 ATmega328P USB 2.0 de tip A-B Power Source și Prelungitor 12V, 2A

Senzori: Temperatură/Umiditate, Curent/Tensiune și Fotoelectric


Temperatura-Umiditate DHT22 AM302 Senzor Curent-Tensiune INA219 Senzor Senzor Fotoelectric IR DS30P1

Control (Iluminat-Ventilator), Bandă LED și Ventilator


Driver MOSFET IRF520 Bandă LED 12V, 120 smd Ventilator Spacer 12V 40mm

Comutator ON-OFF, Breadboard și Fire pentru Conectică


Breadboard Fire pentru conectică Switch ON-OFF

Software Design


  • Mediu de dezvoltare: PlatformIO.
  • Trebuie să avem Node.js înainte de Node-RED!
  • NPM packages for Node-RED: node-red, node-red-dashboard, node-red-node-serialport.
  • 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.
  • 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.

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.

Rezultate Obţinute


node_red_interaction.jpg

1. Comunicarea Serială

2. Senzori

3. Control Dispozitive

4. Funcții de Procesare

5. Interfață de Control

control_panel_casamonitor.jpg

1. Slidere pentru Lumină

Max Light:

Min Light:

2. Butonul Cooler

3. Interfața și Vizualizarea Datelor

4. Interfața de Control și Configurare

5. Slider Temperatură Dorită

Download


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.

Export to PDF