Tartalomjegyzék:

Hőmérsékletfigyelés az MCP9808 és részecskefoton használatával: 4 lépés
Hőmérsékletfigyelés az MCP9808 és részecskefoton használatával: 4 lépés

Videó: Hőmérsékletfigyelés az MCP9808 és részecskefoton használatával: 4 lépés

Videó: Hőmérsékletfigyelés az MCP9808 és részecskefoton használatával: 4 lépés
Videó: Lesson 33: Using MCP9808 Temperature Sensor with LCD | Arduino Step By Step Course 2024, Július
Anonim
Image
Image

Az MCP9808 egy nagyon pontos digitális hőmérséklet -érzékelő ± 0,5 ° C I2C mini modul. Ezeket a felhasználó által programozható regiszterek testesítik meg, amelyek megkönnyítik a hőmérsékletérzékelő alkalmazásokat. Az MCP9808 nagy pontosságú hőmérséklet-érzékelő az iparág szabványává vált az alaktényező és az intelligencia tekintetében, amely kalibrált, linearizált érzékelőjeleket biztosít digitális, I2C formátumban.

Ebben az oktatóanyagban bemutatták az MCP9808 érzékelő modul és a részecskefoton összekapcsolását. A hőmérsékletértékek leolvasásához málna pi -t használtunk 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. MCP9808

2. Foton részecske

3. I2C kábel

4. I2C pajzs részecske fotonhoz

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 a részecskefoton 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:

Az MCP9808 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ékletmérés kódja:

Hőmérsékletmérési kód
Hőmérsékletmérési kód

Kezdjük most a részecske kóddal.

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

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

#befoglalni

#befoglalni

// Az MCP9808 I2C címe 0x18 (24)

#define Addr 0x18

úszó cTemp = 0, fTemp = 0;

üres beállítás ()

{

// Változó beállítása

Particle.variable ("i2cdevice", "MCP9808");

Particle.variable ("cTemp", cTemp);

// 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);

// Indítsa el az I2C átvitelt

Wire.beginTransmission (Addr);

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

Wire.write (0x01);

// Folyamatos konverziós mód, alapértelmezett bekapcsolás

Wire.write (0x00);

Wire.write (0x00);

// Állítsa le az I2C átvitelt

Wire.endTransmission ();

// Indítsa el az I2C átvitelt

Wire.beginTransmission (Addr);

// Felbontás kiválasztása rgister

Wire.write (0x08);

// Felbontás = +0.0625 / C

Wire.write (0x03);

// Á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);

// Adatregiszter kiválasztása

Wire.write (0x05);

// Az I2C átvitel leállítása

Wire.endTransmission ();

// 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 ();

}

késleltetés (300);

// Az adatok konvertálása 13 bitesre

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

ha (hőmérséklet> 4095)

{

hőmérséklet -= 8192;

}

cTemp = hőmérséklet * 0,0625;

fTemp = cTemp * 1,8 + 32;

// Adatok kimenete a műszerfalra

Particle.publish ("Hőmérséklet Celsius -ban:", String (cTemp));

Particle.publish ("Hőmérséklet Fahrenheitben:", String (fTemp));

késleltetés (500);

}

A Particle.variable () függvény létrehozza a változókat az érzékelő kimenetének tárolására, a Particle.publish () függvény pedig megjeleníti a kimenetet a webhely műszerfalán.

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

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

Alkalmazások
Alkalmazások

Az MCP9808 digitális hőmérséklet -érzékelő számos ipari szintű alkalmazással rendelkezik, amelyek ipari fagyasztókat és hűtőszekrényeket, valamint különféle élelmiszer -feldolgozókat tartalmaznak. Ez az érzékelő különféle személyi számítógépekhez, szerverekhez és más PC -perifériákhoz használható.

Ajánlott: