Cov txheej txheem:

Kev Ntsuas Kub Siv MCP9803 thiab Raspberry Pi: 4 Kauj Ruam
Kev Ntsuas Kub Siv MCP9803 thiab Raspberry Pi: 4 Kauj Ruam

Video: Kev Ntsuas Kub Siv MCP9803 thiab Raspberry Pi: 4 Kauj Ruam

Video: Kev Ntsuas Kub Siv MCP9803 thiab Raspberry Pi: 4 Kauj Ruam
Video: Saib Mis paub Poj niam (hluas nkauj) tus yam ntxwv lub siab 2024, Hlis ntuj nqeg
Anonim
Image
Image

MCP9803 yog 2-xaim siab qhov ntsuas kub. Lawv tau suav nrog cov npe siv tau-programmable uas pab txhawb kev thov ntsuas kub. Qhov ntsuas no haum rau kev siv ntau qhov chaw ntsuas kub ntau.

Hauv qhov kev qhia no kev cuam tshuam ntawm MCP9803 sensor module nrog raspberry pi tau pom thiab nws cov phiaj xwm siv Java lus kuj tseem tau piav qhia. Txhawm rau nyeem qhov ntsuas kub, peb tau siv raspberry pi nrog I2C adapter Qhov no I2C adapter ua rau kev txuas mus rau lub ntsuas qhov ntsuas tau yooj yim thiab ntseeg tau ntau dua.

Kauj Ruam 1: Yuav Tsum Kho Vajtse:

Yuav tsum tau kho vajtse
Yuav tsum tau kho vajtse
Yuav tsum tau kho vajtse
Yuav tsum tau kho vajtse
Yuav tsum tau kho vajtse
Yuav tsum tau kho vajtse

Cov ntaub ntawv uas peb xav tau kom ua tiav peb lub hom phiaj suav nrog cov khoom siv hauv qab no:

1. MCP9803

2. Raspberry pib

3. I2C Cable

4. I2C Shield rau raspberry pi

5. Ethernet Cable

Kauj ruam 2: Khoos phis tawj sib txuas:

Kho vajtse Hookup
Kho vajtse Hookup
Kho vajtse Hookup
Kho vajtse Hookup

Tshooj khoos phis tawj sib txuas ntu piav qhia qhov txuas txuas uas xav tau ntawm lub ntsuas cua thiab raspberry pi. Ua kom muaj kev sib txuas raug yog qhov tseem ceeb xav tau thaum ua haujlwm ntawm ib qho system rau qhov xav tau cov zis. Yog li, qhov xav tau kev sib txuas yog raws li hauv qab no:

MCP9803 yuav ua haujlwm dhau I2C. Nov yog qhov piv txwv kab hluav taws xob daim duab, qhia txog yuav ua li cas xaim txhua lub interface ntawm lub sensor.

Tawm-ntawm-lub thawv, lub rooj tsavxwm tau teeb tsa rau I2C interface, zoo li peb pom zoo siv qhov kev sib txuas no yog tias koj tsis ntseeg lwm yam.

Txhua yam koj xav tau yog plaub lub xov hlau! Tsuas yog plaub qhov kev sib txuas xav tau Vcc, Gnd, SCL thiab SDA tus pin thiab cov no txuas nrog kev pab ntawm I2C cable.

Cov kev sib txuas no tau qhia hauv cov duab saum toj no.

Kauj Ruam 3: Txoj Cai Rau Kev Ntsuas Kub:

Code rau Kev Ntsuas Kub
Code rau Kev Ntsuas Kub

Qhov zoo ntawm kev siv raspberry pi yog, uas muab rau koj hloov pauv ntawm cov lus programming uas koj xav tau los teeb tsa lub rooj tsav xwm txhawm rau txhawm rau cuam tshuam lub sensor nrog nws. Kev siv cov txiaj ntsig zoo ntawm pawg no, peb tab tom qhia ntawm no nws yog kev ua haujlwm hauv Java. Tus lej java rau MCP9803 tuaj yeem rub tawm los ntawm peb lub zej zog Github uas yog Dcube Store.

Ntxiv rau qhov yooj yim ntawm cov neeg siv, peb tab tom piav qhia cov cai ntawm no thiab:

Raws li thawj kauj ruam ntawm kev sau npe, koj yuav tsum rub lub pi4j lub tsev qiv ntawv thaum java vim tias lub tsev qiv ntawv no txhawb nqa cov haujlwm siv hauv txoj cai. Yog li, txhawm rau rub lub tsev qiv ntawv koj tuaj yeem mus ntsib qhov txuas hauv qab no:

pi4j.com/install.html

Koj tuaj yeem luam qhov ua haujlwm java code rau lub ntsuas no los ntawm no kuj:

ntshuam com.pi4j.io.i2c. I2CBus;

ntshuam com.pi4j.io.i2c. I2CDevice;

ntshuam com.pi4j.io.i2c. I2CFactory;

ntshuam java.io. IOException; pej xeem hauv chav kawm MCP9803

{

pej xeem zoo li qub tsis muaj dab tsi tseem ceeb (Txoj hlua args ) cuam tshuam zam

{

// Tsim I2C npav

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

// Tau txais I2C ntaus ntawv, MCP9803 I2C chaw nyob yog 0x48 (72)

I2CDevice ntaus ntawv = Bus.getDevice (0x48);

// Xaiv cov npe sau npe

// Kev hloov pauv tas li, Lub zog hloov pauv, hom sib piv, 12-ntsis kev daws teeb meem

ntaus ntawv.write (0x01, (byte) 0x60);

Xov.sleep (500);

// Nyeem 2 bytes ntawm cov ntaub ntawv los ntawm chaw nyob 0x00 (0)

// temp msb, kub lsb

byte cov ntaub ntawv = tshiab byte [2];

device.read (0x00, cov ntaub ntawv, 0, 2);

// Hloov cov ntaub ntawv mus rau 12-ntsis

int temp = ((cov ntaub ntawv [0] & 0xFF) * 256 + (data [1] & 0xF0)) / 16;

yog (temp> 2047)

{

temp -= 4096;

}

ob cTemp = temp * 0.0625;

ob fTemp = cTemp * 1.8 + 32;

// Cov ntaub ntawv tso tawm rau lub vijtsam

System.out.printf ("Kub hauv Celsius yog: %.2f C %n", cTemp);

System.out.printf ("Kub hauv Fahrenheit yog: %.2f F %n", fTemp);

}

}

Lub tsev qiv ntawv uas txhawb nqa i2c kev sib txuas lus ntawm lub sensor thiab pawg thawj coj yog pi4j, nws ntau pob khoom I2CBus, I2CDevice thiab I2CFactory pab tsim kom muaj kev sib txuas.

ntshuam com.pi4j.io.i2c. I2CBus;

ntshuam com.pi4j.io.i2c. I2CDevice;

ntshuam com.pi4j.io.i2c. I2CFactory;

ntshuam java.io. IOException;

sau () thiab nyeem () lub luag haujlwm tau siv los sau qee cov lus txib tshwj xeeb rau lub ntsuas cua kom nws ua haujlwm hauv ib qho tshwj xeeb thiab nyeem cov ntawv tso tawm feem.

Qhov tso tawm ntawm lub sensor kuj tseem muaj nyob hauv daim duab saum toj no.

Kauj Ruam 4: Cov ntawv thov:

Cov ntawv thov
Cov ntawv thov

MCP9803 tuaj yeem ua haujlwm hauv thaj chaw dav ntawm cov khoom siv uas suav nrog lub khoos phis tawj ntiag tug thiab lwm yam khoom siv, hard disk drive, ntau yam kev lom zem, kev ua haujlwm hauv chaw haujlwm thiab cov ntaub ntawv sib txuas lus. Qhov ntsuas no tuaj yeem suav nrog hauv ntau lub tshuab ntse.

Pom zoo: