Sisukord:

Temperatuuri jälgimine MCP9808 ja osakeste footoni abil: 4 sammu
Temperatuuri jälgimine MCP9808 ja osakeste footoni abil: 4 sammu

Video: Temperatuuri jälgimine MCP9808 ja osakeste footoni abil: 4 sammu

Video: Temperatuuri jälgimine MCP9808 ja osakeste footoni abil: 4 sammu
Video: Tarneahela Temperatuuri Jälgimine osa2 2024, Juuli
Anonim
Image
Image

MCP9808 on ülitäpne digitaalne temperatuuriandur ± 0,5 ° C I2C minimoodul. Need on varustatud kasutaja poolt programmeeritavate registritega, mis hõlbustavad temperatuuri andmise rakendusi. MCP9808 ülitäpne temperatuuriandur on muutunud vormiteguri ja intelligentsuse poolest tööstusstandardiks, pakkudes kalibreeritud, lineariseeritud andurisignaale digitaalses I2C-vormingus.

Selles õpetuses on näidatud MCP9808 andurimooduli liidestumist osakeste footoniga. Temperatuuri väärtuste lugemiseks oleme kasutanud vaarika pi koos I2c adapteriga. See I2C adapter muudab ühenduse andurimooduliga lihtsaks ja usaldusväärsemaks.

Samm: vajalik riistvara:

Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara
Vajalik riistvara

Eesmärgi saavutamiseks vajalikud materjalid sisaldavad järgmisi riistvarakomponente:

1. MCP9808

2. Osakeste footon

3. I2C kaabel

4. I2C kilp osakeste footonile

2. samm: riistvara ühendamine:

Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine
Riistvara ühendamine

Riistvara ühendamise jaotis selgitab põhimõtteliselt anduri ja osakeste footoni vahel vajalikke juhtmestiku ühendusi. Soovitud väljundi mis tahes süsteemiga töötamisel on põhivajadus õigete ühenduste tagamine. Seega on vajalikud ühendused järgmised:

MCP9808 töötab üle I2C. Siin on näide ühendusskeemist, mis näitab, kuidas anduri iga liidest ühendada.

Valmis plaat on konfigureeritud I2C liidese jaoks, seega soovitame seda ühendamist kasutada, kui olete muidu agnostik. Kõik, mida vajate, on neli juhtmest!

Vaja on ainult nelja ühendust Vcc, Gnd, SCL ja SDA ning need ühendatakse I2C kaabli abil.

Neid seoseid on näidatud ülaltoodud piltidel.

3. samm: temperatuuri mõõtmise kood:

Temperatuuri mõõtmise kood
Temperatuuri mõõtmise kood

Alustame nüüd osakeste koodist.

Andurimoodulit koos arduinoga kasutades kaasame teeki application.h ja spark_wiring_i2c.h. Raamatukogu "application.h" ja spark_wiring_i2c.h sisaldab funktsioone, mis hõlbustavad i2c suhtlust anduri ja osakese vahel.

Kogu osakeste kood on kasutaja mugavuse huvides toodud allpool:

#kaasake

#kaasake

// MCP9808 I2C aadress on 0x18 (24)

#define Addr 0x18

ujuk cTemp = 0, fTemp = 0;

tühine seadistus ()

{

// Määra muutuja

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

Particle.variable ("cTemp", cTemp);

// Initsialiseeri I2C side kui MASTER

Wire.begin ();

// Initsialiseeri jadaühendus, määrake edastuskiirus = 9600

Seriaalne algus (9600);

// Käivitage I2C edastamine

Wire.beginTransmission (Addr);

// Valige konfiguratsiooniregister

Wire.write (0x01);

// Pidev teisendusrežiim, vaikimisi sisselülitamine

Wire.write (0x00);

Wire.write (0x00);

// Peata I2C edastamine

Wire.endTransmission ();

// Käivitage I2C edastamine

Wire.beginTransmission (Addr);

// Vali resolutsioon rgister

Wire.write (0x08);

// Eraldusvõime = +0,0625 / C

Wire.write (0x03);

// Peata I2C edastamine

Wire.endTransmission ();

viivitus (300);

}

tühine tsükkel ()

{

allkirjastamata int andmed [2];

// Alustab I2C suhtlust

Wire.beginTransmission (Addr);

// Valige andmeregister

Wire.write (0x05);

// Peata I2C edastamine

Wire.endTransmission ();

// Taotle 2 baiti andmeid

Wire.requestFrom (Addr, 2);

// Lugege 2 baiti andmeid

// temp msb, temp lsb

kui (Wire.available () == 2)

{

andmed [0] = Wire.read ();

andmed [1] = Wire.read ();

}

viivitus (300);

// Teisendage andmed 13-bitisteks

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

kui (temp> 4095)

{

temp -= 8192;

}

cTemp = temp * 0,0625;

fTemp = cTemp * 1,8 + 32;

// Andmete väljastamine armatuurlauale

Particle.publish ("Temperatuur Celsiuse järgi:", String (cTemp));

Particle.publish ("Temperatuur Fahrenheiti järgi:", String (fTemp));

viivitus (500);

}

Funktsioon Particle.variable () loob muutujad anduri väljundi salvestamiseks ja Particle.publish () kuvab väljundi saidi armatuurlaual.

Anduri väljund on näidatud ülaltoodud pildil.

4. samm: rakendused:

Rakendused
Rakendused

MCP9808 digitaalsel temperatuurianduril on mitu tööstustasandi rakendust, mis sisaldavad tööstuslikke sügavkülmikuid ja külmikuid koos erinevate köögikombainidega. Seda andurit saab kasutada erinevate personaalarvutite, serverite ja muude arvuti välisseadmete jaoks.

Soovitan: