Monitorování teploty a vlhkosti pomocí SHT25 a Arduino Nano: 5 kroků
Monitorování teploty a vlhkosti pomocí SHT25 a Arduino Nano: 5 kroků
Anonim
Image
Image

Nedávno jsme pracovali na různých projektech, které vyžadovaly monitorování teploty a vlhkosti, a poté jsme si uvědomili, že tyto dva parametry skutečně hrají klíčovou roli při odhadu pracovní účinnosti systému. Jak na průmyslové úrovni, tak na osobních systémech je optimální úroveň teploty nezbytná pro adekvátní výkon systému.

To je důvod, v tomto tutoriálu vysvětlíme fungování snímače vlhkosti a teploty SHT25 s Arduino Nano.

Krok 1: Přehled SHT25:

Co potřebuješ..!!
Co potřebuješ..!!

Nejprve začněme se základním porozuměním senzoru a protokolu, na kterém funguje.

Senzor vlhkosti a teploty SHT25 I2C Mini modul ± 1,8%RH ± 0,2 ° C I2C. Je to vysoce přesné čidlo vlhkosti a teploty, které se stalo průmyslovým standardem, pokud jde o tvarový faktor a inteligenci, a poskytuje kalibrované, linearizované signály ze snímačů v digitálním formátu I2C. Tento senzor, integrovaný se specializovaným analogovým a digitálním obvodem, je jedním z nejefektivnějších zařízení pro měření teploty a vlhkosti.

Komunikační protokol, na kterém senzor funguje, je I2C. I2C je zkratka pro interintegrovaný obvod. Jedná se o komunikační protokol, ve kterém probíhá komunikace prostřednictvím linek SDA (sériová data) a SCL (sériové hodiny). Umožňuje připojení více zařízení současně. Je to jeden z nejjednodušších a nejefektivnějších komunikačních protokolů.

Krok 2: Co potřebujete..

Co potřebuješ..!!
Co potřebuješ..!!
Co potřebuješ..!!
Co potřebuješ..!!
Co potřebuješ..!!
Co potřebuješ..!!

Materiály, které potřebujeme k dosažení našeho cíle, zahrnují následující hardwarové komponenty:

1. Snímač vlhkosti a teploty SHT25

2. Arduino Nano

3. Kabel I2C

4. I2C štít pro Arduino nano

Krok 3: Připojení hardwaru:

Připojení hardwaru
Připojení hardwaru
Připojení hardwaru
Připojení hardwaru

Sekce zapojení hardwaru v zásadě vysvětluje zapojení kabelů požadovaná mezi senzorem a arduino nano. Zajištění správného připojení je základní nutností při práci na jakémkoli systému pro požadovaný výstup. Požadovaná připojení jsou tedy následující:

SHT25 bude fungovat přes I2C. Zde je příklad schématu zapojení, které ukazuje, jak zapojit jednotlivá rozhraní senzoru.

Po vybalení je deska nakonfigurována pro rozhraní I2C, proto doporučujeme tuto přípojku použít, pokud jste jinak agnostik. Vše, co potřebujete, jsou čtyři dráty!

Jsou vyžadována pouze čtyři připojení Vcc, Gnd, SCL a SDA piny a ty jsou spojeny pomocí kabelu I2C.

Tato spojení jsou ukázána na obrázcích výše.

Krok 4: Monitorování teploty a vlhkosti Kód:

Kód monitorování teploty a vlhkosti
Kód monitorování teploty a vlhkosti

Začněme nyní kódem Arduino.

Při používání senzorového modulu s Arduinem jsme zahrnuli knihovnu Wire.h. Knihovna „Wire“obsahuje funkce, které usnadňují komunikaci i2c mezi senzorem a deskou Arduino.

Celý kód Arduino je pro pohodlí uživatele uveden níže:

#zahrnout

// Adresa SHT25 I2C je 0x40 (64)

#define Addr 0x40

neplatné nastavení ()

{

// Inicializujte komunikaci I2C jako MASTER

Wire.begin ();

// Inicializace sériové komunikace, nastavení přenosové rychlosti = 9600

Serial.begin (9600);

zpoždění (300);

}

prázdná smyčka ()

{

nepodepsaná int data [2];

// Spusťte přenos I2C

Wire.beginTransmission (Addr);

// Odeslání příkazu k měření vlhkosti, master NO HOLD

Wire.write (0xF5);

// Zastavte přenos I2C

Wire.endTransmission ();

zpoždění (500);

// Vyžádejte si 2 bajty dat

Wire.requestFrom (Addr, 2);

// Přečíst 2 bajty dat

// vlhkost msb, vlhkost lsb

pokud (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

// Převod dat

plovoucí vlhkost = (((data [0] * 256,0 + data [1]) * 125,0) / 65536,0) - 6;

// Výstup dat do Serial Monitor

Serial.print („Relativní vlhkost:“);

Sériový tisk (vlhkost);

Serial.println (" %RH");

}

// Spusťte přenos I2C

Wire.beginTransmission (Addr);

// Odeslání příkazu k měření teploty, master NO HOLD

Wire.write (0xF3);

// Zastavte přenos I2C

Wire.endTransmission ();

zpoždění (500);

// Vyžádejte si 2 bajty dat

Wire.requestFrom (Addr, 2);

// Přečíst 2 bajty dat

// temp msb, temp lsb

pokud (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

// Převod dat

float cTemp = (((data [0] * 256,0 + data [1]) * 175,72) / 65536,0) - 46,85;

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

// Výstup dat do Serial Monitor

Serial.print ("Teplota ve stupních Celsia:");

Serial.print (cTemp); Serial.println ("C");

Serial.print ("Teplota ve stupních Fahrenheita:");

Serial.print (fTemp);

Serial.println ("F");

}

zpoždění (300);

}

Vše, co musíte udělat, je vypálit kód v Arduinu a zkontrolovat údaje na sériovém portu. Výstup je zobrazen na obrázku výše.

Krok 5: Aplikace:

Aplikace
Aplikace

Snímač teploty a relativní vlhkosti SHT25 má různé průmyslové aplikace, jako je monitorování teploty, periferní tepelná ochrana počítače. Tento senzor jsme také použili v aplikacích meteorologických stanic a v systému monitorování skleníků.