Obsah:

Měření teploty pomocí MCP9803 a Raspberry Pi: 4 kroky
Měření teploty pomocí MCP9803 a Raspberry Pi: 4 kroky

Video: Měření teploty pomocí MCP9803 a Raspberry Pi: 4 kroky

Video: Měření teploty pomocí MCP9803 a Raspberry Pi: 4 kroky
Video: Jak měřit teplotu zaměstnancům pomocí termokamery? 2024, Červenec
Anonim
Image
Image

MCP9803 je 2vodičový vysoce přesný teplotní senzor. Jsou provedeny s uživatelsky programovatelnými registry, které usnadňují aplikace snímání teploty. Tento senzor je vhodný pro vysoce sofistikovaný vícezónový systém monitorování teploty.

V tomto tutoriálu je ukázáno propojení senzorového modulu MCP9803 s malinovým pi a bylo také ukázáno jeho programování pomocí jazyka Java. Ke čtení teplotních hodnot jsme použili malinu pi s adaptérem I2C. Tento adaptér I2C umožňuje snadné a spolehlivější připojení k modulu senzoru.

Krok 1: Požadovaný hardware:

Požadovaný hardware
Požadovaný hardware
Požadovaný hardware
Požadovaný hardware
Požadovaný hardware
Požadovaný hardware

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

1. MCP9803

2. Malinová pí

3. Kabel I2C

4. I2C štít pro malinovou pí

5. Ethernetový kabel

Krok 2: 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 snímačem a malinovým pi. 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í:

MCP9803 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 3: Kód pro měření teploty:

Kód pro měření teploty
Kód pro měření teploty

Výhodou použití raspberry pi je, že vám poskytuje flexibilitu programovacího jazyka, ve kterém chcete desku programovat, abyste s ní mohli propojit senzor. S využitím této výhody této desky zde předvádíme programování v Javě. Java kód pro MCP9803 lze stáhnout z naší komunity Github, kterou je Dcube Store.

Stejně jako pro snadnost uživatelů vysvětlujeme kód také zde:

Jako první krok kódování si musíte stáhnout knihovnu pi4j v případě Java, protože tato knihovna podporuje funkce použité v kódu. Chcete -li si stáhnout knihovnu, můžete navštívit následující odkaz:

pi4j.com/install.html

Pracovní java kód pro tento senzor můžete zkopírovat také zde:

importovat com.pi4j.io.i2c. I2CBus;

importovat com.pi4j.io.i2c. I2CDevice;

importovat com.pi4j.io.i2c. I2CFactory;

import java.io. IOException; veřejná třída MCP9803

{

public static void main (String args ) vyvolá výjimku

{

// Vytvoření sběrnice I2C

Sběrnice I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);

// Získejte zařízení I2C, adresa ICP MCP9803 je 0x48 (72)

I2CDevice zařízení = Bus.getDevice (0x48);

// Vyberte konfigurační registr

// Režim nepřetržité konverze, zapnutí, režim komparátoru, 12bitové rozlišení

device.write (0x01, (byte) 0x60);

Thread.sleep (500);

// Přečíst 2 bajty dat z adresy 0x00 (0)

// temp msb, temp lsb

byte data = nový byte [2];

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

// Převod dat na 12bitové

int temp = ((data [0] & 0xFF) * 256 + (data [1] & 0xF0)) / 16;

pokud (teplota> 2047)

{

teplota -= 4096;

}

dvojnásobek cTemp = teplota * 0,0625;

zdvojnásobit fTemp = cTemp * 1,8 + 32;

// Výstup dat na obrazovku

System.out.printf ("Teplota ve stupních Celsia je: %.2f C %n", cTemp);

System.out.printf ("Teplota ve stupních Fahrenheita je: %.2f F %n", fTemp);

}

}

Knihovna, která usnadňuje i2c komunikaci mezi senzorem a deskou, je pi4j, její různé balíčky I2CBus, I2CDevice a I2CFactory pomáhají navázat spojení.

importovat com.pi4j.io.i2c. I2CBus;

importovat com.pi4j.io.i2c. I2CDevice;

importovat com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

Funkce write () a read () se používají k zápisu některých konkrétních příkazů do senzoru, aby fungoval v určitém režimu a čtení výstupu senzoru.

Výstup snímače je také zobrazen na obrázku výše.

Krok 4: Aplikace:

Aplikace
Aplikace

MCP9803 lze použít v široké řadě zařízení, mezi něž patří osobní počítač a periferie, pevné disky, různé zábavní systémy, kancelářské systémy a systémy datové komunikace. Tento senzor lze začlenit do různých sofistikovaných systémů.

Doporučuje: