Indholdsfortegnelse:

Temperaturovervågning ved hjælp af MCP9808 og Particle Photon: 4 trin
Temperaturovervågning ved hjælp af MCP9808 og Particle Photon: 4 trin

Video: Temperaturovervågning ved hjælp af MCP9808 og Particle Photon: 4 trin

Video: Temperaturovervågning ved hjælp af MCP9808 og Particle Photon: 4 trin
Video: Homey Bridge - Kickstart dit Nye Smarthome BILLIGT ! - 549.-kr 2024, Juli
Anonim
Image
Image

MCP9808 er en meget præcis digital temperatursensor ± 0,5 ° C I2C mini -modul. De er udformet med brugerprogrammerbare registre, der letter temperaturfølende applikationer. MCP9808 temperatursensoren med høj nøjagtighed er blevet en industristandard med hensyn til formfaktor og intelligens og leverer kalibrerede, lineariserede sensorsignaler i digitalt I2C-format.

I denne vejledning er grænsefladen mellem sensormodulet MCP9808 og partikelfoton blevet demonstreret. For at aflæse temperaturværdierne har vi brugt hindbær pi med en I2c -adapter. Denne I2C -adapter gør forbindelsen til sensormodulet let og mere pålidelig.

Trin 1: Påkrævet hardware:

Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet

De materialer, vi har brug for for at nå vores mål, omfatter følgende hardwarekomponenter:

1. MCP9808

2. Partikelfoton

3. I2C -kabel

4. I2C -skærm til partikelfoton

Trin 2: Hardware -tilslutning:

Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning

Hardwaretilslutningssektionen forklarer dybest set de nødvendige ledningsforbindelser mellem sensoren og partikelfonen. At sikre korrekte forbindelser er den grundlæggende nødvendighed, mens du arbejder på et hvilket som helst system til den ønskede output. Så de nødvendige forbindelser er som følger:

MCP9808 fungerer over I2C. Her er eksemplet på ledningsdiagram, der viser, hvordan du tilslutter hver grænseflade på sensoren.

Out-of-the-box er tavlen konfigureret til en I2C-grænseflade, som sådan anbefaler vi at bruge denne tilslutning, hvis du ellers er agnostiker. Alt du behøver er fire ledninger!

Der kræves kun fire tilslutninger Vcc, Gnd, SCL og SDA ben, og disse er forbundet ved hjælp af I2C kabel.

Disse forbindelser er vist på billederne ovenfor.

Trin 3: Kode til temperaturmåling:

Kode til temperaturmåling
Kode til temperaturmåling

Lad os starte med partikelkoden nu.

Mens vi bruger sensormodulet med arduino, inkluderer vi application.h og spark_wiring_i2c.h bibliotek. "application.h" og spark_wiring_i2c.h biblioteket indeholder de funktioner, der letter i2c -kommunikationen mellem sensoren og partiklen.

Hele partikelkoden er angivet nedenfor for brugerens bekvemmelighed:

#omfatte

#omfatte

// MCP9808 I2C -adresse er 0x18 (24)

#define Addr 0x18

float cTemp = 0, fTemp = 0;

ugyldig opsætning ()

{

// Indstil variabel

Partikel.variabel ("i2cdevice", "MCP9808");

Particle.variable ("cTemp", cTemp);

// Initialiser I2C -kommunikation som MASTER

Wire.begin ();

// Initialiser seriel kommunikation, indstil baudhastighed = 9600

Serial.begin (9600);

// Start I2C -transmission

Wire.beginTransmission (Addr);

// Vælg konfigurationsregister

Wire.write (0x01);

// Kontinuerlig konverteringstilstand, Power-up standard

Wire.write (0x00);

Wire.write (0x00);

// Stop I2C -transmission

Wire.endTransmission ();

// Start I2C -transmission

Wire.beginTransmission (Addr);

// Vælg opløsning rgister

Wire.write (0x08);

// Opløsning = +0,0625 / C

Wire.write (0x03);

// Stop I2C -transmission

Wire.endTransmission ();

forsinkelse (300);

}

hulrum ()

{

usignerede int -data [2];

// Starter I2C -kommunikation

Wire.beginTransmission (Addr);

// Vælg dataregister

Wire.write (0x05);

// Stop I2C -transmission

Wire.endTransmission ();

// Anmod om 2 bytes data

Wire.requestFrom (Addr, 2);

// Læs 2 bytes data

// temp msb, temp lsb

hvis (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

forsinkelse (300);

// Konverter dataene til 13-bit

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

hvis (temp> 4095)

{

temp -= 8192;

}

cTemp = temp * 0,0625;

fTemp = cTemp * 1,8 + 32;

// Output data til dashboard

Particle.publish ("Temperatur i Celsius:", String (cTemp));

Particle.publish ("Temperatur i Fahrenheit:", String (fTemp));

forsinkelse (500);

}

Funktionen Particle.variable () opretter variablerne til lagring af sensorens output og Particle.publish () -funktionen viser outputtet på webstedets dashboard.

Sensorudgangen er vist på billedet ovenfor til din reference.

Trin 4: Ansøgninger:

Ansøgninger
Ansøgninger

MCP9808 Digital temperatursensor har flere applikationer på industrielt niveau, der indeholder industrielle frysere og køleskabe sammen med forskellige fødevareprocessorer. Denne sensor kan bruges til forskellige personlige computere, servere samt andre pc -perifere enheder.

Anbefalede: