Sisukord:

Temperatuuri mõõtmine MCP9803 ja Raspberry Pi abil: 4 sammu
Temperatuuri mõõtmine MCP9803 ja Raspberry Pi abil: 4 sammu

Video: Temperatuuri mõõtmine MCP9803 ja Raspberry Pi abil: 4 sammu

Video: Temperatuuri mõõtmine MCP9803 ja Raspberry Pi abil: 4 sammu
Video: AQUARIUM AUTOMATION - GHL SYSTEM FOR PH, DOSING AND OTHER PLANTED TANK CONTROLS 2024, November
Anonim
Image
Image

MCP9803 on 2-juhtmeline suure täpsusega temperatuuriandur. Need on varustatud kasutaja poolt programmeeritavate registritega, mis hõlbustavad temperatuuri andmise rakendusi. See andur sobib väga keeruka mitme tsooni temperatuuri jälgimissüsteemi jaoks.

Selles õpetuses on näidatud MCP9803 andurimooduli liidestamist vaarika pi -ga ja illustreeritud on ka selle programmeerimine Java keelt kasutades. 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. MCP9803

2. Vaarika pi

3. I2C kaabel

4. I2C Shield vaarika pi jaoks

5. Etherneti kaabel

2. samm: riistvara ühendamine:

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

Riistvara ühendamise jaotis selgitab põhimõtteliselt anduri ja vaarika pi 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:

MCP9803 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

Vaarika pi kasutamise eeliseks on see, et saate paindlikult programmeerida keelt, milles soovite plaati programmeerida, et andurit sellega liidestada. Kasutades selle plaadi eeliseid, demonstreerime siin, et see programmeerib Java -s. MCP9803 java koodi saab alla laadida meie Githubi kogukonnast, mis on Dcube Store.

Lisaks kasutajate mugavusele selgitame koodi ka siin:

Kodeerimise esimese sammuna peate java korral alla laadima raamatukogu pi4j, kuna see teek toetab koodis kasutatavaid funktsioone. Niisiis, teegi allalaadimiseks võite külastada järgmist linki:

pi4j.com/install.html

Siit saate kopeerida ka selle anduri töötava java koodi:

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

importige java.io. IOException; avalik klass MCP9803

{

public static void main (String args ) viskab Erand

{

// Loo I2C siin

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

// Hangi I2C seade, MCP9803 I2C aadress on 0x48 (72)

I2CDevice seade = Bus.getDevice (0x48);

// Valige konfiguratsiooniregister

// Pidev teisendusrežiim, sisselülitamine, võrdlusrežiim, 12-bitine eraldusvõime

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

Niit.unenägu (500);

// Lugege 2 baiti andmeid aadressilt 0x00 (0)

// temp msb, temp lsb

bait andmed = uus bait [2];

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

// Teisendage andmed 12-bitisteks

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

kui (temp> 2047)

{

temp -= 4096;

}

kahekordne cTemp = temp * 0,0625;

kahekordne fTemp = cTemp * 1,8 + 32;

// Andmete väljastamine ekraanile

System.out.printf ("Temperatuur Celsiuse järgi on: %.2f C %n", cTemp);

System.out.printf ("Temperatuur Fahrenheiti järgi on: %.2f F %n", fTemp);

}

}

Teek, mis hõlbustab i2c suhtlust anduri ja plaadi vahel, on pi4j, selle erinevad paketid I2CBus, I2CDevice ja I2CFactory aitavad ühendust luua.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

importige java.io. IOException;

Kirjutamise () ja lugemise () funktsioone kasutatakse andurile teatud käskude kirjutamiseks, et see töötaks teatud režiimis ja loeks vastavalt anduri väljundit.

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

4. samm: rakendused:

Rakendused
Rakendused

MCP9803 saab kasutada paljudes seadmetes, sealhulgas personaalarvutid ja välisseadmed, kõvakettadraivid, mitmesugused meelelahutussüsteemid, kontorisüsteemid ja andmesidesüsteemid. Seda andurit saab integreerida erinevatesse keerukatesse süsteemidesse.

Soovitan: