Tartalomjegyzék:

Hőmérséklet és páratartalom mérése HDC1000 és Arduino Nano használatával: 4 lépés
Hőmérséklet és páratartalom mérése HDC1000 és Arduino Nano használatával: 4 lépés

Videó: Hőmérséklet és páratartalom mérése HDC1000 és Arduino Nano használatával: 4 lépés

Videó: Hőmérséklet és páratartalom mérése HDC1000 és Arduino Nano használatával: 4 lépés
Videó: Micro:bit mi:node pillanatok - 3. rész - Hőmérséklet- és páratartalom-szenzor 2024, November
Anonim
Image
Image

A HDC1000 egy digitális páratartalom -érzékelő beépített hőmérséklet -érzékelővel, amely kiváló mérési pontosságot biztosít nagyon alacsony teljesítmény mellett. A készülék egy új kapacitív érzékelő alapján méri a páratartalmat. A páratartalom és hőmérséklet érzékelők gyárilag kalibráltak. A teljes -40 ° C és +125 ° C közötti hőmérséklettartományban működik.

Ebben az oktatóanyagban a HDC1000 érzékelő modul és az arduino nano interfészét mutattuk be. A hőmérséklet és páratartalom értékek leolvasásához az arduino -t használtuk I2c adapterrel. Ez az I2C adapter megkönnyíti és megbízhatóbbá teszi a kapcsolatot az érzékelőmodullal.

1. lépés: Szükséges hardver:

Szükséges hardver
Szükséges hardver
Szükséges hardver
Szükséges hardver
Szükséges hardver
Szükséges hardver

A célunk eléréséhez szükséges anyagok a következő hardverkomponenseket tartalmazzák:

1. HDC1000

2. Arduino Nano

3. I2C kábel

4. I2C pajzs az Arduino Nano számára

2. lépés: Hardver csatlakoztatása:

Hardver csatlakoztatása
Hardver csatlakoztatása
Hardver csatlakoztatása
Hardver csatlakoztatása

A hardvercsatlakozási szakasz alapvetően elmagyarázza az érzékelő és az arduino nano között szükséges vezetékeket. A megfelelő kapcsolatok biztosítása az alapvető szükséglet, amikor bármilyen rendszeren dolgozik a kívánt kimenet érdekében. Tehát a szükséges kapcsolatok a következők:

A HDC1000 az I2C -n keresztül fog működni. Íme a példa kapcsolási rajz, amely bemutatja, hogyan kell bekötni az érzékelő egyes interfészeit.

A doboz készenlétben I2C interfészre van konfigurálva, ezért javasoljuk, hogy használja ezt a csatlakozást, ha egyébként agnosztikus.

Csak négy vezetékre van szüksége! Csak négy csatlakozóra van szükség Vcc, Gnd, SCL és SDA csapokra, és ezeket I2C kábel segítségével kell csatlakoztatni.

Ezeket az összefüggéseket a fenti képek mutatják be.

3. lépés: A hőmérséklet és páratartalom mérésének kódja:

A hőmérséklet és páratartalom mérésének kódja
A hőmérséklet és páratartalom mérésének kódja

Kezdjük most az arduino kóddal.

Miközben az érzékelő modult használja az arduino -val, a Wire.h könyvtárat is tartalmazza. A "Wire" könyvtár azokat a funkciókat tartalmazza, amelyek megkönnyítik az i2c kommunikációt az érzékelő és az arduino kártya között.

A teljes arduino kódot az alábbiakban adjuk meg a felhasználó kényelme érdekében:

#befoglalni

// A HDC1000 I2C címe 0x40 (64)

#define Addr 0x40

üres beállítás ()

{

// Inicializálja az I2C kommunikációt MASTER -ként

Wire.begin ();

// Inicializálja a soros kommunikációt, állítsa be az átviteli sebességet = 9600

Sorozat.kezdet (9600);

// Elindítja az I2C kommunikációt

Wire.beginTransmission (Addr);

// Válassza ki a konfigurációs regisztert

Wire.write (0x02);

// Hőmérséklet, páratartalom engedélyezve, felbontás = 14 bit, fűtés bekapcsolva

Wire.write (0x30);

// Állítsa le az I2C átvitelt

Wire.endTransmission ();

késleltetés (300);

}

üres hurok ()

{

előjel nélküli int adatok [2];

// Elindítja az I2C kommunikációt

Wire.beginTransmission (Addr);

// Hőmérési parancs küldése

Wire.write (0x00);

// Állítsa le az I2C átvitelt

Wire.endTransmission ();

késleltetés (500);

// 2 bájt adat kérése

Wire.requestFrom (Addr, 2);

// 2 bájt adat olvasása

// temp msb, temp lsb

ha (Wire.available () == 2)

{

adatok [0] = Wire.read ();

adatok [1] = Wire.read ();

}

// Konvertálja az adatokat

int temp = (adatok [0] * 256) + adatok [1];

float cTemp = (temp / 65536.0) * 165.0 - 40;

float fTemp = cTemp * 1,8 + 32;

// Elindítja az I2C kommunikációt

Wire.beginTransmission (Addr);

// Páratartalom mérési parancs küldése

Wire.write (0x01);

// Állítsa le az I2C átvitelt

Wire.endTransmission ();

késleltetés (500);

// 2 bájt adat kérése

Wire.requestFrom (Addr, 2);

// 2 bájt adat olvasása

// páratartalom msb, páratartalom lsb

ha (Wire.available () == 2)

{

adatok [0] = Wire.read ();

adatok [1] = Wire.read ();

}

// Konvertálja az adatokat

úszó páratartalom = (adatok [0] * 256) + adatok [1];

páratartalom = (páratartalom / 65536,0) * 100,0;

// Adatok kimenete soros monitorra

Serial.print ("Relatív páratartalom:");

Soros.nyomtatás (páratartalom);

Soros.println (" %RH");

Serial.print ("Hőmérséklet Celsius -ban:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("Hőmérséklet Fahrenheitben:");

Serial.print (fTemp);

Serial.println ("F");

késleltetés (500);

}

A vezetékes könyvtárban a Wire.write () és a Wire.read () parancsokat írják és olvassák le az érzékelő kimenetét.

A Serial.print () és a Serial.println () az érzékelő kimenetének megjelenítésére szolgál az Arduino IDE soros monitorán.

Az érzékelő kimenete a fenti képen látható.

4. lépés: Alkalmazások:

Alkalmazások
Alkalmazások

A HDC1000 használható fűtés, szellőzés és légkondicionálás (HVAC), intelligens termosztátok és helyiségmonitorok területén. Ez az érzékelő a nyomtatókban, kézi mérőkben, orvosi eszközökben, teherszállításban és az autóipari szélvédő párologtatásban is megtalálható.

Ajánlott: