Obsah:

Meranie vlhkosti pomocou HYT939 a Arduino Nano: 4 kroky
Meranie vlhkosti pomocou HYT939 a Arduino Nano: 4 kroky

Video: Meranie vlhkosti pomocou HYT939 a Arduino Nano: 4 kroky

Video: Meranie vlhkosti pomocou HYT939 a Arduino Nano: 4 kroky
Video: Программирование модуля датчика температуры и влажности ESP8266 ESP01 DHT11 | удаленныйXY | ФЛПрог 2024, November
Anonim
Image
Image

HYT939 je digitálny snímač vlhkosti, ktorý pracuje na komunikačnom protokole I2C. Vlhkosť je kľúčovým parametrom, pokiaľ ide o lekárske systémy a laboratóriá, takže aby sme dosiahli tieto ciele, pokúsili sme sa prepojiť HYT939 s arduino nano. V tomto tutoriáli je ukázané prepojenie senzorového modulu HYT939 s arduino nano.

Na čítanie hodnôt vlhkosti sme použili arduino s adaptérom I2c. Tento adaptér I2C umožňuje jednoduché a spoľahlivé pripojenie k modulu snímača.

Komunikačný protokol, na ktorom senzor funguje, je I2C. I2C znamená interintegrovaný obvod. Ide o komunikačný protokol, v ktorom komunikácia prebieha prostredníctvom liniek SDA (sériové údaje) a SCL (sériové hodiny). Umožňuje pripojenie viacerých zariadení súčasne. Je to jeden z najjednoduchších a najefektívnejších komunikačných protokolov.

Krok 1: Potrebný hardvér:

Potrebný hardvér
Potrebný hardvér
Potrebný hardvér
Potrebný hardvér
Potrebný hardvér
Potrebný hardvér

Materiály, ktoré potrebujeme na dosiahnutie nášho cieľa, obsahujú nasledujúce hardvérové komponenty:

1. HYT939

2. Arduino Nano

3. Kábel I2C

4. I2C štít pre Arduino nano

Krok 2: Pripojenie hardvéru:

Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru
Pripojenie hardvéru

Časť zapojenia hardvéru v zásade vysvetľuje zapojenie potrebné medzi senzorom a arduino nano. Zabezpečenie správneho pripojenia je základnou potrebou pri práci na akomkoľvek systéme s požadovaným výstupom. Potrebné spojenia sú teda tieto:

HYT939 bude fungovať cez I2C. Tu je príklad schémy zapojenia, ktorá ukazuje, ako prepojiť každé rozhranie snímača.

Hneď po vybalení je doska nakonfigurovaná na rozhranie I2C, preto vám toto pripojenie odporúčame použiť, ak ste inak agnostik. Všetko, čo potrebujete, sú štyri drôty!

Vyžadujú sa iba štyri pripojenia Vcc, Gnd, SCL a SDA piny, ktoré sú prepojené pomocou kábla I2C.

Tieto spojenia sú znázornené na obrázkoch vyššie.

Krok 3: Arduino kód na meranie vlhkosti:

Arduino kód na meranie vlhkosti
Arduino kód na meranie vlhkosti
Arduino kód na meranie vlhkosti
Arduino kód na meranie vlhkosti

Začnime teraz kódom Arduinoo.

Pri použití senzorového modulu s Arduinom obsahuje knižnicu Wire.h. Knižnica „Wire“obsahuje funkcie, ktoré uľahčujú komunikáciu i2c medzi senzorom a doskou Arduino.

Celý kód Arduino je pre pohodlie užívateľa uvedený nižšie:

#zahrnúť

// Adresa HYT939 I2C je 0x28 (40)

#define Addr 0x28

neplatné nastavenie ()

{

// Inicializujte komunikáciu I2C ako MASTER

Wire.begin ();

// Inicializácia sériovej komunikácie

Serial.begin (9600);

oneskorenie (300);

}

prázdna slučka ()

{

nepodpísané int údaje [4];

// Spustite prenos I2C

Wire.beginTransmission (Addr);

// Odoslanie príkazu normálneho režimu

Wire.write (0x80);

// Zastavte prenos I2C

Wire.endTransmission ();

oneskorenie (300);

// Požiadajte o 4 bajty údajov

Wire.requestFrom (Addr, 4);

// Prečítajte 4 bajty údajov

// vlhkosť msb, vlhkosť lsb, temp msb, temp lsb

ak (Wire.available () == 4)

{

data [0] = Wire.read ();

údaje [1] = Wire.read ();

údaje [2] = Wire.read ();

údaje [3] = Wire.read ();

// Previesť údaje na 14-bitové

plávajúca vlhkosť = (((údaje [0] & 0x3F) * 256,0) + údaje [1]) * (100,0 / 16383,0);

float cTemp = (((údaje [2] * 256,0) + (údaje [3] & 0xFC)) / 4) * (165,0 / 16383,0) - 40;

float fTemp = (cTemp * 1,8) + 32;

// Výstup údajov na sériový monitor

Serial.print ("Relatívna vlhkosť:");

Sériový tlač (vlhkosť);

Serial.println (" %RH");

Serial.print ("Teplota v stupňoch Celzia:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("Teplota vo Fahrenheite:");

Serial.print (fTemp);

Serial.println ("F");

}

oneskorenie (300);

}

V knižnici drôtov Wire.write () a Wire.read () sa používajú na zápis príkazov a čítanie výstupu snímača. Nasledujúca časť kódu ilustruje čítanie výstupu senzora.

// Prečítajte 4 bajty údajov // vlhkosť msb, vlhkosť lsb, temp msb, temp lsb if (Wire.available () == 4) {data [0] = Wire.read (); údaje [1] = Wire.read (); údaje [2] = Wire.read (); údaje [3] = Wire.read ();

}

Výstup senzora je zobrazený na obrázku vyššie.

Krok 4: Aplikácie:

Aplikácie
Aplikácie

HYT939 ako účinný digitálny snímač vlhkosti sa používa v lekárskych systémoch, autoklávoch. Tento senzorový modul využíva aj systém merania tlaku a rosného bodu a sušičky. V rôznych laboratóriách, kde je kľúčovým parametrom na vykonávanie experimentov príslušná úroveň vlhkosti, je možné tento senzor tam nasadiť na meranie vlhkosti.

Odporúča: