Tartalomjegyzék:

Hőmérsékletmérés MCP9803 és Raspberry Pi használatával: 4 lépés
Hőmérsékletmérés MCP9803 és Raspberry Pi használatával: 4 lépés

Videó: Hőmérsékletmérés MCP9803 és Raspberry Pi használatával: 4 lépés

Videó: Hőmérsékletmérés MCP9803 és Raspberry Pi használatával: 4 lépés
Videó: Hang és fény - Arduino / ESP8266 2024, Július
Anonim
Image
Image

Az MCP9803 egy 2 vezetékes nagy pontosságú hőmérséklet-érzékelő. Ezeket a felhasználó által programozható regiszterek testesítik meg, amelyek megkönnyítik a hőmérsékletérzékelő alkalmazásokat. Ez az érzékelő nagyon kifinomult többzónás hőmérséklet-felügyeleti rendszerhez alkalmas.

Ebben az oktatóanyagban bemutatjuk az MCP9803 érzékelő modulnak a málna pi -vel való összekapcsolását, és a Java nyelvű programozását is szemléltetjük. 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 az érzékelőmodulhoz való csatlakozást.

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. MCP9803

2. Málna pi

3. I2C kábel

4. I2C Shield málna pi

5. Ethernet kábel

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 málna pi 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 MCP9803 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

A málna pi használatának előnye az, hogy rugalmasságot biztosít a programozási nyelvben, amelyen a táblát programozni szeretné, hogy az érzékelőt hozzá lehessen illeszteni. A tábla ezen előnyét kihasználva bemutatjuk, hogy Java nyelven programozunk. Az MCP9803 java kódja letölthető a Github közösségünkből, azaz a Dcube Store -ból.

A felhasználók kényelme érdekében itt is elmagyarázzuk a kódot:

A kódolás első lépéseként le kell töltenie a pi4j könyvtárat java esetén, mert ez a könyvtár támogatja a kódban használt funkciókat. Tehát a könyvtár letöltéséhez látogasson el az alábbi linkre:

pi4j.com/install.html

Innen is másolhatja az érzékelő működő java kódját:

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException; nyilvános osztály MCP9803

{

public static void main (String args ) dobások Kivétel

{

// I2C busz létrehozása

I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C eszköz beszerzése, az MCP9803 I2C címe 0x48 (72)

I2CDevice device = Bus.getDevice (0x48);

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

// Folyamatos konverziós mód, bekapcsolás, összehasonlító mód, 12 bites felbontás

device.write (0x01, (bájt) 0x60);

Téma.alvás (500);

// 2 bájt adat olvasása a 0x00 címről (0)

// temp msb, temp lsb

bájt adat = új bájt [2];

device.read (0x00, adat, 0, 2);

// Az adatok konvertálása 12 bitesre

int temp = ((adatok [0] és 0xFF) * 256 + (adatok [1] és 0xF0)) / 16;

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

{

hőmérséklet -= 4096;

}

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

kettős fTemp = cTemp * 1,8 + 32;

// Adatok megjelenítése a képernyőn

System.out.printf ("A hőmérséklet Celsius -ban: %.2f C %n", cTemp);

System.out.printf ("Fahrenheit -fokban a hőmérséklet: %.2f F %n", fTemp);

}

}

A könyvtár, amely megkönnyíti az i2c kommunikációt az érzékelő és a kártya között, a pi4j, különféle csomagjai, az I2CBus, az I2CDevice és az I2CFactory segítenek a kapcsolat létrehozásában.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

Az írási () és az olvasási () függvényeket bizonyos parancsok írására használják az érzékelőre, hogy egy adott üzemmódban működjenek, és leolvassák az érzékelő kimenetét.

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

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

Alkalmazások
Alkalmazások

Az MCP9803 olyan eszközök széles körében használható, amelyek személyi számítógépet és perifériákat, merevlemez -meghajtókat, különféle szórakoztató rendszereket, irodai rendszereket és adatkommunikációs rendszereket tartalmaznak. Ez az érzékelő különféle kifinomult rendszerekbe építhető be.

Ajánlott: