Licenta 09.06.2019 [619324]

PROIECT DE DIPLOMA
Sisteme IoT pentru case inteligente

Coordonator:
Prof. dr.ing. Radu Vasiu

Student:
Török Zsolt

Timisoara
2019

Universitatea „Politehnica” Timișoara
Facultatea de Electronică, Telecomunicații și
Tehnologii Informa ționale Timișoara

Cuprins
1 INTRODUCERE ………………………….. ………………………….. ………………………….. ……………………… 1
1.1 CARACTERISTICI IOT: ………………………….. ………………………….. ………………………….. …………………… 1
1.2 SCURTA DESCRIERE A PR OIECTULUI : ………………………….. ………………………….. ………………………….. ….. 3
2 PREZENTAREA ECHIPAME NTELOR ………………………….. ………………………….. ……………………….. 4
2.1 PREZENTAREA ECHIPAMEN TELOR PE CARE LE VOM FOLOSI ………………………….. ………………………….. …….. 4
2.2 SPECIFICAȚII TEHNICE ALE ECHIPAMENTELOR ………………………….. ………………………….. …………………….. 4
2.2.1 Placa de dezvoltare Arduino mega 2560 ………………………….. ………………………….. ……….. 4
2.2.2 Ethernet shield W5100 ………………………….. ………………………….. ………………………….. …… 5
2.2.3 Senzor ultrasonic detector de distanta HC – SR04 ………………………….. ……………………….. 6
2.2.4 Senzor de umiditate si temperatură digital DHT11 ………………………….. ……………………… 7
2.2.5 Modul RTC (real – time clock) de precizie DS3231 I2C ………………………….. …………………. 7
2.2.6 Modul RFID – RC522 ………………………….. ………………………….. ………………………….. ………. 8
2.2.7 LCD display 1602 + adaptor I2C ………………………….. ………………………….. ……………………. 9
2.2.8 Modul PIR senzor de prezenta ………………………….. ………………………….. ……………………. 10
2.2.9 Modul relee 4 canale ………………………….. ………………………….. ………………………….. ……. 11
2.2.10 Servo motor SG90 ………………………….. ………………………….. ………………………….. ………… 11
2.2.11 Buton push ………………………….. ………………………….. ………………………….. …………………. 12
2.2.12 NVR (Netw ork Video Recorder) ………………………….. ………………………….. ………………….. 12
3 DEZVOLTAREA PROIECTU LUI ………………………….. ………………………….. ………………………….. ….14
3.1 TERMOSTAT DE AMBIENTA L CU SENZOR DE TEMPE RATURA DHT 11 ………………………….. ……………………. 14
3.1.1 Explicarea codului: ………………………….. ………………………….. ………………………….. ……….. 15
3.2 RTC (REAL TIME CLOCK ) ………………………….. ………………………….. ………………………….. ……………… 18
3.3 COMANDA UNEI YALE SI A ILUMINATULUI CU MO DULUL RFID SI PIR ………………………….. …………………… 19
3.4 CONTROLUL BECURILOR C U AJUTORUL MODULULUI ULTRASONIC DE DISTA NTA HC – SR04 ……………………… 23
4 BIBLIOGRAFIE ………………………….. ………………………….. ………………………….. ………………………. 1

Sisteme IoT pentru case inteligente Török Zsolt

Table figuri

Figura 1 -1 PROIECT ………………………….. ………………………….. ………………………….. …… 3
Figura 2 -1 Placa de dezvoltare Arduino Mega 2560 ………………………….. ………………….. 4
Figura 2 -2 Ethernet Shield ………………………….. ………………………….. ………………………… 5
Figura 2 -3 Senzor ultra sonic HC – SR04 ………………………….. ………………………….. ……. 6
Figura 2 -4 DHT11 Senzor de umiditate si temperatura ………………………….. ……………… 7
Figura 2 -5 RTC DS3231 ………………………….. ………………………….. ………………………….. . 7
Figura 2 -6 Modul RFID ………………………….. ………………………….. ………………………….. .. 8
Figura 2 -7 Display LCD 1602 ………………………….. ………………………….. ……………………. 9
Figura 2 -8 Modul I2C pentru display LCD ………………………….. ………………………….. … 10
Figura 2 -9 Modul PIR ………………………….. ………………………….. ………………………….. … 10
Figura 2 -10 Modul releu 4 canale ………………………….. ………………………….. …………….. 11
Figura 2 -11 Servomotor SG90 ………………………….. ………………………….. …………………. 11
Figura 2 -12 Buton de tip push ………………………….. ………………………….. ………………….. 12
Figura 2 -13 Camera supraveghere, NVR ………………………….. ………………………….. …… 12
Figura 3 -1 Termostat ambiental cu sen zor de temperatura DHT 11 ………………………. 14
Figura 3 -2 Rezistenta pull – down ………………………….. ………………………….. …………….. 15
Figura 3 -3 LCD rezultat final ………………………….. ………………………….. …………………… 17
Figura 3-4 RTC (ceas in timp real) ………………………….. ………………………….. …………… 18
Figura 3 -5 Afisare data si ora ………………………….. ………………………….. …………………… 19
Figura 3 -6 Modul RFID cu modul PIR si releu ………………………….. ………………………. 19
Figura 3 -7 Controlul becurilor cu ajutorul modulului ultrasonic de distanta HC – SR04
………………………….. ………………………….. ………………………….. ………………………….. ……………… 24

Sisteme IoT pentru case inteligente Török Zsolt

Sisteme IoT pentru case inteligente Török Zsolt
1 1 Introducere
Conceptul de ”Casă Inteligentă”, conectată la Internet, nu mai reprezintă doar o idee
vizionară, ci este realitatea în care trăim. Fie că vorbim de calculatoare, telefoane, televizoare
sau alte obiecte aflate într-o locuință .
Cum ar fi dacă luminile s -ar aprinde în momentul în care mașina intră în curte, ușa
garajului s -ar deschide automat, în casă sunt 21 de grade Celsius, lumina de pe hol se aprindă
odată cu deschiderea ușii de la intrare, casa fiind controlata de la distanță prin telefon sau de
la birou prin intermediul calculatorului, cu câteva clipe înainte de a pleca de la birou.
Datorită nivelului tehnologic ridicat, acum este posibil să visam la o casă, cu adevarat,
așa cum ne -am dorit -o, o locu ință capabilă să ne ridice la un alt standard viața.
Noțiunea de casă cu inteligență („brain“) care să se adapteze cerințelor persoanelor
care locuiesc într -un asemenea spațiu a apărut încă din 1920, concept introdus de Le
Corbusier, arhitect modernist. Od ată cu evoluția tehnologică, termenul de SMART
BUILDING a căpătat noi definiții și utilizări.
Conceptul de „casă inteligentă“ înglobează nevoia oamenilor de a avea control, cu o
mai mare usurință și cu o configurabilitate ridicată, asupra spațiului în care își desfașoară
activitățile zilnice. În viitor acest „curent“ va îngloba tehnologii noi care vor fi aliniate la
standarde comune globale.
“Internet of Things” este o rețea de dispozitive electronice, senzori care comunica cu
un software si permite utiliza torului sa monitorizeze sau sa controleze de la distanta anumite
operațiuni.
In zona de casă inteligentă, dorința umană de a avea un cămin cât mai primitor și
comod de folosit, ne împinge cu pași grăbiți în era ”Internet of Things” unde totul este
conectat la Internet și controlat cu ușurință prin intermediul acestuia.[ 17]
Gartner a estimat că, până în anul 2020, vor fi aproape 26 de miliarde de dispozitive pe
Internet ul lucrurilor. ABI Research estimează că mai mult de 30 de miliarde de dispozitive
vor fi conectate wireless la Internetul lucrurilor până în 2020. [18]

1.1 Caracteristi ci IoT:
Cele mai importante caracteristici ale Internetului lucrurilor sunt următoarele:[ 18]
➢ Distributivitatea: Internetul lucrurilor va evolua într -un mediu extrem de
distribuit. Datele vor putea fi colectate din surse diferite și prelucrate de către
mai multe entități într-un mod distribuit;

Sisteme IoT pentru case inteligente Török Zsolt
2 ➢ Interoperabilitatea: dispozitivele provenite de la furnizori diferiți vor trebui
să coopereze în vederea atingerii obiectivelor comune. Sistemele și
protocoalele vor trebui să fie proiectate într-un mod care să permită obiectelor
(dispozitivelor) provenite de la diverși producători să facă schimb de date și să
lucreze într -un mod interoperabil;
➢ Scalabilitatea: în Internetul lucrurilor se preconizează că miliarde de obiecte
vor face parte din rețea . Astfel, sistemele și aplicațiile care rulează în partea de
sus a rețelei vor trebui să gestioneze un volum fără precedent de date;
➢ Deficitul de resurse: atât puterea energetică, cât și resursele de calcul vor fi
extrem de limitate;
➢ Securitatea: existența unui control extern necunoscut va genera frustrare în
rândul utilizatorilor fapt care ar reprezenta un impediment serios în ceea ce
privește implementarea Internetului lucrurilor.
O aplicație Android potrivită bazată pe Wi -Fi, care este Virtuino, e ste utilizată,
deoarece are o interfață prietenoasă și funcționează eficient cu Arduino Mega pentru a
controla și monitoriza prin intermediul unui telefon inteligent. Controlerul Arduino este
programat să interacționeze cu aplicația Virtuino. Modulul Wi -Fi, buzer , senzor de
temperatură și umiditate vor fi conectate direct la microcontrolerul Arduino Mega.
Microcontrolerele sunt folosite pentru a monitoriza senzori, cum ar fii senzor de
temperatura, umiditate, senzor de lumina, etc., si de acționare cum ar f ii acționarea unor relee,
motoare.

Sisteme IoT pentru case inteligente Török Zsolt
3 1.2 Scurta descriere a proiectului:

Figura 1-1 PROIECT
Pentru realizarea proiectului vom folosi o placa de dezvoltare Arduino Mega 2560 care
este echipat cu un controler ATm ega 2560, cu care vom monitoriza senzori si vom controla
ieșirile care vor acționa diverse echipamente.
➢ Senzor de temperatura Dht11 , cu care vom monitoriza temperatura ambientala,
si vom controla pornirea încălzirii . Datele vor fi vizibile pe un display in timp
real.
➢ Ceas in timp real (RTC) va afișa pe un display data si ora
➢ NVR (Network Video Recorder) cu doua camere de supraveghere, care au rolul
de a detecta trecerea liniei, si detecția unui intrus intr -un perimetru setat. Acesta
va comanda o intrare de pe controler, care va acționa o ieșire si va aprinde
lumina pe zona setata.
➢ Modulul RFID va acționa o yala si va comanda aprinderea iluminatului intr -un
depozit fără lumina naturala.
➢ Modul PIR ( Passive infrared sensor ) care se va folosi pentru detecția mișcări in
perimetrul instalat, acesta va împiedica stingerea becurilor din încăperea
respectiva atâta timp cât este miscare.
➢ Servo motor SG90 cu modulul de temperatura Dht11 vor controla temperatura
si umiditatea dintr -o cămară , acționând un ventilator si deschizând un geam
pentru reducerea umidității si a temperaturi pana la pragul setat.
➢ Senzorul de lumina va împiedica acționarea iluminatului daca lumina din
încăpere este mai mare ca și pragul definit.

Sisteme IoT pentru case inteligente Török Zsolt
4 2 Prezentarea echipamentelor
2.1 Prezentarea echipamentelor pe care le vom folosi

Pentru realizare acestui proiect vom folosi următoarele echipamente:
➢ Placa de dezvoltare Arduino mega 2560
➢ Ethernet shield W5100
➢ Senzor ultrasonic detector de distanta HC – SR04
➢ Senzor de umiditate si temperatură digital DHT11
➢ Modul RTC (real – time clock) de precizie DS3231 I2C
➢ Modul senzor de lumina
➢ Modul RFID – RC522
➢ LCD display 1602 + adaptor I2C
➢ Servo motor SG90
➢ Modul relee 4 canale
➢ Modul PIR senzor de prezenta
➢ Buton push
➢ NVR

2.2 Specificații tehnice ale echipamentelor
In ace st capitol va voi descrie individual fiecare echipament care va fi folosit si
caracteristicile tehnice.

2.2.1 Placa de dezvoltare Arduino mega 2560

Figura 2-1 Placa de dezvoltare Arduino Mega 2560

Sisteme IoT pentru case inteligente Török Zsolt
5 Placa de dezvoltare Arduino mega 2560 este bazat pe un microcontroler ATmega256
care conține 54 de intrări si ieșiri digitale din care 14 ieșiri pot fi utilizate ca ieșire PWM
(pulse -width modulation) care poate furniza un curent maxim de 40 mA si 16 intrări
analogice.
Alimentarea plăcii se poate realiza prin USB conexiune cu calculatorul sau prin sursa
externa. Dispozitivul poate funcționa cu sursa externa de la tensiune cuprinsa intre 6 volți si
20 de volți, recomandat este ca sursa externa sa fie intre 7 si 20 de volți.
Microcontrolerul are o memorie de 256 KB memorie flash pentru încărcarea codurilor,
programului. Din cei 256 KB 8KB sunt utilizați pentru bootloader. Controllerul are 8 KB
SRAM si 4 KB EEprom care poate fi citit si scris cu librăria EEprom .
Placa are si pini de comunicare serial 0: RX, TX pe pinii 0.1
Serial1: 19(rx) si 18(tx), Serial2: 17(RX) si 16(TX).
I2C: 20(SDA) si 21(SCL)
Programarea placi se face prin conexiune USB cu calculatorul, programarea este
făcută in limbaj C, prin utiliza rea programului Arduino1 care se poate descarcă de pe site -ul
producătorului .[1]

2.2.2 Ethernet shield W5100

Figura 2-2 Ethernet Shield

Shield -ul Ethernet W5100 este bazat pe chipul W5100 de la Wiuznet . Controlerul
ethernet este conceput pentru conectivitate la internet fără sistem de operare. Modulul este
compatibil cu standardele EEE 802.3 10BASE -T și 802.3u compatibil cu 100BASE -TX.[2]

1 https://www.arduino.cc/

Sisteme IoT pentru case inteligente Török Zsolt
6 Specificații tehnice:
➢ Microcontroler Wiznet W5100
➢ Tensiu nea de operare: 5V
➢ Tensiunea de intrare: 6 – 18V
➢ Intrări ieșiri digitale 14 (din care 4 asigura ieșire PWM)
➢ Pin de intrare analogica: 6
➢ Curentul maxim pe ieșire : 40mA

2.2.3 Senzor ultrasonic detector de distanta HC – SR04

Figura 2-3 Senzor ultra sonic HC – SR04
Modulul ultrasonic de distanta poate oferi măsurători exacte intre 2 cm si 400 cm,
acuratețea măsurări este de ± 3 mm. Modulul conține un transmițător ultrasonic un receptor si
un circuit de coma nda.[10]

Principiul de funcționare :
➢ Folosind un IO trigger pentru 10 µs pe nivel ridicat
➢ Modulul transmite opt semnale la 40kHZ si detectează daca este semnal de
întoarcere

Specificații tehnice:
➢ Tensiunea de alimentare: 5V
➢ Curentul consumat in funcționare : 15mA
➢ Frecventa de lucru: 40kHz
➢ Distanta maxima de măsurare : 4 m
➢ Distanta minima de măsurare : 2 cm
➢ Unghiul de măsurare : 15 grade

Sisteme IoT pentru case inteligente Török Zsolt
7 2.2.4 Senzor de umiditate si temperatură digital DHT11

Figura 2-4 DHT11 Senzor de umiditate si temperatura

Este un detector de temperatura si umiditate de baza si încet , recomandat pentru
proiecte de tip hobby. Senzorul este alcătuit dintr -un se nzor capacitiv de umiditate si un
termistor. Are in componenta ei si un chip care face conversia analog digitala a temperaturii si
a temperaturii. Senzorul DHT 11 se poate citi cu orice microcontroler. [3]

Specificații tehnice:
➢ Tensiunea de alimentare: 3 la 5 V
➢ Curentul maxim consumat in timpul conversiei: 2.5mA
➢ Gama de lucru a senzorului de umiditate: 20 – 80%
➢ Acuratețea senzor umiditate: 5%
➢ Gama de lucru a senzorului de temperatura: 0 – 50șC
➢ Acuratețea senzorului de temperatura: ±2șC
➢ Eșantionare nu mai mare de 1Hz

2.2.5 Modul RTC (real – time clock) de precizie DS3231 I2C

Figura 2-5 RTC DS3231

Sisteme IoT pentru case inteligente Török Zsolt
8 Modulul RTC este un ceas in timp real de mare precizie care numără orele minutele,
zilele, lunile si anii, cu compensarea anilor bisecți valabil până in 2100.
Are o memorie de 56 – byte si ca sursa alternativa de back -up are in dotare o baterie
CR – 2032. Modulul detectează automat lipsa tensiunii de alimentare si trece pe alimentarea
de backup.
Adresa modulului si data sunt transferate prin interfața serial I2C pe doua fire
comunicație bidirecționala . Afișarea orei se poate face in format de 12 ore sau 2 4 de ore .[4]
.
Specificații tehnice:
➢ Temperatura de funcționare : 0șC pana la +40 șC varianta hobby
➢ Temperatura de funcționare : -40șC pana la +85șC varianta industriala
➢ Tensiunea de alimentare: 2.3 si 5 V
➢ Logic 1: 0.7 X V cc la V cc + 0.3V
➢ Logic 0: -0.3 la 0.3 x V cc
➢ Tensiunea bateriei: 2 la 3.5V
➢ Curent de standby: 110 la 170 µA
➢ Curent consumat din baterie: 300 la 500nA
➢ Frecventa ceasului SCL: 0 – 100kHz
➢ Perioada LOW SCL: 4. 7µs
➢ Perioada High SCL: 40 µs
➢ Timpul de creștere a semnale SDA și SCL: 1000ns
➢ Timpul de cădere a semnale SDA și SCL: 300ns

2.2.6 Modul RFID – RC522

Figura 2-6 Modul RFID

MFRC522 este un cititor / scriitor IC integrat pentru comunicare fără contact
(contactless). Emițătorul intern al MFRC522 este capabil să conducă o antenă de citire /

Sisteme IoT pentru case inteligente Török Zsolt
9 scriere proiectată să funcționeze să comunice cu cardurile și transponderele ISO / IEC 14443
A / MIFARE fără circuite supliment are active. MFRC522 sprijină comunicarea fără contact și
utilizează viteze de transfer până la 848 kBd în ambele direcții. [6]
Următoarele interfețe gazdă sunt furniza te:
➢ interfața serial
➢ Serial UART (similar cu RS232 cu nivel de tensiune dependent de alimentarea
cu tensiune de pin)
➢ interfața I2C – bus

Specificații tehnice:
➢ tensiunea de alimentare: 2.5V la 3.3V
➢ pini I/O programabile
➢ oscilator intern cu cuarț 27.12 MHz
➢ FIFO buffer care poate trimite si recepționa 64 byte

2.2.7 LCD display 1602 + adaptor I2C

Figura 2-7 Display LCD 1602

Acest display este ideal pentru proiecte de electronică ce necesită afișarea unor
informații simplu și rapid. LCD -ul este iluminat, pentru a permite citirea în spații întunecate
sau pe timp de noapte. Modulul cu afișaj LCD este construit într -un controler LSI,
controlerul are două registre pe 8 biți, un registrul de instrucțiuni (IR) și un registru de
date (DR). []

Specificații tehnice:
➢ tensiunea de alimentare: intre 4.5 si 5.5V
➢ curentul necesar: intre 0.8 si 1.5 mA
➢ unghiul de vizualizare: -20 la 35 grade

Sisteme IoT pentru case inteligente Török Zsolt
10 ➢ timp de răspuns : maxim 250ms
➢ afișaj caractere alfanumerice
➢ afișare 16 caractere pe 2 linii

Modulul I2C este folosit in combinație cu LCD -ul 2×16 sau 4×20 pentru a reduce pinii
folosiți la conectarea LCD -ului la o placa de dezvoltare. Adresele selectabile sunt intre 0x20
la 0x27 . Conectarea se face pe doua fire pe interfața I2C pe SCL si SDA. [7]

Figura 2-8 Modul I2C pentru display LCD

2.2.8 Modul PIR senzor de prezenta

Figura 2-9 Modul PIR
Senzorul de mișcare PIR este ideal pentru detectarea mișcării. Senzorul de mișcare PIR
măsoară radiațiile infraroșie din câmpul sau vizualizare, poate detecta mișcarea bazată pe
schimbarea in radiaților infraroșii din mediu înconjurător . PIR -urile sunt practic realizate
dintr -un senzor piroelectric cu un cristal dreptunghiular în centru, care poate detecta nivelurile
de radiație infraroșie. [8]

Specificații tehnice:
➢ Ieșirea : puls digital înalt 3V
➢ Raza de acoperire: 6m
➢ Tensiunea de alimentare: intre 5 – 12V

Sisteme IoT pentru case inteligente Török Zsolt
11 2.2.9 Modul relee 4 canale

Figura 2-10 Modul releu 4 canale

Este o placă de interfață cu 4 canale LOW Level 5V și fie care canal are nevoie de 15 –
20mA curentul pentru a fi acționat . Poate fi folosit pentru a controla diverse aparate și
echipamente cu curent mare. Este echipat cu relee de curent înalt care funcționează la tensiuni
de AC250V si curent maxim de 10A sau DC30V si curent maxim 10A. Are o interfață
standard care poate fi controlată direct de microcontroler. [9]
Specificații tehnice:
➢ Ieșire releu: AC 250V 10A, DC 30V 10A
➢ Tensiune alimentare bobina: 5V
➢ Curent de acționare : intre 15 si 20 mA
➢ Controlat din microcontroler
➢ Izolat prin optocuplor pentru te nsiuni înalte

2.2.10 Servo motor SG90

Figura 2-11 Servomotor SG90

Este un motor mic si foarte puternic. Se poate roti 180 ș, Controlul servomotorului se
realiză cu ajutorul unu semnal de tip PWM. [12]

Specificații tehnice:

Sisteme IoT pentru case inteligente Török Zsolt
12 • Tensiune de alimentare: 4.8V – 6V;
• Consum redus de curent;
• Viteza de funcționare: 0.12 s/60o @ 4.8 V;
• Cuplu în blocare la 4.8V: 1.8 kgf/cm;
• Frecvență PWM: 50Hz
• Temperatura de funcționare: -30° C – +60° C.

2.2.11 Buton push

Figura 2-12 Buton de tip push

Butoanele de tip push sunt comutatoare tactile de tip normal deschis. Ele ne permit să
alimentăm circuitul sau să facem o conexiune specială numai când apăsăm butonul. Pur și
simplu, face ca circuitul să fie conectat la apăsare și să se deconecteze la eliberare. [13]
Specificații tehnice:
Mod de operare: tactil
Curent maxim: 50ma la 24 V DC
Rezistenta de contact: 100M Ω

2.2.12 NVR (Network Video Recorder)

Figura 2-13 Camera supraveghere, NVR

Sisteme IoT pentru case inteligente Török Zsolt
13
Vom folosi un NVR de la firma Hikvision cu următoarele caracteristici:
➢ Line Crossing Detection
Detectarea traversei liniei este una dintre caracteristicile de detectare a
comportamentului din setul de caracteristici inteligente al lui Hikvision. Dacă o
persoană traversează o linie virt uală predefinită, camera va detecta automat
evenimentul și poate declanșa alarme sau înregistrare dacă este preconfigurată
pentru a face acest lucru.

➢ Intrusion Detection
detectarea intruziunilor este o funcție de analiză a comportamentului în setul
Smar t Features al Hikvision. Dacă o persoană intră și se ocupă într -o regiune
virtuală predefinită, aparatul va detecta automat evenimentul . Aplicând ultimul
algoritm, acesta analizează automat raportul de dimensiuni al intrusului pentru
a reduce alarmele fals e. Detectarea intruziunilor este extrem de benefică pentru
protecția zonei definite
➢ Trimiterea de email cu poza persoanei in atașament , care a intrat in zona
definita.

Sisteme IoT pentru case inteligente Török Zsolt
14 3 Dezvoltarea proiectului

3.1 Termostat de ambiental cu senzor de temperatura DHT 11

Echipamente necesare:

Senzor de temperatura

Display LC D 1602
Buton de tip Push
Placa de dezvoltare Arduino Mega 2560

Modul I2C pentru Lcd 1602

Figura 3-1 Termostat ambiental cu senzor de temperatura DHT 11

Sisteme IoT pentru case inteligente Török Zsolt
15 Descrierea proiectului:
Vom construi un termostat ambiental care va controla temperatura din casă, la scăderea
temperaturii sub cea setată va porni încălzirea .
Temperatura inițială va fi setat pe 21 șC, aceasta temperatura se poate modifica cu
ajutorul celor două butoane. Dacă senzorul DHT 11seszeză scade temperaturii sub cea setată,
va acționa ieșirea D5 de pe controler i va schimba starea din LOW (logic 0) în HIGH (logic 1)
și va menține aceasta star e până la atingerea temperaturii setat ă. Pentru buna funcționare a
butoanelor, se folosesc rezistente de pull – down.

Figura 3-2 Rezistenta pull – down

Rolul rezistentei pull – down: este folosit in circu itele logice pentru a asigura un nivel
logic bine definit unui pin. Circuitele logice au 3 stări HIGH (1 logic), LOW(0 logic),
HIGI_IMPEDANCE(floating). Daca un pin se afla in înalta impedanța (HIGI_IMPEDANCE)
microcontrolerul nu poate citi o valoare core cta a acestui pin drept urmare este folosita o
rezistenta pull – down pentru a asigura 0V constant pinului.[ 15]
Toate datele vor fi afișate pe un display. Acesta este conectat la controler printr -un
modul I2C. Datele afișate pe monitorul LCD 1602 vor fi accesibile si la distanță atât pentru
monitorizare cât si pentru modificarea temperaturii.

3.1.1 Explicarea codului :
1. #include <LiquidCrystal_I2C.h >
2. #include <dht.h>
3. int settemp = 0;
4. dht DHT;
5. ;
6. void setup() {
7. pinMode(2, INPUT);// buton modificare temperatura setata

Sisteme IoT pentru case inteligente Török Zsolt
16 8. pinMode(4, INPUT); //buton modificare temperatura setata
9. pinMode(A2, INPUT);// senzorul de temperatura intrare analogica
10. pinMode(3, OUTPUT);// iesire digitala comanda incalzire
11. }
12. void loop() {
13. settemp = 21
14. lcd2.setCursor (0, 0);
15. lcd2.print("Temp: C" ); // afișarea temperaturii
16. lcd2.setCursor (5, 0);
17. lcd2.print(temp); //temperatura citita de senzor
18. lcd2.setCursor (0, 1);
19. lcd2.print("Temp.set:" );
20. lcd2.print(settemp); // temperatura setata
21.
22. if (DHT.temperature <= settemp) // conditia de pornire {
23. digitalWrite (3, HIGH);
24. lcd2.print(" ON"); //afișare stare
25. } else {
26. digitalWrite (3, LOW);
27. lcd2.print(" OFF " );
28. }
29. }
Pentru acest proiect codul arata în felul următor :
➢ S-au inclus doua librari:
o LiquidCrystal_I2C.h – pentru LCD -ul 1602
o dht.h – pentru DHT 11
➢ s-au declarat variabilele: DHT și setteemp
➢ #include <LiquidCrystal_I2C.h>
➢ #include <dht.h>
➢ int settemp = 0;
➢ dht DHT;

➢ funcția setup (void setup) e ste apelată când începe o schiță. Utilizat pentru a
inițializa variabilele, modurile cu pin, începe să utiliz eze bibliotecile . Funcția
rulează o singura data după fiecare repornire sau resetare a plăcii Arduino.
➢ s-au inițializat pinii:
o pin 2 ca intrare buton
o pin 4 ca intrare buton
o pin 3 ca ieșire comanda
o pin A2 intrare senzor de temperatura
➢ void setup() {
➢ pinMode(2, INPUT);// buton modificare temperatura setata
➢ pinMode(4, INPUT); //buton modificare temperatura setata
➢ pinMode(A2, INPUT);// senzorul de temperatura intrare analogica
➢ pinMode(3, OUTPUT);// iesire digitala comanda incalzire

Sisteme IoT pentru case inteligente Török Zsolt
17 ➢ Funcția de bucla (void loop) După ce a creat o funcție de configurare (), care
inițializează și stabilește valorile inițiale, funcția buclă , rulează bucle
consecutive permițând programului să se schimbe și să răspundă. Utilizat
pentru a comanda si controla placa Arduino
➢ În funcția bucla s -a setat ce sa apară pe display și care este condiția de act ivare
a ieșiri digitale 3
➢ void loop() {
➢ settemp = 21
➢ lcd2.setCursor (0, 0);
➢ lcd2.print("Temp: C" ); // afișarea temperaturii
➢ lcd2.setCursor (5, 0);
➢ lcd2.print(temp); //temperatura citita de senzor
➢ lcd2.setCursor (0, 1);
➢ lcd2.print("Temp.set:" );
➢ lcd2.print(settemp); // temperatura setata

➢ if (DHT.temperature <= settemp) // conditia de pornire {
➢ digitalWrite (3, HIGH);
➢ lcd2.print(" ON"); //afișare stare
➢ } else {
➢ digitalWrite (3, LOW);
➢ lcd2.print(" OFF ");
➢ }
Rezultatul final care va fi afisat :

Figura 3-3 LCD rezultat final

După cum se poate observa si pe afișaj, la schimbarea temperaturii setate se schimba si
textul din „OFF” in „ON”, ce reprezintă activarea ieșiri digitale 3 de pe placa cu
microcontrolerul. La resetarea microcontrolerului s -au rămânerea fără tensiune temperatura
setata revine la 21 șC.

Sisteme IoT pentru case inteligente Török Zsolt
18
3.2 RTC (real time clock)

Echipamente necesare:

Modul RTC (Real Time Clock

Display LCD 1602
Placa de dezvoltare Arduino Mega 2560

Modul I2C pentru Lcd 1602

Figura 3-4 RTC (ceas in timp real)

Sisteme IoT pentru case inteligente Török Zsolt
19 Descrierea proiectului:

Vom folosi modulul de ceas, care ne va ajuta in proiectul nostru cu afișarea ceasului si
datei pe un afișaj LCD 1602. Proiectul permite dezvoltari ulterioare prin adaugarea a trei
butoane putem transforma ceasul si senzorul de temperatura intr -un termostat programabil cu
doua trei intervale de pornire si oprire, s -au actionaera unor iesiri de pe microcontroler, pentru
hranirea automata animalelor sau irigatul in gradina la o anumita ora.

Figura 3-5 Afisare data si ora

3.3 Comanda unei yale si a iluminatului cu modulul RFID si PIR

Figura 3-6 Modul RFID cu modul PIR si releu

Sisteme IoT pentru case inteligente Török Zsolt
20 Descrierea proiectului:
Arduino Mega2560
Modul RFID

Modul PIR HC-SR501

Modul releu
Yala electromagnetica

Proiectul este gândit pentru accesul controlat într-o magazie. Intrarea se face pe baza
unui card de proximitate care este citit de modulul RFID – Rc522. Modulul funcționează pe
radiofrecvență si o antena care generează câmp electromagnetic la frecventa înaltă . Cardul de
proximitate este un dispozitiv pasiv care conține un chip care memorează si procesează
informația , si o antena pentru recepția semnalului transmis. Pentru a citi informația de pe
cardul de prox imitate, acesta este apropiat de cititor care generează un câmp electromagnetic
de înaltă frecventa si alimentează chipul aflat in card care trimite informația memorata spre
cititor sub forma unui semnal radio. Unda schimbata este apoi interpretat de cititor care
trimite datele spre un calculator sau un microcontroler.
Conectarea cititorului la microcontrolerul Arduino Mega, cititorul este alimentat la
3.3V, conține un pin de reset care poate fi conectat la orice ieșire digitala de pe
microcontroler. Comuni carea cu microcontrolerul se bazează pe interfața seriala SPI ( Serial
Peripheral Interface ) care are patru semnale specifice:
➢ SCLK – ceas serial ( ieșire din master)
➢ MOSI/SIMO – Master Output, Slave Input (ieșire master, intrare slave)
➢ MISO/SOMI – Master In put, Slave Output (intrare master, ieșire slave).
➢ SS – Slave Select (active low, ieșire din master)
Pini SPI de pe microcontroler au un răspuns mai rapid fata de ceilalți pin de pe
controler. Fiecare microcontroler are comunicație SPI pe pini diferiți , la microcontrolerul
folosit in proiectul nostru, Arduino Mega acești pin sunt:

Sisteme IoT pentru case inteligente Török Zsolt
21 50 – MISO – Master Input
51 – MOSI – Master Output
52 – SCK – ceas serial
53 – SS – Slave Select
Pentru acest proiect s -a mai folosit un PIR ( Passive infrared sensor ) care va impiedica
lumina sa se stanga atata timp cat este miscare in zona de acoperire a senzorului pir.
Principiul de functionare a senzorului PIR:
➢ Toate obiectele emit caldura sub forma de radiatii infrarosii, inclusiv corpul uman
➢ Senzorul PIR este proiectat pen tru a detecta aceste radiatii
➢ Este alcatuit din doua elemente
o Senzor pioelectric
o Lentila Fresnel
Lentila Fresnel: reduce cantitatea de material necesară în comparație cu o lentilă
convențională, împărțind lentila într -un set de secțiuni inelare concentrice . Un obiectiv
Fresnel ideal ar avea un număr infinit de secțiuni. În fiecare secțiune, grosimea totală este
scăzută în comparație cu o lentilă simplă echivalentă. Acest lucru împarte în mod eficient
suprafața continuă a unei lentile standard într -un set de suprafețe de aceeași curbură, cu
discontinuități treptate între ele. Lentilele Fresnel sunt de obicei realizate din sticlă sau plastic .

Figura 3-7 Lentila Fresnel

Există două potențiometre pe placă pentru a ajusta câțiva parametri:
➢ Sensibilitate – Aceasta stabilește distanța maximă pe care mișcarea poate fi
detectată. Acesta variază de la 3 metri la aproximativ 7 metri.
➢ Timp – Aceasta stabilește cât timp va fi ieșirea HIGH după detectare. La minim
este de 3 secunde, la maximum este de 300 de secunde sau 5 minute.
Senzorul are pe placa doi jumperi :

Sisteme IoT pentru case inteligente Török Zsolt
22 ➢ H- Aceasta este opțiunea Hold / Repeat / Retriggering În această poziție, HC –
SR501 va continua să emită un semnal HIGH atâta timp cât continuă să
detecteze mișcarea.
➢ L- Aceasta este intermitentă sau fără repetare / non -retriggere În această
poziție, ieșirea va rămâne HIGH pentru perioada stabilită de reglajul
potențiometrului TIME.
Senzorul PIR HC – SR501 are loc pentru instalarea suplimentara a doi senzori
suplimentari. Acestea sunt deobicei etichetate cu „RT” si „RL”.

Figura 3-8 Instalare senzori RL si RT
➢ RT – Este destinat pentru un rezistor termistor sensibil la temperatură.
Adăugând acest lucru permite ca HC -SR501 să fie utilizat la temperaturi
extreme, de asemenea crește într -o oarecare măsură acuratețea detectorului.
➢ RL- Această conexiune este pentru un fotorezistor (LDR). Prin adăugarea
acestei componente, HC -SR501 va funcționa numai în întuneric, o aplicație
comună pentru sistemele de iluminare sensibile la mișcare.
La pornirea senzorului, acesta are nevoie de l 30 pana la 60 de secunde pentru
autocalibrare.
Modulul RFID va perimite accesul in incinta controlata actionanda o electroyala, si un
releu care va aprinde luminile, senorul PIR va avea sarcina de a nu opri luminile atata timp cat
detecteaza miscare.
Codul pentru proiect ul PIR este:
1. int ledPin = 10;
2. int inputPin = 9;
3. int pirState = LOW;
4. int val = 0;
5.
6. void setup() {
7. pinMode(ledPin, OUTPUT);
8. pinMode(inputPin , INPUT);
9.
10. }
11.

Sisteme IoT pentru case inteligente Török Zsolt
23 12. void loop(){
13. val = digitalRead (inputPin );
14.
15. if (val == HIGH)
16. {
17. digitalWrite (ledPin, HIGH);
18.
19. if (pirState == LOW)
20. {
21.
22. pirState = HIGH;
23. }
24. }
25. else
26. {
27. digitalWrite (ledPin, LOW);
28.
29. if (pirState == HIGH)
30. {
31. Serial.println("Motion ended!" );
32. }
33. }
34. }

3.4 Controlul becurilor cu ajutorul modulului ultrasonic de distanta HC – SR04

Echipamente folosite:

➢ Placa de dezvoltare Arduino Mega 2560
➢ Senzor ultrasonic de distanta SR04
➢ Buton push
➢ Modul releu

Sisteme IoT pentru case inteligente Török Zsolt
24
Figura 3-9 Controlul becurilor cu ajutorul modulului ultrasonic de distanta HC – SR04

Descrierea proiectului:

Sisteme IoT pentru case inteligente Török Zsolt

4 Bibliografie
1. https://www.robotshop.com/media/files/pdf/arduinomega2560datasheet.pdf
2. https://www.elecrow.com/ download/W5100_Datasheet_v1_1_6.pdf
3. https://cdn –
learn.adafruit.com/downloads/pdf/dht.pdf https://www.ti.com/lit/ds/symlink/bq32000.p
df
4. https://cdn.solarbotics.com/products/datasheets/52110 -ds3231_chronodot.pdf
5. https://ardushop.ro/ro/index.php?controller=attachment&id_attachment=53
6. http://www.hobbytronics.co.uk/datasheets/sensors/MFRC522.pdf
7. https://www.mouser.com/catalog/specsheets/A000056_DATASHEET.pdf
8. https://cdn -learn.adafruit.com/downloads/pdf/pir -passive -infrared -proximity -motion –
sensor.pdf
9. https://www.handsontec.com/dataspecs/4Ch -relay.pdf
10. https://www.electroschematics.com/wp -content/uploads/2013/07/HCSR04 -datasheet –
version -1.pdf
11. https://www.electroschematics.com/wp -content/uploads/2011/04/lm35.pdf
12. https://components101.com/sites/default /files/component_datasheet/SG90%20Servo%
20Motor%20Datasheet.pdf
13. https://components101.com/switches/push -button
14. Îndrumător laborator microcontrolere ARDUINO –
https://biblioteca.utcluj.ro/files/carti -online -cu-coperta/341 -7.pdf
15. https://www.arduino.cc/en/tutorial/button
16. The Internet of Things (IoT): An Overview –
https://www.internetsociety.org/resources/doc/2015/iot -overview
17. Shengwei Wang, ”Intelligent Buildings and Building Automation”, Spon Press, (2010)
18. https://rria.ici.ro/wp -content/uploads/2017/03/03 -ART1 -RRIA -1-2017 -Savu –
Tomescu -Bajenaru -IoT2017.pdf
19. Oreilly Arduino Cookbook 2nd Edition Dec.2011
20. Rui Santo s – Build a Home Automation System for $100
21. Rui Santos & Sara Santos – Ultimate Guide Arduino Sensors Modules

Similar Posts