Satura rādītājs:

Temperatūras mērīšana, izmantojot MCP9803 un Raspberry Pi: 4 soļi
Temperatūras mērīšana, izmantojot MCP9803 un Raspberry Pi: 4 soļi

Video: Temperatūras mērīšana, izmantojot MCP9803 un Raspberry Pi: 4 soļi

Video: Temperatūras mērīšana, izmantojot MCP9803 un Raspberry Pi: 4 soļi
Video: Использование Melexis MLX90614 Инфракрасный термометр с Arduino 2024, Novembris
Anonim
Image
Image

MCP9803 ir 2 vadu augstas precizitātes temperatūras sensors. Tie ir iemiesoti lietotāja programmējamos reģistros, kas atvieglo temperatūras noteikšanas lietojumprogrammas. Šis sensors ir piemērots ļoti sarežģītai daudzzonu temperatūras kontroles sistēmai.

Šajā apmācībā ir parādīta MCP9803 sensora moduļa saskarne ar aveņu pi un parādīta arī tā programmēšana, izmantojot Java valodu. 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. MCP9803

2. Aveņu pi

3. I2C kabelis

4. I2C vairogs aveņu pi

5. Ethernet kabelis

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 aveņu pi. 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:

MCP9803 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

Aveņu pi izmantošanas priekšrocība ir tā, ka nodrošina elastību programmēšanas valodā, kurā vēlaties programmēt tāfeli, lai ar to savienotu sensoru. Izmantojot šīs plates priekšrocības, mēs šeit demonstrējam, ka tā ir programmēšana Java. MCP9803 Java kodu var lejupielādēt no mūsu Github kopienas, kas ir Dcube Store.

Kā arī lietotāju ērtībai mēs šeit izskaidrojam kodu:

Kā pirmais kodēšanas solis java gadījumā ir jālejupielādē pi4j bibliotēka, jo šī bibliotēka atbalsta kodā izmantotās funkcijas. Tātad, lai lejupielādētu bibliotēku, varat apmeklēt šo saiti:

pi4j.com/install.html

Šeit varat arī nokopēt šī sensora darba Java kodu:

importēt com.pi4j.io.i2c. I2CBus;

importēt com.pi4j.io.i2c. I2CDevice;

importēt com.pi4j.io.i2c. I2CFactory;

importēt java.io. IOException; publiskā klase MCP9803

{

public static void main (String args ) metieni Izņēmums

{

// Izveidot I2C kopni

I2CBus kopne = I2CFactory.getInstance (I2CBus. BUS_1);

// Iegūt I2C ierīci, MCP9803 I2C adrese ir 0x48 (72)

I2CDevice device = Bus.getDevice (0x48);

// Izvēlieties konfigurācijas reģistru

// Nepārtrauktas konversijas režīms, ieslēgšana, salīdzināšanas režīms, 12 bitu izšķirtspēja

device.write (0x01, (baits) 0x60);

Vītne.miega (500);

// Nolasīt 2 baitus datu no adreses 0x00 (0)

// temp msb, temp lsb

baits dati = jauns baits [2];

device.read (0x00, dati, 0, 2);

// Konvertējiet datus uz 12 bitiem

int temp = ((dati [0] & 0xFF) * 256 + (dati [1] & 0xF0)) / 16;

ja (temperatūra> 2047)

{

temperatūra -= 4096;

}

dubultā cTemp = temp * 0,0625;

dubultā fTemp = cTemp * 1,8 + 32;

// Izvadiet datus ekrānā

System.out.printf ("Temperatūra pēc Celsija ir: %.2f C %n", cTemp);

System.out.printf ("Temperatūra pēc Fārenheita ir: %.2f F %n", fTemp);

}

}

Bibliotēka, kas atvieglo i2c saziņu starp sensoru un plati, ir pi4j, un tās dažādās paketes I2CBus, I2CDevice un I2CFactory palīdz izveidot savienojumu.

importēt com.pi4j.io.i2c. I2CBus;

importēt com.pi4j.io.i2c. I2CDevice;

importēt com.pi4j.io.i2c. I2CFactory;

importēt java.io. IOException;

rakstīšanas () un lasīšanas () funkcijas tiek izmantotas, lai sensorā ierakstītu dažas īpašas komandas, lai tas darbotos noteiktā režīmā un attiecīgi nolasītu sensora izeju.

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

4. darbība. Lietojumprogrammas:

Lietojumprogrammas
Lietojumprogrammas

MCP9803 var izmantot plašā ierīču arēnā, kurā ietilpst personālais dators un perifērijas ierīces, cietie diski, dažādas izklaides sistēmas, biroja sistēmas un datu sakaru sistēmas. Šo sensoru var iekļaut dažādās sarežģītās sistēmās.

Ieteicams: