Obsah:

Monitorování teploty pomocí MCP9808 a fotonu částic: 4 kroky
Monitorování teploty pomocí MCP9808 a fotonu částic: 4 kroky

Video: Monitorování teploty pomocí MCP9808 a fotonu částic: 4 kroky

Video: Monitorování teploty pomocí MCP9808 a fotonu částic: 4 kroky
Video: Lesson 38: Using MLX90614 Infrared Contactless Temperature Sensor | Arduino Step By Step Course 2024, Červenec
Anonim
Image
Image

MCP9808 je vysoce přesný digitální teplotní senzor mini modul I2C ± 0,5 ° C. Jsou provedeny s uživatelsky programovatelnými registry, které usnadňují aplikace snímání teploty. Vysoce přesný teplotní senzor MCP9808 se stal průmyslovým standardem, pokud jde o tvarový faktor a inteligenci, poskytující kalibrované, linearizované signály ze senzorů v digitálním formátu I2C.

V tomto tutoriálu bylo ukázáno propojení senzorového modulu MCP9808 s fotonem částic. 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. MCP9808

2. Foton částic

3. Kabel I2C

4. I2C štít pro částicový foton

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 fotonem částic. 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í:

MCP9808 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

Začněme nyní kódem částic.

Při použití senzorového modulu s arduino zahrnujeme knihovnu application.h a spark_wiring_i2c.h. Knihovna „application.h“a spark_wiring_i2c.h obsahuje funkce, které usnadňují komunikaci i2c mezi senzorem a částicem.

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

#zahrnout

#zahrnout

// Adresa ICP MCP9808 je 0x18 (24)

#define Addr 0x18

float cTemp = 0, fTemp = 0;

neplatné nastavení ()

{

// Nastavit proměnnou

Proměnná částice ("i2cdevice", "MCP9808");

Particle.variable ("cTemp", cTemp);

// Inicializujte komunikaci I2C jako MASTER

Wire.begin ();

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

Serial.begin (9600);

// Spusťte přenos I2C

Wire.beginTransmission (Addr);

// Vyberte konfigurační registr

Wire.write (0x01);

// Režim nepřetržité konverze, výchozí nastavení při zapnutí

Wire.write (0x00);

Wire.write (0x00);

// Zastavte přenos I2C

Wire.endTransmission ();

// Spusťte přenos I2C

Wire.beginTransmission (Addr);

// Vyberte rozlišení rgister

Wire.write (0x08);

// Rozlišení = +0,0625 / C

Wire.write (0x03);

// Zastavte přenos I2C

Wire.endTransmission ();

zpoždění (300);

}

prázdná smyčka ()

{

nepodepsaná int data [2];

// Zahájí komunikaci I2C

Wire.beginTransmission (Addr);

// Vyberte datový registr

Wire.write (0x05);

// Zastavte přenos I2C

Wire.endTransmission ();

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

}

zpoždění (300);

// Převod dat na 13bitové

int temp = ((data [0] & 0x1F) * 256 + data [1]);

pokud (teplota> 4095)

{

teplota -= 8192;

}

cTemp = teplota * 0,0625;

fTemp = cTemp * 1,8 + 32;

// Výstup dat na řídicí panel

Particle.publish ("Teplota ve stupních Celsia:", řetězec (cTemp));

Particle.publish ("Teplota ve stupních Fahrenheita:", řetězec (fTemp));

zpoždění (500);

}

Funkce Particle.variable () vytváří proměnné pro uložení výstupu senzoru a funkce Particle.publish () zobrazuje výstup na palubní desce webu.

Výstup snímače je uveden na obrázku výše pro vaši referenci.

Krok 4: Aplikace:

Aplikace
Aplikace

Digitální teplotní senzor MCP9808 má několik aplikací na průmyslové úrovni, které obsahují průmyslové mrazničky a lednice spolu s různými kuchyňskými roboty. Tento senzor lze použít pro různé osobní počítače, servery a další periferní zařízení PC.

Doporučuje: