Turinys:

Drėgmės matavimas naudojant HYT939 ir „Arduino Nano“: 4 žingsniai
Drėgmės matavimas naudojant HYT939 ir „Arduino Nano“: 4 žingsniai

Video: Drėgmės matavimas naudojant HYT939 ir „Arduino Nano“: 4 žingsniai

Video: Drėgmės matavimas naudojant HYT939 ir „Arduino Nano“: 4 žingsniai
Video: Savadarbis dirvos dregmes indikatorius (Самодельный индикатор влажности почвы) 2024, Lapkritis
Anonim
Image
Image

HYT939 yra skaitmeninis drėgmės jutiklis, veikiantis pagal I2C ryšio protokolą. Drėgmė yra esminis medicinos sistemų ir laboratorijų parametras, todėl, siekdami šių tikslų, bandėme sujungti HYT939 su arduino nano. Šioje pamokoje parodyta HYT939 jutiklio modulio sąsaja su arduino nano.

Norėdami nuskaityti drėgmės vertes, mes naudojome arduino su I2c adapteriu. Šis I2C adapteris leidžia lengvai ir patikimiau prijungti prie jutiklio modulio.

Ryšio protokolas, kuriame veikia jutiklis, yra I2C. I2C reiškia integruotą grandinę. Tai ryšio protokolas, kuriame ryšys vyksta per SDA (nuoseklius duomenis) ir SCL (nuoseklaus laikrodžio) linijas. Tai leidžia prijungti kelis įrenginius vienu metu. Tai vienas iš paprasčiausių ir efektyviausių ryšio protokolų.

1 veiksmas: reikalinga aparatūra:

Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra
Reikalinga aparatūra

Medžiagos, reikalingos mūsų tikslui pasiekti, apima šiuos aparatūros komponentus:

1. HYT939

2. „Arduino Nano“

3. I2C kabelis

4. I2C skydas „Arduino nano“

2 veiksmas: prijungimas prie aparatūros:

Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas
Aparatūros prijungimas

Techninės įrangos prijungimo skyrius iš esmės paaiškina laidų jungtis, reikalingas tarp jutiklio ir „arduino nano“. Užtikrinti teisingas jungtis yra pagrindinė būtinybė dirbant su bet kuria norimos išvesties sistema. Taigi, būtinos jungtys yra šios:

HYT939 veiks per I2C. Čia yra elektros instaliacijos schemos pavyzdys, parodantis, kaip prijungti kiekvieną jutiklio sąsają.

Iš karto plokštė sukonfigūruota I2C sąsajai, todėl rekomenduojame naudoti šį prijungimą, jei esate kitaip agnostikas. Viskas, ko jums reikia, yra keturi laidai!

Reikia tik keturių jungčių „Vcc“, „Gnd“, „SCL“ir „SDA“kaiščių, kurie yra prijungti naudojant I2C kabelį.

Šie ryšiai parodyti aukščiau esančiose nuotraukose.

3 žingsnis: „Arduino“drėgmės matavimo kodas:

„Arduino“drėgmės matavimo kodas
„Arduino“drėgmės matavimo kodas
„Arduino“drėgmės matavimo kodas
„Arduino“drėgmės matavimo kodas

Pradėkime nuo „Arduinoo“kodo dabar.

Naudodami jutiklio modulį su „Arduino“, įtraukiame „Wire.h“biblioteką. „Wire“bibliotekoje yra funkcijos, palengvinančios „i2c“ryšį tarp jutiklio ir „Arduino“plokštės.

Visas „Arduino“kodas pateiktas žemiau, kad būtų patogiau:

#įtraukti

// HYT939 I2C adresas yra 0x28 (40)

#define Addr 0x28

negaliojanti sąranka ()

{

// Inicijuoti I2C komunikaciją kaip MASTER

Wire.begin ();

// Inicijuoti serijinį bendravimą

Serial.begin (9600);

vėlavimas (300);

}

tuštumos kilpa ()

{

nepasirašyti int duomenys [4];

// Pradėti I2C perdavimą

Wire.beginTransmission (Addr);

// Siųsti įprasto režimo komandą

Wire.write (0x80);

// Sustabdyti I2C perdavimą

Wire.endTransmission ();

vėlavimas (300);

// Prašyti 4 baitų duomenų

Wire.requestFrom (Addr, 4);

// Perskaitykite 4 baitus duomenų

// drėgmė msb, drėgmė lsb, temp msb, temp lsb

jei (Wire.available () == 4)

{

duomenys [0] = Wire.read ();

duomenys [1] = Wire.read ();

duomenys [2] = Wire.read ();

duomenys [3] = Wire.read ();

// Konvertuokite duomenis į 14 bitų

plūdės drėgmė = (((duomenys [0] ir 0x3F) * 256,0) + duomenys [1]) * (100,0 / 16383,0);

plūdė cTemp = (((duomenys [2] * 256,0) + (duomenys [3] ir 0xFC)) / 4) * (165,0 / 16383,0) - 40;

plūdė fTemp = (cTemp * 1.8) + 32;

// Duomenų išvedimas į serijinį monitorių

Serial.print („Santykinė drėgmė:“);

Serijinis atspaudas (drėgmė);

Serial.println (" %RH");

Serial.print ("Temperatūra Celsijaus laipsniais:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("Temperatūra Farenheitu:");

Serial.print (fTemp);

Serial.println ("F");

}

vėlavimas (300);

}

Laidų bibliotekoje Wire.write () ir Wire.read () naudojami komandoms rašyti ir jutiklio išėjimui skaityti. Toliau pateikta kodo dalis iliustruoja jutiklio išvesties rodmenis.

// Skaityti 4 baitus duomenų // drėgmė msb, drėgmė lsb, temp msb, temp lsb if (Wire.available () == 4) {data [0] = Wire.read (); duomenys [1] = Wire.read (); duomenys [2] = Wire.read (); duomenys [3] = Wire.read ();

}

Jutiklio išvestis parodyta aukščiau esančiame paveikslėlyje.

4 žingsnis: programos:

Programos
Programos

HYT939 yra efektyvus skaitmeninis drėgmės jutiklis, naudojamas medicinos sistemose, autoklavuose. Slėgio rasos taško matavimo ir džiovinimo sistemos taip pat gali naudoti šį jutiklio modulį. Įvairiose laboratorijose, kuriose tinkamas drėgmės lygis yra esminis eksperimentų atlikimo parametras, šį jutiklį galima naudoti ten, kur reikia matuoti drėgmę.

Rekomenduojamas: