Documente Academic
Documente Profesional
Documente Cultură
Facultatea de Hidrotehnică
Specializarea: Automatică și Informatică Aplicată
Sistem de monitorizare si
control de la distanta al unei
locuinte
București, 2020
1
Cuprins
INTRODUCERE...........................................................................................................................3
Motivarea alegerii temei..............................................................................................................3
Obiectivele propuse în cadrul lucrării.........................................................................................3
4. Diagrame..................................................................................................................................45
3.1. Diagrama de clase...........................................................................................................45
3.2. Diagrama de secventa.....................................................................................................46
3.3. Diagrama starilor............................................................................................................47
3.4. Diagrama cazurilor de utilizare......................................................................................47
3.5. Diagrama de activitate....................................................................................................48
2
4. CONCLUZIE...........................................................................................................................49
BIBLIOGRAFIE.........................................................................................................................50
ANEXA 1.PREZENTAREA CODULUI SURSĂ DE PROGRAMARE................................52
INTRODUCERE
În ultimii ani tehnologia s-a dezvoltat într-un ritm rapid în toate domeniile. Avansul
acesteia nu a ocolit însă sistemele automate pentru locuințe, tot mai multe case sau
apartamente transformându-se în locuințe inteligente. Sistemele de automatizare sunt suficient
de dezvoltate pentru a ușura viața omului.
Am ales să realizez un astfel de sistem în urma proiectelor la care am luat parte în
cadrul anilor de facultate. Proiectele mi s-au parut foarte interesante, motiv pentru care am
decis, pentru examenul de licenta, sa fac un proiect mult mai dezvoltat. În timpul stagiului de
pregătire, mi s-a oferit oportunitatea de a lucra la dezvoltarea unui astfel de sistem, astfel
intrând în contact cu cele mai noi tehnologii utilizate pe piață. În scurt timp am fost însărcinat
de către superiori cu gestionarea unei bune părți a proiectului, mai exact dezvoltarea părții de
programare și adaptarea acesteia la cerințele și nevoile clientului final, lucru ce a reprezentat
un motiv suplimentar pentru alegerea acestei teme.
3
Punerea în funcțiune a ledurilor a fost prima etapă, alături de liniile de cod aferente.
Am adăugat 4 leduri, fiecare led reprezentând iluminarea unei încăperi. Totodată, am adăugat
și butoanele pentru aprindere/stingere lumini în layout-ul proiectului.
A doua etapă a fost punerea în funcțiune a servomotoarelor. După conexiunea lor la
plăcuța Arduino, am setat parametrii convenabili în grade, pentru a face rotație exactă. Faptul
acesta duce la blocarea și deblocarea ușilor casei cu succes.
Următoarea etapă a constat în montarea senzorului de gaz și ventilatorului (un cooler
de calculator), care reprezintă aerisirea. Aceasta se poate porni și opri utilizând butonul din
layout, dar are și o funcție automată, care pornește aerisirea imediat ce senzorul de gaz
detectează o concentrație ridicată de gaz. Mai mult, odată cu detectarea gazului, apare și un
nou buton, care, odată apăsat, deblochează ambele uși ale casei (în cazul în care acestea sunt
inițial blocate).
A patra etapă este reprezentată de configurarea sistemului de monitorizare și stropire a
solului. Utilizând un senzor de umiditate a solului, putem afla cât de uscat sau de umed este
solul unei plante. Dacă utilizatorul dorește, poate acționa butonul de „Stropire plantă”, care
va porni pompa de apă aflată într-un bazin plin. În acel moment apa va ajunge în solul plantei
până când utilizatorul oprește pompa din site sau până când resursele de apă se vor epuiza.
Ultima etapă în ceea ce privește conexiunile senzorilor se referă la senzorul de
temperatură și de umiditate. Rolul acestuia este simpla informare a utilizatorului cu privire la
temperatura interioară a casei, dar și a umidității locuinței.
Pentru realizarea obiectivelor mai sus menționate, am folosit tehnologii precum C,
HTML, CSS, însumând peste 300 de linii de cod scrise.
4
În lucrarea de față, clădirea inteligentă va fi folosită pentru o descrie o structură sau un
ansamblu de structuri construite pentru a fi folosite pentru locuire, în scop profesional sau
pentru desfășurarea a diverse activități, de exemplu: blocuri, ansambluri de blocuri, clădiri de
birouri, spitale, clinici, clădiri administrative, bancare, centre culturale, sportive etc.) Excepție
fac clădirile destinate producției industriale.
Factorii care transformă o clădire într-o clădire inteligentă sunt acele facilități care
ușurează viața și sporesc confortul atât proprietarului sau administratorului, cât și locuitorilor
clădirii.
În ceea ce-l privește pe administrator, acesta poate monitoriza mult mai rapid, facil și mai
eficient bunăstarea clădirii (monitorizarea factorilor ambientali, securitatea, alarmarea internă
și externă), în condițiile unor costuri acceptabile.
De cealaltă parte, locuitorii clădirii se bucură de un confort crescut iar productivitatea
muncii acestora crește.
Pentru ambele părți este nevoie, însă, de facilități de comunicare și de acces informatic.
O clădire inteligentă este un sistem alcătuit din mai multe subsisteme diferite, care
interacționează între ele: subsisteme pentru utilități (alimentare cu apă, drenaje, etc),
subsistemul de asigurare a securității și alarmare, subsistemul surselor de alimentare cu
energie electrică (fără înreruperi), infrastructura (cablajele) pentru energia electrică și pentru
telecomunicații, subsistemul de tehnică informațională și telecomunicații, subsistemul de
reglare automată și supraveghere a distribuției diverselor tipuri de energie, centrul de
comandă și supraveghere.
5
Locuința automatizată dobândește noi caracteristici, prin prisma centrului inteligent,
adică unitatea centrală, cea care îi controlează majoritatea atributelor. Printre aceste atribute
putem menționa funcţionalitatea (controlul temperaturii, luminilor, jaluzelelor, sistemele hi-
fi, şi orice alt dispozitiv electric sau electronic, atât din interior, cât şi din exterior, fie prin
intermediul internetului (din orice colţ al lumii), fie local utilizând telecomenzi, laptop,
touchscreen.), managementul energetic, prin care se urmărește reducerea consumului de
energie prin optimizarea funcţionării componentelor electrice, electronice, sanitare şi termice
ale locuinţei. Un atribut foarte important pentru asigurarea confortului oricărei persoane este
reprezentat de sistemele de securitate. Acestea permit simularea prezenţei locatarilor în timpul
absenţei lor, permit descoperirea și sesizarea efracţiei către vecini, familie, firmă de pază, cât
şi declanşarea unui plan prestabilit pentru îndepărtarea intruşilor.
6
public. Succesul de care s-a bucurat pelicula a reprezentat un punct de pornire pentru firmele
de automatizări şi astfel au apărut primele elemente specifice casei. Inițial automatizarea casei
îngloba o serie restrânsă de facilități: programarea instalaţiilor de iluminat, udat grădina şi
supraveghere video, dar în scurt timp, lista lucrurilor pe care putea să le facă o casă inteligentă
a crescut în mod considerabil.
Un avantaj economic important al acestui tip de clădire este rețeaua unică de cabluri
pentru toate sistemele, care reduce cu 15% sau chiar 20% costurile instalației inițiale.
Un alt avantaj major al clădirilor inteligente este legat de costurile scăzute de instalare a
sistemului de control al clădirii, reducerea costurilor de modificare, disponibilitatea investiției
în dispozitive de interfață viitoare, reducerea costurilor energetice necesare în funcționarea
clădirii.
În ceea ce privește durata de viață a unei clădiri, structura sa fizică este cea mai
durabilă (peste 40 de ani), hardul și softul au o durabilitate cuprinsă între 5 și 7 ani, iar
birotica 2-3 ani.
Diverse sisteme diferite ale clădirii pot fi interconectate prin rețeaua unică de cabluri (de
exemplu: sistemele de control și protecție împotriva incendiilor, sistemele de securitate).
Acestea sunt cuplate împreună, având la bază infrastructura întregii clădiri.
Persoanele care au un interes sporit pentru clădirile inteligente sunt locatarii multiplii,
care să folosească în comun anumite servicii, lucru care aduce profituri considerabile
proprietarilor. De asemenea, ideea de clădire inteligentă reprezintă o tentație și pentru
locatarii care nu și-ar permite în mod individual astfel de servicii.
7
1.4 AVANTAJELE MONITORIZĂRII DE LA
DISTANȚĂ
1.4.1. Accesibilitate
Prin accesarea IP-ului aferent site-ului pentru controlul locuinței, utilizatorul se află la
doar un click distanță de monitorizarea diverselor sisteme automatizate din locuință. În plus,
sistemul unei case inteligente este uşor de instalat şi de folosit şi economiseşte timpul pe care
utilizatorul l-ar fi petrecut ducând la bun sfârşit manual treburile gospodăreşti. De cele mai
multe ori, aceste electrocasnice şi dispozitive electronice sunt prietenoase cu mediul
înconjurător și îl protejează, pentru că monitorizează şi țin sub control consumul energetic,
fiind, în esență, realizate astfel încât să funcţioneze eficient, minimizând consumul. Sistemele
automate care fac din locuința noastră o locuință inteligentă ne permit efectiv să ne bucurăm
8
mai mult de timpul nostru, să ne creăm condițiile perfecte de lucru sau de relaxare (prin
controlul luminii, de exemplu) și ne ajută să ne protejăm locuința și pe noi înșine.
1.4.3. Multiutilzare
Orice locatar sau membru al familiei, cu ajutorul unui smartphone și al unei conexiuni
stabile la internet (wi-fi sau date mobile) poate avea acces la sistemul inteligent de
monitorizare al locuinței. Totuși, aici apare un punct slab ce se referă la fiabilitatea casei
inteligente. Aceasta se bazează în mare parte pe conexiunea la internet, care uneori poate avea
probleme. În plus, orice device conectat la internet este vulnerabil atacurilor informatice.
Accesul la internet facilitează şi colectarea mai multor date despre noi, fără să fim conştienţi
şi fără să ştim unde vor ajunge acestea.
Așa cum am spus și mai sus, utilizatorul poate monitoriza în timp real sau istoric, din
orice locație îndepărtată, statutul casei. O casă inteligentă furnizează date live și statistici
despre majoritatea sistemelor integrate, cum ar fi consumul de energie, consumul de apă,
monitorizarea temperaturii și a umidității, starea sistemului de încălzire, alertele de acces la
securitate etc. Un instrument software accesibil de pe orice dispozitiv procesează aceste date
și oferă urilizatorului statistici.
9
Creșterea dinamismului vieții actuale și a stresului resimțit ne determină să căutăm soluții,
idei prin care să creăm un echilibu între tensiunea și solicitarea psihică de zi cu zi și
momentele de relaxare. Datorită acestui fapt casa inteligentă a devenit un spaţiu din ce în ce
mai familiar, asigurând un plus de valoare oricărei construcţii. În plus, sistemele
computaţionale ale casei inteligente s-au dezvoltat în aşa fel încât să răspundă aspiraţiilor din
ce în ce mai înalte ale oamenilor în ceea ce priveşte confortul, siguranţa şi controlul casei.
Sistemele IT care fac trecerea de la casa ecologică la casa ecologică inteligentă dau un alt
sens conceptului tradiţional de „sisteme electrice”, percepute ca simple sisteme de corpuri de
iluminat şi prize. Noul concept înseamnă practic dotarea locuinţei cu sisteme electronice
avansate care sunt concepute să satisfacă nevoi specifice, perfect capabile să ofere aplicaţii
utile. Integrarea tuturor acestor funcţiuni individuale creează un sistem avansat, uşor de
folosit, rezistent în timp şi extrem de flexibil, putând fi actualizat, modificat şi extins în orice
moment pentru a satisface noi necesităţi.
O casă inteligentă are proprietatea de a asigura acel sentiment unic de „mă simt bine
acasă” în fiecare zi, transformând casa în „acasă” în adevăratul sens al cuvântului. Instalaţia
inteligentă îmbină controlul tuturor luminilor, prizelor, încălzirii, climatizării, echipamentelor
de umbrire motorizate, echipamentelor audio-video, elementelor de securitate, sistemul de
irigaţii şi multe altele, rezultând o armonie perfectă. Siguranţa copilului, confortul familiei,
economia energiilor, excluderea pericolului de electrocutare la întrerupătoare, funcţiile de
simulare a prezenţei pentru zilele de concediu etc, toate aceste aspecte sunt cu adevărate
avantaje oferite de către locuințele inteligente.
10
Un alt aspect important și demn de menţionat referitor la casa inteligentă este acela că
sistemul domotic central poate cuprinde cu uşurinţă o multitudine de sisteme distincte,
precum: sistemul de climatizare şi controlul luminilor, sistemul electric de prize, sistemul de
detecţie la incendiu, sistemul de suraveghere audio-video locală şi la distanţă, sistemul de tip
home cinema şi audio multiroom, efracţie sau alte incidente, sistemul de automatizare a
porţilor de intrare şi de la garaj etc.
Toate aceste sisteme pot fi controlate în permanență, manual sau prin stabilirea unor
scenarii predefinite pentru diverse situaţii cotidiene: când pleci sau te întorci de la muncă sau
din vacanţă, când te trezeşti sau te culci, când în casă stă întreaga familie, doar bona cu
copilul etc, sau pentru anumite situații speciale, excepționale, sau de urgență. De asemenea,
flexibilitatea soluţiilor domotice provine şi din multitudinea posibilităților acestora de
implementare şi adaptare la diverse spaţii: apartamente, case, vile, case de vacanţă, hoteluri,
clădiri de birouri etc.
1.4.6. Eficiență
În ceea ce privește eficiența, o casă inteligentă ar trebui să ofere în primul rând rate
scăzute de consum de energie. Prin urmare, software-ul de bază ar trebui să aibă un manager
de procese energetice pentru a monitoriza și analiza continuu datele de la senzorii interiori și
exteriori și a efectua ajustări constante la toate sistemele consumatoare de energie. Condiția
de bază pentru îndeplinirea sarcinilor enumerate mai sus este conexiunea la internet. Este
obligatoriu ca locuința să fie conectată la internet.
Un factor important aduce în discuție câteva caracteristici care transformă o casă
obișnuită într-o casă inteligentă: casa, respectiv sistemul inteligent, trebuie să știe oricând câte
persoane sunt înăuntru și câte persoane sunt în fiecare cameră. Acest aspect este important,
putând fi principalul factor în controlul sistemelor de încălzire, luminilor și, de asemenea,
configurarea perimetrului de securitate și alarmei. Acesta poate fi ușor realizat cu ajutorul
senzorilor de proximitate și a contoarelor magnetice ale ușilor.
11
Având acest beneficiu, casa este capabilă să închidă televizorul, să stingă luminile și
să economisească energia de încălzire în încăperi în care nu există oameni.
2.1 Microprocesorul
12
microcontrollerele sunt utilizate adesea în sisteme de tip „embedded”, unde consumul redus
de resurse are un rol important. (Dănescu, Mureșan, Itu, 2018)
Scurtă istorie
În lucrarea „Proiectare cu Microprocesoare. Îndrumător de laborator”1 este
prezentată sistematic o evoluție a microprocesoarelor. Astfel, în anul 1971 au fost create
microprocesoare pe 4 biți, denumite Intel's 4004, de către Texas Instruments (TI) TMS 1000
și Garrett AiResearch's Central Air Data Computer (CADC).
Un an mai târziu a fost creat primul microprocesor pe 8 biți: 8008. A fost urmat de
Intel 8080, în anul 1974, Zilog Z80, în 1976, și alte procesoare derivate pe 8 biți de la Intel.
Competitorul Motorola a lansat Motorola 6800 în luna august 1974. Arhitectura acestuia a
fost clonată și îmbunătățită în MOS Technology 6502 în 1975, cu popularitate similară lui
Z80 în anii 1980. (Dănescu, Mureșan, Itu, 2018)
În anii următori au apărut microprocesoarele pe 16 biți : Intel 8086, 80186, 80286,
8086 SX, TMS 9900), pe 32 biți: MC68000, Intel 80386DX, 80486DX, Pentium, MIPS
R2000 (1984) și R3000 (1989) etcc, și pe 64 biți (majoritatea procesoarelor moderne).
(Dănescu, Mureșan, Itu, 2018)
Tipuri: RISC: scrie si tu ce inseamna risc si apoi fa categoriile
MIPS (R2000, R3000, R4000), Motorola 88000, AVR;
CISC: VAX, PDP-11, Motorola 68000, Intel x86. (Dănescu, Mureșan, Itu,
2018)
13
folosit. Plăcile Arduino sunt echipate în principal cu microcontrollere Atmel AVR, dar există
şi plăci echipate cu microcontrollere de tip ARM, sau din familia x86. În afara plăcilor
Arduino oficiale, există o gamă largă de clone, de obicei cu preț redus (si performanţă
discutabilă), precum XDruino, Freeduino, etc. (Dănescu, Mureșan, Itu, 2018)
Caracteristici tehnice:
14
4 x UART;
Memorie flash: 256KB, din care 8KB ocupați de bootloader;
Frecvența de funcționare: 16MHz.
Dimensiuni: 5.3cm x 10cm
Conform site-ului oficial Arduino, Shield-ului Ethernet W5100 este bazat pe controller-ul
ethernet W5100 care oferă o implementare a stivei de rețea (IP) cu capacitate TCP și UDP. Cu
ajutorul acestuia de pot conecta cu ușurință circuite conectate la rețea (fig 2.2).
Placa se poate conecta la o rețea prin cablu prin intermediul rețelei Ethernet. Când placa
se conectează la rețea, utilizatorul trebuie să furnizeze o adresă IP și o adresă MAC.
15
Caracteristici tehnice:
Microcontroller: Wiznet W5100;
Tensiune de operare : 5V;
Tensiunea de intrare (limite): 6-18V;
Tensiunea de intrare PoE (limite): 36-57V;
Ieșiri digitale I / O: 14 (din care 4 asigură ieșire PWM);
Pini rezervați: de la 10 la 13 utilizați pentru SPI;
4 pini utilizați pentru cardul SD;
Pini de intrare analogică: 6;
DC intensitate pe pin I / O 40 mA;
Memorie flash 32 KB (ATmega328) din care 0,5 KB utilizat de bootloader;
SRAM 2 KB (ATmega328);
EEPROM 1 KB (ATmega328);
Ceas de viteză 16 MHz;
W5100 Ethernet încorporat TCP / IP;
Micro SD card, cu tensiune activă.
(http://www.fih.upt.ro/jla/images/articole/ST02/st02-06.pdf)
16
Fig. 2.5 Shield Ethernet pentru Arduino W5100
Caracteristici tehnice:
Conform autorilor Moldovan și Zaharia (2019), caracteristicile tehnice ale
SENZORULUI/MODULULUI DE SENZOR sunt:
Tensiune de funcționare: 5V;
Curent: 150mA
Rezistență heater: 33R
Temperatura de lucru: 20oC - 50oC;
Output digital sau analogic.
Senzorul de umiditate pentru sol este format din 2 părți componente: circuitul PCB ce
conține comparatorul (fig 2.4) și partea care se înfige în pământ. Cea din urmă se conectează
la circuit și, mai departe, conexiunea se realizează cu circuitul. Se pot culege date analogice
sau digitale, în funcție de preferințe.
17
Partea care se înfige în pamant este formată din 2 plăcuțe care funcționează ca probe
pentru senzor, acționând ca un rezistor variabil. Cu cât este mai multă apă în sol, cu atât
conductivitatea dintre plăcuțe va fi mai mare și rezistența mai mică (fig. 2.5).
18
Fig. 2.7 Cele 2 placute, parte a senzorului de umiditate a solului
19
Umiditatea relativă mai mare scade rezistența dintre electrozi, în timp ce umiditatea relativă
mai mică crește rezistența dintre electrozii.
20
2.5 Alte componente ale proiectului
2.5.1 Led-uri
21
Avantajele unui LED
• Durata mare de viaţă, de cel puţin 50.000 de ore. La o medie de cel mult 8 ore de
utilizare pe zi, aceasta înseamnă vreo 17 ani de zile. Spre deosebire, becul incandescent are o
durată de viaţă de 50 de ori mai mică;
• Facturi la electricitate reduse de aproape 10 ori;
• Nu se încălzeşte, deci nu deteriorează corpul de iluminat în care se află;
• Nu emite raze ultraviolete, deci nu este dăunător sănătăţii;
• Este rezistent la şocuri şi vibraţii, spre deosebire de becul cu incandescenţă, care se
„scutură”;
• Nu atrage insectele;
• Nu conţine substanţe poluante în compoziţia sa. Ne amintim că becurile
incandescente au în bulbul de sticlă gaze rare, iar neonul are mercur;
• Are dimensiuni mici, deci poate fi folosit în enorm de multe locuri şi situaţii.
2.5.2 Servomotor 9V
22
un timp prescris a unui sistem mecanic (sarcina) de-a lungul unei traiectorii date, realizând
totodată şi poziţionarea acestuia la sfârşitul cursei cu o anumită precizie. Sistemele de reglare
automată moderne impun servomotoarelor următoarele performanţe: gamă largă de
modificare a vitezei în ambele sensuri, funcţionare stabilă la viteză foarte mică, constante de
timp cât mai reduse, fiabilitate şi robusteţe ridicate, raport cuplu/moment de inerţie cât mai
mare, suprasarcină dinamică admisibilă mare și caracteristici de reglare liniare. (Dănescu,
2018)
Servomotorul foloseşte un mecanism de feedback (reacţie negativă) pentru a menţine
o poziţie dată printr-un semnal de control (analog sau digital). Acesta conţine un motor DC,
un angrenaj de roţi dinţate şi un circuit de control. (Dănescu, 2018)
Biblioteca Servo se caracterizează prin următoarele aspecte: poate controla până la 12
motoare pe majoritatea plăcilor Arduino, respectiv 48 de motoare pe placa Arduino Mega.
Folosirea bibliotecii va dezactiva analogWrite() (PWM) pe pinii 9 si 10, indiferent dacă există
sau nu motor servo conectat la aceşti pini (exceptand placa Arduino Mega). La Arduino Mega
Mega, se pot utiliza până la 12 motoare servo fără a afecta funcţionarea PWM. Folosirea mai
multor motoare va dezactiva PWM pe pinii 11 si 12. (Dănescu, 2018)
Conectarea Servo la Arduino prin 3 fire (Vcc, Gnd, semnal) se face astfel: Vcc
conectat la pinul de 5V al plăcii, Gnd (negru sau maro) conectat la GND de pe Arduino, iar
Pinul de semnal (galben, portocaliu sau alb) conectat la un pin digital. (Dănescu, 2018)
23
Fig. 2.10 Micro Servomotor
Servomotoarele electrice se folosesc în cele mai diverse aplicaţii, cum ar fi: acţionarea
roboţilor industriali universali, a maşinilor unelte cu comandă numerică, a perifericelor de
calculator, în acţionarea imprimantelor rapide, în tehnica aerospaţială, instalaţii medicale etc.
În aplicaţiile enumerate, cuplul dezvoltat de servomotoare variază într-o plajă largă de valori,
0,1 ÷ 100 [Nm], cu puteri nominale ce variază în intervalul 100 [W] şi 20 [kW].(Sabou, 2018)
Conform principiului lor de funcţionare, servomotoarele electrice pot fi clasificate în:
servomotoare de curent continuu, servomotoare asincrone şi servomotoare sincrone, în
această ultimă categorie fiind incluse atât servomotoarele de curent continuu fără perii cât şi
servomotoarele pas cu pas. (Sabou, 2018)
Servomotoarele de curent continuu se caracterizează prin posibilitatea de reglare a
vitezei în limite largi, 1:10.000 şi chiar mai mult, prin intermediul unei părţi de comandă
electronică relativ simplă. Servomotoarele de curent continuu au caracteristici mecanice şi de
reglaj practic liniare, cuplu de supraîncărcare mare, greutate specifică mică, moment de inerţie
redus etc. Dezavantajele sunt legate de colector, fenomene de comutaţie, uzură şi scânteiere.
(Sabou, 2018)
24
Servomotoarele asincrone, în prezent răspândite în tot mai mare măsură, elimină
dezavantajele servomotoarelor de curent continuu legate de sistemul colector-perii, fiind de
asemenea atractive prin robusteţea, simplitatea şi preţul lor. Există însă şi o serie de
dezavantaje legate de randament, factor de putere, greutate şi nu în ultimul rând procedee de
comandă mai complicate decât cele ale servomotorului de curent continuu. (Sabou, 2018)
Spre deosebire de motoarele DC, care produc rotaţie continuă cât timp sunt conectate
la o sursă de tensiune, motoarele servo sunt folosite pentru a obţine rotaţii parţiale, stabile şi
controlate, pentru efectuarea unor operaţii cu amplitudine. (Sabou, 2018)
(Îndrumător laborator microcontrolere ARDUINO, Sebastian Petru Sabou).
Pompade apă este esențială pentru grădină, dar poate contribui și la îmbunătățirea
confortului din locuință. (Dogaru, 2016)
În general, în această categorie intră echipamentul folosit la transportul apei din puțuri,
lacuri, fântâni în scopul alimentării diverșilor consumatori. (Dogaru, 2016)
Din punct de vedere constructiv, pompa are trei componente principale: motorul,
unitatea de pompare și carcasa. (Dogaru, 2016)
În funcție de poziționare, pompele pot fi pompe de apă de suprafață („trag” lichidul
dintr-un puț/rezervor) sau pompe de apă submersibile (imersate în lichid, pe care il „împing”
către consumator) (fig.2.8). (Dogaru, 2016)
Caracteristici tehnice:
Tensiune: DC3-5V
Curent: 100-200mA
Debit: 1,2-1,6 L / min
Greutate: 28 grame
Material: plastic
Diametrul exterior al duzei: 7.5mm
Diametrul interior al duzei: 4.7mm
Diametru: aproximativ: 24mm
25
Lungime: aproximativ 45mm
Înălțime: aproximativ 33mm
2.5.4 Releu
Releele reprezintă categoria cea mai importantă de aparate din cuprinsul unei instalații
de protecție și comandă automată (fig.2.8).
Un releu este un dispozitiv de comutare prevăzut cu unul sau mai multe contacte,
acționat de un semnal electric. Releele sunt utilizate pentru comutarea unei valori mari a
tensiunii cu ajutorul unei valori mici de tensiune.
Releul este format dintr-o bobină, unul sau mai multe contacte și un mecanism cu arc.
Prin alimentarea bobinei, curentul electric se propagă și se creează un câmp magnetic, pârghia
este antrenată iar poziția contactelor se schimbă.
26
converteşte un anumit parametru al mărimilor de intrare în curent electric cu două valori
prestabilite, în funcţie de care releul va avea poziţia atras sau căzut. Prin urmare, releul
electronic este tot un element bipoziţional. Avantajele utilizării părţii electronice de prelucrare
a mărimii de intrare rezultă din: posibilitatea amplificării mărimii de intrare, creşterea
sensibilităţii releului electromagnetic şi eventual modificarea histerezisului acestuia, creşterea
siguranţei în funcţionare prin introducerea unor scheme cu fiabilitate funcţională ridicată,
consum redus din sursa care livrează mărimea I, influenţă minimă asupra sursei care livrează
mărimea I etc.
27
Fig.2.9 Releu electronic
Caracteristici tehnice :
28
Materialele utilizate în realizarea contactelor sunt: Ag (este materialul cu
conductivitatea electrică și termică cele mai înalte dintre toate metalele; manifestă o rezistență
scăzută de contact, ieftin și des utilizat), AgCu (prezintă rezistență ridicată la uzură și o
tendință mică de topire, dar în schimb prezintă o rezistență de contact mai mare), AgCdO (are
o rezistență la topire mai ridicată, rezistență la uzură și proprietăți de stingere a arcului
electric) și AgW (duritate și punct de topire ridicat, rezistența la arc electric este foarte bună,
dar în schimb necesită o forță de apăsare mare; rezistența de contact este mare și, de
asemenea, prezintă o rezistență slabă la coroziune.
29
Dht.h este o librarie ce va permite comunicarea intre placuta Arduino si senzorii
DHT11 si DHT22, senzori de umiditate si temepratura;
30
folosind Ethernet.begin(mac). Acesta va obtine, in urma executiei acestei comenzi, o
adresa IP, urmand apoi sa porneasca serverul folosind comanda server.begin(). Acesta
va avea o adresa IP locala atribuita shield-ului Ethernet(fig. 4.3).
Fig. 4.3 Comenzile prin care se vor afisa valori in interfata seriala
31
Fig. 4.3 Valorile afisat in interfata seriala
32
Inainte de a face primul request de tip HTTP si de a stabili tipul conexiunii, atribuim
valoarea din variabila c in readString (atunci cand lungimea lui readString este mai mica decat
200 de caractere). Toate valorile din c se vor concatena in variabila readString. Fiecare
request HTTP incheiat va genera o linie noua (un new line), motiv pentru care urmeaza sa
verificam daca variabila c este egala cu un new line (‘\n’), daca exista acest new line. In caz
afirmativ, printam ce se afla in readString si stabilim tipul de conexiune ca fiind text/html(fig.
4.6).
Incepand din acest moment putem adauga primele linii de cod HTML. Tagul de
DOCTYPE html reprezinta colectia de taguri ce urmeaza sa fie folosite in vederea crearii
paginii web(fig. 4.7). Intre tag-urile de head am adaugat titlul paginii si un tag meta care
genereaza un refresh paginii web la fiecare doua secunde(fig. 4.7). Acest lucru va ajuta la
innoirea datelor cu privire la temperatura, la umiditatea din aer si din sol din locuinta.
33
Intre tagurile de body vom include tot continutul site-ului web, atat butoanele cat
si partea scrisa, inclusiv titlul care va fi afisat in pagina(fig. 4.7).
Pentru inceput, am creat butoanele aferente luminilor. Aceste butoane vor aprinde,
respective stinge luminile din locuinta in totalitate.Aprinderea acestor led-uri se va realiza
folosind comanda digitalWrite(fig.4.8). Valoarea acestei comenzi va avea valoarea LOW pt
stingerea becurilor si valoarea HIGH pentru aprinderea lor.
Butoanele sunt scrise sub forma unor link-uri, care au referinta “button1on” pentru
aprinderea luminir si “button2off” pentru stingerea lor. Odata apasate, aceste butoane vor
genera si un mesaj pentru informarea utilizatorului cu privire la eventimentul produs(fig.4.9)
34
Fig. 4.7 Comanda digitalWrite
35
Fig. 4.9 Lumini dormitor
36
Fig. 4.11 Lumini baie
37
Fig. 4.13 Mesaj lumini aprinse
Usa din fata a locuintei afiseaza de asemenea un mesaj asemanator luminilor, dar, in
ceea ce priveste controlul, blocarea si deblocarea acestia se face cu ajutorul unui
servomotor(fig. 4.15). Acesta executa doua rotatii, astfel incat elicea mini-servomotorului va
actiona zavorul pentru blocarea sau deblocarea usii. Pentru a securiza usa, acesta va face o
rotatie de 80 de grade, in timp ce, pentru a facilita deschiderea acesteia, rotatia va fi de 145 de
grade(fig. 4.16).
Fig. 4.15 Crearea celor doua butoane pentru usa din fata
38
Fig. 4.16 Miscarile de rotatie ale servomotoarelor pentru usa din fata
Linkurile pentru blocarea si deblocarea usii din spate sunt asemanatoare celor
pentru usa din fata. Singurele diferente sunt referintele tag-urilor <a> (“href=\"/?
button5on\"\">” pentru deblocare , respectiv “href=\"/?button6off\"\">” pentru blocare ) dar si
rotatiile efectuale de servomotor. Pentru securizare, rotatia acestuia va fi de 120 de grade, iar
pentru sens invers, de 40 de grade(fig. 4.17).
De mentional faptul ca acest mini-servomotor este diferit fata de cel utilizat pentru
usa din fata. Aceste poate efectua roatatii de maxim 120 de grade, in comparative cu celalalt,
capabil sa produca o rotire de 180 de grade.
Fig. 4.17 Miscarile de rotatie ale servomotoarelor pentru usa din spate
39
Fig. 4.18 Crearea celor doua butoane pentru usa din fata
Metoda prin care am creat butoanele pentru controlul aerisirii din locuinta este
identica celor precedente, pentru lumini si usi(fig. 4.19). Daca butonul pentru pornirea
aerisirii este apasat, pe langa faptul ca aceasta se va porni, se va opri executia acelui tag meta,
care avea rolul reincarcarii automate a paginii. Acest lucru reprezinta un inconvenient
utilizatorului, motiv pentru care, va aparea in josul paginii, un nou buton. (fig. 4.20).
Butonul nou aparut are asociat un script, care are rolul de a incarca pagina manual.
Odata apasat, pagina se va incarca, evitand astfel lipsa update-urilor cu privire la temperature
si la umiditatea din locuinta. Noul link va disparea odata cu oprirea aerisirii, urmand ca tag-ul
meta sa se execute in continuare la fiecare 2 secunde.
40
Fig. 4.20 Butonul pentru reincarcare pagina
Butonul nou aparut are asociat un script, care are rolul de a incarca pagina
manual(fig. 4.21). Odata apasat, pagina se va incarca, evitand astfel lipsa update-urilor cu
privire la temperature si la umiditatea din locuinta. Noul link va disparea odata cu oprirea
aerisirii, urmand ca tag-ul meta sa se execute in continuare la fiecare 2 secunde.
Cooler-ul folosit ca si aerisire va porni folosind, de asemenea, digitalWrite, cu
valoarea HIGH, iar pentru oprire, valoarea LOW(fig. 4.21).
Fig. 4.21 Script-ul pentru reload si valorile comenzii digitalWrite pentru aerisire
41
Stropirea plantei din sufragerie se realizeaza folosind un releu si o pompa de apa
submersibila. Atat link-urile, cat si mesajele afisate in urma executiei acestora sunt create intr-
un mod identic celorlalte mentionate anterior(fig. 4.22).
42
de informare a utilizatorului(fig. 4.25). Acest mesaj il informeaza cu privire la prezenta unei
concentratii mari de gaz in bucatarie, dar si ca aerisirea s-a activat automat.
Pe langa aceste atentionari, va aparea si un buton de urgenta pentru deblocarea usilor(fig.
4.25). In cazul in care utilizatorul il apasa, servomotoarele vor executa rotatia aferenta
deblocarii usilor, iar acestea de vor debloca in mod automat pentru a facilitate o intrare rapida
in locuinta.
Temperatura din locuinta va fi afisata pe pagina web in urma executiei secventei din
figura 4.27. Senzorul de umiditate a solului informeaza utilizatorul cu privire la gradul de
43
umiditate din pamantul plantei din living. Valoarea generate de acesta se va modifica daca
functia de stropire planta este pornita. Acel delay de 10 secunde al pompei este benefic si in
acest caz, deoarece ii ofera proprietarului casei mai mult timp in care poate lua la cunostinta
valorile umiditatii din sol, si, in consecinta, poate opri sau nu pompa de apa.
De asemenea, in figura 4.27, putem observa inchiderea body-ul paginii web, orice
tip de continut adaugandu-se dupa body, nu va mai aparea in site.
44
3.Diagrame
45
3.2 Diagrama de secventa
46
3.3 Diagrama starilor
47
3.5 Diagrama de activitate
Concluzie
48
În deschiderea proiectului meu am avut în vedere o scurtă introducere care motivează
decizia temei proiectului meu.
Începând cu capitolul 1, s-a început o analiză generală care include şi tema aleasă de
mine; astfel s-a avut în vedere prezentarea conceptului de clădire inteligentă si avantajele
utilizării.
Capitolul 2 se conturează în baza temei alese şi se concentrează mai mult pe analiza
sistemelor automate, atât cele implementate în cadrul proiectului, cât şi posibilităţi de upgrade
şi îmbunătăţiri aduse unor sisteme inteligente utilizate intr-o cladire smart. Am prezentat, pe
scurt, tehnologiile web utilizate, felul in care acestea se imbina cu limbajul C utilizat in cadrul
Arduino IDE urmand sa detaliez in capitolul 4.
Totodata, am realizat o detaliere mai ampla al platformelor Arduino, mai ales Arduino
MEGA, platforma utilizata de mine in proiect, alaturi de Shield-ul Ethernet W5100.
Tot în acest capitol trebuie prezentate standardele de urmat în cadrul proiectării
sistemelor inteligente din locuinta, impreuna cu senzorii ce stau la baza acestora. Am conturat
cate o scurta prezentare pentur fiecare senzor in parte, in care am avut in vedere scoaterea in
evidenta a importantei sale in proiect.
Finalul capitolului s-a concentrate pe descrierea scurta a celorlalte componente ale
sistemelor locuintei, in special servomotoarele.
În capitolul 3 s-a prezentat în întregime modul de lucru şi paşii de urmat în proiectarea
machetei finale pentru demonstraţie. Aşadar am realizat o descriere a controlului efectiv prin
interfaţa Web, am avut în vedere prezentarea in amanunt a codului rulat de Arduino IDE, o
analiză asupra temei de proiectare şi proiectarea propriu-zisă a sistemului ingeligent de
monitorizare si control al locuintei existent în proiectul practic. Explicatiile cu privire la liniile
de cod s-au realizat printr-o succesiune de imagini demonstrative alaturi de explicatiile lor in
limbaj natural.
49
Bibliografie
1. https://tettu.ro/casa-inteligenta-cum-te-ajuta-electronicele-smart-sa-iti-simplifici-viata/
2. https://www.lighting.philips.ro/educatie/viitorul-iluminatului/hue/casa-inteligenta-
sistemele-de-automatizare-a-locuintei
3. https://tettu.ro/casa-inteligenta-cum-te-ajuta-electronicele-smart-sa-iti-simplifici-
viata/.
4. https://publimix.ro/blog/imobiliare/smart-house
5. https://casaecologicaintrevissirealitate.wordpress.com/2017/04/18/casa-ecologica-din-
perspectiva-sistemelor-inteligente-si-a-scenariilor-functionale-actuale/
6. https://publimix.ro/blog/imobiliare/smart-house
7. http://www.fih.upt.ro/jla/images/articole/ST02/st02-03.pdf
8. https://biblioteca.utcluj.ro/files/carti-online-cu-coperta/336-3.pdf
9. http://users.utcluj.ro/~rdanescu/pmp_c01.pdf
10. http://www.mantech.co.za/datasheets/products/A000047.pdf
11. https://store.arduino.cc/arduino-ethernet-shield-2
12. http://www.fih.upt.ro/jla/images/articole/ST02/st02-06.pdf
13. https://www.optimusdigital.ro/ro/senzori-senzori-de-umiditate/73-senzor-de-
umiditate-a-solului.html?search_query=senzor+pentru+umiditatea+solului&results=2
14. https://profs.info.uaic.ro/~arduino/index.php/Temperatura_%26_Umiditate
50
15. http://rf-opto.etti.tuiasi.ro/docs/files/LED.pdf
16. http://users.utcluj.ro/~rdanescu/pmp_c08.pdf
17. https://www.pestre.ro/blog/pompa-de-apa-cum-o-alegem/
18. http://tet.pub.ro/pages/SDTF/Lab3.pdf
19. https://ro.scribd.com/doc/23824437/relee-prezentare
51
ANEXA 1.PREZENTAREA CODULUI SURSĂ DE
PROGRAMARE
#include<SPI.h>
#include<Ethernet.h>
#include <Servo.h>
#include <dht.h>
#define DHT11_PIN A0
#define soilMosture A2
Servo first_servo;
Servo second_servo;
dht DHT;
int led1 = 2;//led
int led2 = 3;//led
int led3 = 4;//led
int led4 = 5;//led
int fan = 8;//fan
int relayPin = 9;
int gasSensor = A1;//gas
void setup() {
Serial.begin(9600);
Serial.println("DHT11 Humidity & temperatura Senzor \n\n");
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(fan, OUTPUT);
pinMode(relayPin, OUTPUT);
first_servo.attach(6);
second_servo.attach(7);
52
Ethernet.begin(mac);
Serial.print("Server is at ");
Serial.println(Ethernet.localIP());
}
void loop() {
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.print(c);
if (c == '\n') {
Serial.print(readString);
client.println("<HTTP/1.1 200 0K>");
client.print("<Connection-Type: text/html>");
client.println("<Connection: close>");
client.println();
client.println("<!DOCTYPE html>");
client.println("<html>");
client.println("<head>");
client.println("<title>Licenta Paun Petre</title>");
53
client.println("<meta http-equiv='refresh' content='2'>");
client.println("</head>");
//LUMINI
client.println("<a href=\"/?button1on\"\"><button style='font-size:40px;'>Lumini
aprinse</button></a>");
client.println("<a href=\"/?button2off\"\"><button style='font-size:40px;'>Lumini
stinse</button></a>");
//MESAJ LUMINI
if (readString.indexOf("?button1on") > 0) {
client.println("<br>");
client.println("<span style='font-size:20px;color:green;'>Luminile sunt
aprinse</span>");
}
if (readString.indexOf("?button2off") > 0) {
client.println("<br>");
client.println("<span style='font-size:20px;color:red;'>Luminile sunt stinse</span>");
}
client.println("<br>");
//LUMINI LIVING
client.println("<a href=\"/?button1.1on\"\"><button style='font-size:40px;'>Aprinde
lumina LIVING</button></a>");
client.println("<a href=\"/?button1.1off\"\"><button style='font-size:40px;'>Stinge
lumina LIVING</button></a>");
if (readString.indexOf("?button1.1on") > 0) {
client.println("<br>");
54
client.println("<span style='font-size:20px;color:green;'>Lumina LIVING
aprinsa</span>");
digitalWrite(led1,HIGH);
}
if (readString.indexOf("?button1.1off") > 0) {
client.println("<br>");
client.println("<span style='font-size:20px;color:red;'>Lumina LIVING
stinsa</span>");
digitalWrite(led1,LOW);
}
client.println("<br>");
//LUMINI DORMITOR
client.println("<a href=\"/?button2.1on\"\"><button style='font-size:40px;'>Aprinde
lumina dormitor</button></a>");
client.println("<a href=\"/?button2.1off\"\"><button style='font-size:40px;'>Stinge
lumina dormitor</button></a>");
if (readString.indexOf("?button2.1on") > 0) {
client.println("<br>");
client.println("<span style='font-size:20px;color:green;'>Lumina dormitor
aprinsa</span>");
digitalWrite(led4,HIGH);
}
client.println("<br>");
55
//LUMINI BUCATARIE
client.println("<a href=\"/?button3.1on\"\"><button style='font-size:40px;'>Aprinde
lumina bucatarie</button></a>");
client.println("<a href=\"/?button3.1off\"\"><button style='font-size:40px;'>Stinge
lumina bucatarie</button></a>");
if (readString.indexOf("?button3.1on") > 0) {
client.println("<br>");
client.println("<span style='font-size:20px;color:green;'>Lumina bucatarie
aprinsa</span>");
digitalWrite(led2,HIGH);
}
client.println("<br>");
//LUMINI BAIE
client.println("<a href=\"/?button4.1on\"\"><button style='font-size:40px;'>Aprinde
lumina baie</button></a>");
client.println("<a href=\"/?button4.1off\"\"><button style='font-size:40px;'>Stinge
lumina baie</button></a>");
56
if (readString.indexOf("?button4.1on") > 0) {
client.println("<br>");
client.println("<span style='font-size:20px;color:green;'>Lumina baie
aprinsa</span>");
digitalWrite(led3,HIGH);
}
client.println("<br>");
client.println("<br>");
57
if (readString.indexOf("?button5on") > 0) {
client.println("<br>");
client.println("<span style='font-size:20px;color:green;'>Usa spate a fost
deblocata</span>");
}
if (readString.indexOf("?button6off") > 0) {
client.println("<br>");
client.println("<span style='font-size:20px;color:red;'>Usa spate a fost
blocata</span>");
}
client.println("<br>");
//AERISIRE
client.println("<a style='margin-left:10px;' href=\"/?button7on\"\"><button style='font-
size:40px;'>Porneste aerisirea</button></a>");
client.println("<a href=\"/?button8off\"\"><button style='font-size:40px;'>Opreste
aerisirea</button></a>");
if (readString.indexOf("?button7on") > 0) {
client.println("<br>");
client.println("<span style='font-size:20px;color:green;'>Aerisire pornita</span>");
}
if (readString.indexOf("?button8off") > 0) {
client.println("<br>");
client.println("<span style='font-size:20px;color:red;'>Aerisire oprita</span>");
}
client.println("<br>");
//stropire planta
client.println("<a href=\"/?button11on\"\"><button style='font-size:40px;'>Porneste
pompa de apa</button></a>");
client.println("<a href=\"/?button12off\"\"><button style='font-size:40px;'>Opreste
pompa de apa</button></a>");
if (readString.indexOf("?button11on") > 0) {
client.println("<br>");
client.println("<span style='font-size:20px;color:green;'>Stropire planta
pornita</span>");
58
}
if (readString.indexOf("?button12off") > 0) {
client.println("<br>");
client.println("<span style='font-size:20px;color:red;'>Stropire planta oprita</span>");
}
client.println("<br>");
client.println("<br>");
client.println("<span>Temperatura: </span>");
client.println(DHT.temperature); client.println("grade Celsius");
client.println("<br>");
client.println("<span>Umiditatea: </span>");
client.println(DHT.humidity); client.println("%"); client.println("<br>");
client.println("<span>Umiditatea din sol: </span>");
client.println(analogRead(soilMosture));
client.println("</body>");
delay(1);
if (readString.indexOf("?button1on") > 0) {
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
if (readString.indexOf("?button2off") > 0) {
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
59
client.println("<p style='font-size:30px; color:red; font-weight:bold;'>A fost detectat
gaz in casa, AERISIRE ACTIVA</p>");
client.println("<a href=\"/?button9on\"\"><button style='font-
size:40px;'>DEBLOCHEAZA USILE!</button></a>");
if (readString.indexOf("?button9on") > 0) {
first_servo.write(145);
second_servo.write(40);
client.println("<br>");
} else {
digitalWrite(fan, LOW);
if (readString.indexOf("?button3on") > 0) {
first_servo.write(145);
if (readString.indexOf("?button4off") > 0) {
first_servo.write(80);
if (readString.indexOf("?button5on") > 0) {
second_servo.write(40);
60
}
if (readString.indexOf("?button6off") > 0) {
second_servo.write(120);
if (readString.indexOf("?button7on") > 0) {
digitalWrite(fan, HIGH);
client.println("<br>");
client.println("<a href=\"/?button7on\"\"><button style='font-size:50px;'>Reincarca
pagina</button></a>");
client.println("<script>window.stop()</script>");
if (readString.indexOf("?button7on") > 0) {
digitalWrite(fan, HIGH);
client.println("<script>window.reload()</script>");
if (readString.indexOf("?button8off") > 0) {
digitalWrite(fan, LOW);
if (readString.indexOf("?button11on") > 0) {
digitalWrite(relayPin, HIGH);
delay(5000);
digitalWrite(relayPin, LOW);
delay(10000);
}
if (readString.indexOf("?button12off") > 0) {
61
digitalWrite(relayPin, LOW);
}
client.stop();
readString = "";
}
}
}
62