Termostat inteligent cu control automatizat al jaluzelelor

Introducere

Acest proiect constă într-un termostat inteligent care monitorizează condițiile ambientale ale unei încăperi folosind senzori de temperatură, umiditate și lumină. De asemenea, sistemul poate acționa asupra mediului prin intermediul unui motor electric care deschide automat jaluzelele la o oră prestabilită dimineața, sau cand se ating anumiti factori de mediu, cum ar fi o temperatura sau luminozitate prea mare. Utilizatorii pot, de asemenea, sa deschida sau sa inchida jaluzelele, cat si sa vizualizeze datele provenite de la senzorii ambientali oricand, prin intermediul Bluetooth.

Scopul proiectului este de a crește confortul utilizatorului și eficiența energetică, automatizând sarcini cotidiene cum ar fi reglarea luminii naturale și a temperaturii camerei, funcționând în același timp și că un sistem de alarmă naturală.

Ideea a pornit de la o dorința mai veche de a mea de a realiza un sistem care poate monitoriza indicii ambientali și care să poată înlocui alarma stresantă de pe telefon.

Cred că acest proiect poate fi util și altor persoane care doresc să îmbunătățească automatizarea locuinței si confortul personal.

Sistemul este compus din următoarele module principale:

  • Modul senzori:
    • Temperatura (DHT22)
    • Umiditate (DHT22)
    • Lumină ambientală (fotorezistor)
  • Modul microcontroler:
    • Arduino Uno, care procesează datele de la senzori și decide acționarea motorului
  • Modul acționare:
    • Motor electric de curent continuu cu reductor, destinat controlului mecanismului de tragere a jaluzelelor

Microcontrolerul citește constant datele senzorilor și activează motorul electric la ora prestabilită (stocată în memorie), deschizând jaluzelele automat.

Descriere generală

Hardware Design

Piese Electrice

Listă de componente

Componentă Descriere Interfață / Pini Link
Placă Arduino UNO Microcontroller ATmega328P, 5V, 16MHz GPIO, I2C, PWM Link
Modul RTC DS3231 Ceas de timp real cu baterie CR2032. Poate declansa o alarma la o ora programata. I2C: A4 (SDA), A5 (SCL), D2 (SQW) pentru intreruperi Link
Modul BLuetooth HC-05 Modul Bluetooth pentru comunicarea cu arduino TXD - D4, RXD - D5 Link
Senzor de temperatură și umiditate DHT22 Măsoară temperatura și umiditatea ambientală D4 Link
Breadboard Conectarea tuturor componentelor, pentru a asigura funcționarea sistemului - Link
Modul cu fotorezistor (LDR) Senzor de lumină ambientală, analogic A0 Link
Fire tată-tată Conectarea breadboardului cu celelalte componente - Link
Motor stepper GM12-15BYC-1210 Motor pas cu pas cu reductor ce functioneaza la 5V-12V DC, cu 14 RPM si 840 gf*cm cuplu la 5V, utilizat pentru a roti mecanismul de tragere a jaluzelelor. Controlat prin pinii D8–D11 via L9110S Link
Driver motor L9110S Driver H-bridge pentru controlul curentului în bobinele motorului D8, D9, D10, D11 Link
2× Baterii 18650 de 3.6V Alimentare pentru motor prin driver L9110S - -
Mecanism de prindere a atei jaluzelelor printat 3D Realizat din 3 piese, o rotita “zimtata”, un suport pentru rotita si o piesa pentru stabilitatea rotitei. - -

Software Design

Mediu de dezvoltare
  • Arduino IDE (versiunea 2.3.6)
  • Limbaj utilizat: C
  • Atat placa Arduino cat si placuta ESP8266 au fost programate in Arduino IDE, cea din urma necesitand un convertor USB-UART CH340G pentru programare.
Biblioteci utilizate
  • Wire.h - comunicare I2C cu RTC (DS3231) si LCD
  • DS3231.h - citirea si setarea ceasului in timp real
  • Stepper.h - control motor pas cu pas
  • DHT.h - senzor de temperatura si umiditate
  • SoftwareSerial.h - pentru comunicarea cu HC-05
Algoritmi si structuri implementate
  • Initializarea componentelor: RTC, motor, HC-05, senzori
  • Citirea constanta a timpului din modulul DS3231
  • Compararea timpului curent cu ora setata ca alarma (prin Bluetooth)
  • Actionarea motorului pentru deschiderea jaluzelelor la declansarea alarmei sau la dorinta utilizatorului prin Bluetooth
  • Comunicare seriala cu Bluetooth pentru receptia alarmei setate prin aplicatia Serial Bluetooth Terminal
  • Declansarea motorului in functie de conditii predefinite (temperatura sau luminozitate pre amare)

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

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Proiectul meu demonstreaza utilitatea unui sistem inteligent de deschidere automata a jaluzelelor, ce functioneaza si ca o alarma “mai sanatoasa”, care nu provoaca o senzatie de stres utilizatorilor, asa cum este cazul alarmelor obisnuite cu sunet.

Posibile imbunatatiri

* Dimensiune scazuta - proiectul poate fi in continuare minimizat din punct de vedere spatial, astfel incat tot sistemul sa poata fi montat pe perete, langa jaluzele.

* Motor mai puternic - Se poate alege un motor mai puternic pentru cazul in care jaluzelele sunt prea grele de actionat.

* Eficienta energetica - Se poate optimiza proiectul astfel incat bateriile sa fie conectate doar atunci cand este cu adevarat nevoie, prin intermediul unui releu, intrucat am observat ca motorul se incalzeste cand este conectat la baterii.

Download

arduino_fin.zip

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ă ;-).

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.

Cod sursa

Codul sursa complet al proiectului este disponibil in repository-ul GitHub:

https://github.com/cristianfilip11/IntelligentThermostat

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2025/ajipa/cristian.filip1606.txt · Last modified: 2025/05/30 02:49 by cristian.filip1606
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