Documente Academic
Documente Profesional
Documente Cultură
1. Descrierea lucrării
𝐼𝐶𝑇 = (𝑡! ∗ 1,8 + 32) − (0,55 − 0,0055 ∗ ℎ) ∗ [𝑡! ∗ 1,8 + 32) − 58]
unde 𝑡! este temperatura (°C) iar ℎ este umiditatea relativă (%) [1].
2
2. Componente hardware
Arduino UNO R3 1
Breadboard 82 x 52 x 10 mm 1
Afișare pe 2
Ecran LCD rânduri a câte 16 1
caractere
Realizează
interfațarea
Modul I2C 1
ecranului LCD cu
microcontrolerul
tată – tată 8
Fire de legătură
mamă - tată 4
Modul traductor
LM50 1
de temperatură
Modul traductor
SYH - 2R 1
de umiditate
3
Observații
4
Măsurarea temperaturii
𝑉𝑎𝑙𝐷𝑖𝑔𝑇𝑒𝑚𝑝 ∗ 𝑉!!
𝑈"#$% =
1023
𝑈"#$% − 0,5
𝑡𝑒𝑚𝑝 =
0,01
5
Figura 4. Traductor de umiditate realizat cu senzorul SYH-2R și caracteristica
acestuia [3]
Măsurarea umidității
Valorile preluate din grafic se regăsesc în tabelul de mai jos, în coloanele Rezistență
și Umiditate. S-a ales afișarea umidității măsurate cu un pas de 5% pentru
simplificarea secvenței de cod.
Prin utilizarea unui divizor rezistiv de tensiune căruia i se aplică tensiunea Vcc, la
ieșire se obține o tensiune proporțională cu variația rezistenței senzorului (U_Umid)
calculată conform formulei:
𝑅)#*+,-
𝑈&$'( = 𝑉!! ∗
𝑅 + 𝑅)#*+,-
6
Valoarea digitală furnizată de placa Arduino corespunzătoare fiecărui nivel de
tensiune de la intrare se calculează conform formulei:
1023 ∗ 𝑈&$'(
𝑉𝑎𝑙𝐷𝑖𝑔𝑈𝑚𝑖𝑑 =
𝑉!!
Rezistență
Umiditate UUmid Domeniu
senzor
[%] [V] ValDigUmid
[W]
20 5000 4,166666667 853 1023
55 55 0,260663507 53 92
60 33 0,159728945 33 52
65 19,5 0,095635115 20 32
70 12 0,059288538 12 19
75 7,5 0,037220844 8 11
80 5 0,024875622 5 7
85 3,35 0,016694075 3 4
90 2,3 0,011473611 2
95 0 1
7
Ecranul LCD este format din 2 linii a câte 16 caractere, fiecare caracter fiind compus
din 5x8 pixeli. Numerotarea coloanelor (caracterelor) se face de la 0 la 15 (de la
stânga la dreapta), iar al rândurilor de la 0 la 1 (de sus în jos).
Pentru a funcționa, ecranul LCD utilizează pinii plăcii Arduino SCL, SDA, VCC și GND.
3. Componente software
int variabilă = valoare stabilește o valoare pentru o variabilă de tip întreg pe 16 biți,
cu semn (de la -32.768 până la 32.767).
float variabilă = valoare stabilește o valoare pentru o variabilă de tip real în virgulă
mobilă pe 32 de biți, cu semn (de la -3.4028235E+38 până la 3.4028235E+38).
Numărul total de digiți afișați cu precizie este 6 – 7 (include toți digiții, nu doar cei
de după virgulă).
void setup() este o funcție (care nu returnează date și nu are parametri) ce rulează
o singură dată la începutul programului. Aici se stabilesc instrucțiunile generale de
pregătire a programului (setare pini, activare porturi seriale, etc.).
void loop() este principala funcție a programului (care nu returnează date și nu are
parametri) și este executată în mod continuu atâta timp cât placa funcționează și
nu este resetată.
8
switch(variabilă) / case(valoare/domeniu de valori): instrucțiune / break compară
valoarea unei variabile cu valorile specificate în condițiile case și execută
instrucțiunea atunci când există o potrivire. Comanda break determină ieșirea din
instrucțiunea switch.
lcd.clear() șterge ecranul LCD și poziționează cursorul în colțul din stânga sus.
lcd.print() afișează pe ecranul LCD datele (valori ale unor variabile)/textul dintre
paranteze. Pentru a afișa un text este necesar ca acesta să fie plasat între ghilimele
(”text”). Pentru a afișa valoarea unei variabile de tip char, byte, int, long, sau string
se scrie numele variabilei și, opțional, baza de numerație a acesteia (variabilă, BIN
sau DEC sau OCT sau HEX). Pentru a afișa valoarea unei variabile de tip float sau
double se scrie numele variabilei iar după virgulă, numărul de zecimale dorit a se
afișa (variabilă, nr. zecimale).
10
4.2. Schema logică și secvența de cod
11
12
Deoarece valorile reale diferă de cele teoretice, este necesară o calibrare a circuitului
electronic de măsurare realizat, prin modificări în partea de software:
5. Evaluare
6. Bibliografie
[3] Samyoung S&C Co., Ltd., „Humidity sensor SYH-2R series - specifications”.
14