Satura rādītājs:

Temperatūras uzraudzība, izmantojot MCP9808 un daļiņu fotonu: 4 soļi
Temperatūras uzraudzība, izmantojot MCP9808 un daļiņu fotonu: 4 soļi

Video: Temperatūras uzraudzība, izmantojot MCP9808 un daļiņu fotonu: 4 soļi

Video: Temperatūras uzraudzība, izmantojot MCP9808 un daļiņu fotonu: 4 soļi
Video: Умное WiFi реле термостат с внешним датчиком температуры и энергомониторингом 2024, Novembris
Anonim
Image
Image

MCP9808 ir ļoti precīzs digitālais temperatūras sensors ± 0,5 ° C I2C mini modulis. Tie ir iemiesoti lietotāja programmējamos reģistros, kas atvieglo temperatūras noteikšanas lietojumprogrammas. Augstas precizitātes temperatūras sensors MCP9808 ir kļuvis par nozares standartu formas un intelekta ziņā, nodrošinot kalibrētus, linearizētus sensoru signālus digitālā, I2C formātā.

Šajā apmācībā ir parādīta MCP9808 sensora moduļa saskarne ar daļiņu fotonu. Lai nolasītu temperatūras vērtības, mēs esam izmantojuši aveņu pi ar I2c adapteri. Šis I2C adapteris padara savienojumu ar sensora moduli vieglu un uzticamāku.

1. darbība. Nepieciešamā aparatūra:

Nepieciešamā aparatūra
Nepieciešamā aparatūra
Nepieciešamā aparatūra
Nepieciešamā aparatūra
Nepieciešamā aparatūra
Nepieciešamā aparatūra

Materiāli, kas nepieciešami mūsu mērķa sasniegšanai, ietver šādas aparatūras sastāvdaļas:

1. MCP9808

2. Daļiņu fotons

3. I2C kabelis

4. I2C vairogs daļiņu fotonam

2. darbība. Aparatūras savienošana:

Aparatūras savienojums
Aparatūras savienojums
Aparatūras savienojums
Aparatūras savienojums

Aparatūras savienošanas sadaļa pamatā izskaidro nepieciešamos vadu savienojumus starp sensoru un daļiņu fotonu. Pareizu savienojumu nodrošināšana ir pamatvajadzība, strādājot pie jebkuras sistēmas vēlamajam rezultātam. Tātad nepieciešamie savienojumi ir šādi:

MCP9808 darbosies, izmantojot I2C. Šeit ir elektroinstalācijas shēmas piemērs, kas parāda, kā savienot katru sensora saskarni.

Izņemot komplektu, tāfele ir konfigurēta I2C saskarnei, tāpēc mēs iesakām izmantot šo savienojumu, ja esat citādi agnostiķis. Viss, kas Jums nepieciešams, ir četri vadi!

Nepieciešami tikai četri savienojumi Vcc, Gnd, SCL un SDA, un tie ir savienoti, izmantojot I2C kabeli.

Šie savienojumi ir parādīti iepriekš redzamajos attēlos.

3. darbība. Temperatūras mērīšanas kods:

Temperatūras mērīšanas kods
Temperatūras mērīšanas kods

Sāksim ar daļiņu kodu tūlīt.

Izmantojot sensoru moduli ar arduino, mēs iekļaujam bibliotēku application.h un spark_wiring_i2c.h. Bibliotēkā "application.h" un spark_wiring_i2c.h ir funkcijas, kas atvieglo i2c komunikāciju starp sensoru un daļiņu.

Viss daļiņu kods lietotāja ērtībai ir norādīts zemāk:

#iekļaut

#iekļaut

// MCP9808 I2C adrese ir 0x18 (24)

#define Addr 0x18

pludiņš cTemp = 0, fTemp = 0;

anulēts iestatījums ()

{

// Iestatīt mainīgo

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

Particle.variable ("cTemp", cTemp);

// Inicializēt I2C komunikāciju kā MASTER

Wire.begin ();

// Inicializēt seriālo komunikāciju, iestatīt pārraides ātrumu = 9600

Sērijas sākums (9600);

// Sākt I2C pārraidi

Wire.beginTransmission (Addr);

// Izvēlieties konfigurācijas reģistru

Wire.write (0x01);

// Nepārtrauktas konversijas režīms, ieslēgšanas noklusējums

Wire.write (0x00);

Wire.write (0x00);

// Apturēt I2C pārraidi

Wire.endTransmission ();

// Sākt I2C pārraidi

Wire.beginTransmission (Addr);

// Atlasiet izšķirtspējas rgister

Wire.write (0x08);

// Izšķirtspēja = +0.0625 / C

Wire.write (0x03);

// Apturēt I2C pārraidi

Wire.endTransmission ();

kavēšanās (300);

}

tukša cilpa ()

{

neparakstīti int dati [2];

// Sāk I2C komunikāciju

Wire.beginTransmission (Addr);

// Atlasiet datu reģistru

Wire.write (0x05);

// Apturēt I2C pārraidi

Wire.endTransmission ();

// Pieprasīt 2 baitus datu

Wire.requestFrom (Addr, 2);

// Lasīt 2 baitus datu

// temp msb, temp lsb

ja (Wire.available () == 2)

{

dati [0] = Wire.read ();

dati [1] = Wire.read ();

}

kavēšanās (300);

// Pārvērtiet datus par 13 bitiem

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

ja (temperatūra> 4095)

{

temp -= 8192;

}

cTemp = temp * 0,0625;

fTemp = cTemp * 1,8 + 32;

// Izvadiet datus informācijas panelī

Particle.publish ("Temperatūra pēc Celsija:", String (cTemp));

Particle.publish ("Temperatūra pēc Fārenheita:", String (fTemp));

kavēšanās (500);

}

Funkcija Particle.variable () izveido mainīgos, lai saglabātu sensora izvadi, un Particle.publish () funkcija parāda izvadi vietnes informācijas panelī.

Sensora izeja ir parādīta attēlā iepriekš.

4. darbība. Lietojumprogrammas:

Lietojumprogrammas
Lietojumprogrammas

MCP9808 digitālajam temperatūras sensoram ir vairākas nozares līmeņa lietojumprogrammas, kurās ir iekļauti rūpnieciskie saldētavas un ledusskapji, kā arī dažādi pārtikas pārstrādātāji. Šo sensoru var izmantot dažādiem personālajiem datoriem, serveriem, kā arī citām datoru perifērijas ierīcēm.

Ieteicams: