Innholdsfortegnelse:

Temperaturovervåkning ved bruk av MCP9808 og Particle Photon: 4 trinn
Temperaturovervåkning ved bruk av MCP9808 og Particle Photon: 4 trinn

Video: Temperaturovervåkning ved bruk av MCP9808 og Particle Photon: 4 trinn

Video: Temperaturovervåkning ved bruk av MCP9808 og Particle Photon: 4 trinn
Video: TestoSaveris2hdno 2024, Juli
Anonim
Image
Image

MCP9808 er en meget nøyaktig digital temperatursensor ± 0,5 ° C I2C minimodul. De er utformet med brukerprogrammerbare registre som letter temperaturfølere. MCP9808 temperatursensoren med høy nøyaktighet har blitt en industristandard når det gjelder formfaktor og intelligens, og gir kalibrerte, lineariserte sensorsignaler i digitalt I2C-format.

I denne opplæringen har grensesnittet mellom sensormodulen MCP9808 og partikkelfoton blitt demonstrert. For å lese temperaturverdiene har vi brukt bringebær pi med en I2c -adapter. Denne I2C -adapteren gjør tilkoblingen til sensormodulen enkel og mer pålitelig.

Trinn 1: Nødvendig maskinvare:

Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves

Materialene vi trenger for å nå målet vårt inkluderer følgende maskinvarekomponenter:

1. MCP9808

2. Partikkelfoton

3. I2C -kabel

4. I2C -skjerm for partikkelfoton

Trinn 2: Maskinvaretilkobling:

Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling

Maskinvarekoblingsdelen forklarer i utgangspunktet ledningsforbindelsene som kreves mellom sensoren og partikkelfotonet. Å sikre riktige tilkoblinger er den grunnleggende nødvendigheten mens du arbeider på et hvilket som helst system for ønsket utgang. Så de nødvendige tilkoblingene er som følger:

MCP9808 fungerer over I2C. Her er eksempel på koblingsskjema, som viser hvordan du kobler til hvert grensesnitt på sensoren.

Uten boksen er brettet konfigurert for et I2C-grensesnitt, derfor anbefaler vi å bruke denne tilkoblingen hvis du ellers er agnostiker. Alt du trenger er fire ledninger!

Bare fire tilkoblinger kreves Vcc, Gnd, SCL og SDA -pinner, og disse er koblet til ved hjelp av I2C -kabel.

Disse sammenhengene er vist på bildene ovenfor.

Trinn 3: Kode for temperaturmåling:

Kode for temperaturmåling
Kode for temperaturmåling

La oss begynne med partikkelkoden nå.

Mens vi bruker sensormodulen med arduino, inkluderer vi application.h og spark_wiring_i2c.h biblioteket. "application.h" og spark_wiring_i2c.h biblioteket inneholder funksjonene som letter i2c -kommunikasjonen mellom sensoren og partikkelen.

Hele partikkelkoden er gitt nedenfor for brukerens bekvemmelighet:

#inkludere

#inkludere

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

#define Addr 0x18

float cTemp = 0, fTemp = 0;

ugyldig oppsett ()

{

// Angi variabel

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

Particle.variable ("cTemp", cTemp);

// Initialiser I2C -kommunikasjon som MASTER

Wire.begin ();

// Initialize Serial Communication, set baud rate = 9600

Serial.begin (9600);

// Start I2C -overføring

Wire.beginTransmission (Addr);

// Velg konfigurasjonsregister

Wire.write (0x01);

// Kontinuerlig konverteringsmodus, oppstart som standard

Wire.write (0x00);

Wire.write (0x00);

// Stopp I2C -overføring

Wire.endTransmission ();

// Start I2C -overføring

Wire.beginTransmission (Addr);

// Velg oppløsning rgister

Wire.write (0x08);

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

Wire.write (0x03);

// Stopp I2C -overføring

Wire.endTransmission ();

forsinkelse (300);

}

hulrom ()

{

usignerte int -data [2];

// Starter I2C -kommunikasjon

Wire.beginTransmission (Addr);

// Velg dataregister

Wire.write (0x05);

// Stopp I2C -overføring

Wire.endTransmission ();

// Be om 2 byte med data

Wire.requestFrom (Addr, 2);

// Les 2 byte med data

// temp msb, temp lsb

hvis (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

forsinkelse (300);

// Konverter dataene til 13-bits

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

hvis (temp> 4095)

{

temperatur -= 8192;

}

cTemp = temp * 0,0625;

fTemp = cTemp * 1,8 + 32;

// Utdata til dashbordet

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

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

forsinkelse (500);

}

Particle.variable () -funksjonen oppretter variablene for å lagre sensorens utgang og Particle.publish () -funksjonen viser utgangen på dashbordet til nettstedet.

Sensorutgangen er vist på bildet ovenfor for din referanse.

Trinn 4: Søknader:

Applikasjoner
Applikasjoner

MCP9808 digital temperatursensor har flere applikasjoner på industrinivå som inneholder industrielle frysere og kjøleskap sammen med forskjellige matprosessorer. Denne sensoren kan brukes til forskjellige personlige datamaskiner, servere så vel som andre PC -enheter.

Anbefalt: