Cov txheej txheem:

Kev Ntsuas Siab Siv CPS120 thiab Particle Photon: 4 Cov Kauj Ruam
Kev Ntsuas Siab Siv CPS120 thiab Particle Photon: 4 Cov Kauj Ruam

Video: Kev Ntsuas Siab Siv CPS120 thiab Particle Photon: 4 Cov Kauj Ruam

Video: Kev Ntsuas Siab Siv CPS120 thiab Particle Photon: 4 Cov Kauj Ruam
Video: Xwm Kab Yog Dab Tsi?: Hmoob Nkag Siab Yuam Kev Tag Lawm 2024, Kaum ib hlis
Anonim
Image
Image

CPS120 yog qhov ua tau zoo thiab tus nqi qis capacitive tsis siab sensor nrog kev them nyiaj tag nrho. Nws siv hluav taws xob tsawg heev thiab suav nrog ib qho me me me me Micro-Electro-Mechanical Sensor (MEMS) rau ntsuas ntsuas. Sigma-delta raws ADC kuj tseem muaj nyob hauv nws kom ua tiav qhov xav tau ntawm cov nyiaj them poob haujlwm.

Hauv qhov kev qhia no kev cuam tshuam ntawm CPS120 sensor module nrog cov duab photon tau piav qhia. Txhawm rau nyeem qhov ntsuas siab, peb tau siv photon 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. CPS120

2. Particle Photon

3. I2C Cable

4. I2C Shield rau particle photon

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 txuas uas xav tau ntawm lub sensor thiab cov duab photon. 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:

CPS120 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 Siab:

Txoj Cai Rau Kev Ntsuas Siab
Txoj Cai Rau Kev Ntsuas Siab

Cia peb pib nrog cov lej me me tam sim no.

Thaum siv lub ntsuas ntsuas nrog Arduino, peb suav nrog application.h thiab lub tsev qiv ntawv spark_wiring_i2c.h. "application.h" thiab lub tsev qiv ntawv spark_wiring_i2c.h muaj cov haujlwm uas pab txhawb kev sib txuas lus i2c ntawm lub sensor thiab cov khoom me me.

Tag nrho cov cai hauv qab no tau muab rau hauv qab no kom yooj yim ntawm tus neeg siv:

#suav nrog

#suav nrog

// CPS120 I2C chaw nyob yog 0x28 (40)

#define Ntxiv 0x28

ob chav kub = 0.0, siab = 0.0;

void teeb tsa ()

{

// Teem sib txawv

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

Particle.variable ("siab", siab);

Particle.variable ("kub", kub);

// Pib I2C kev sib txuas lus li MASTER

Hlau.begin ();

// Initialise serial communication, teeb baud tus nqi = 9600

Serial.begin (9600);

}

void lub voj ()

{

unsigned int cov ntaub ntawv [4];

// Pib I2C Kev Kis

Wire.beginTransmission (Addr);

ncua (10);

// Nres I2C Kev Kis

Wire.endTransmission ();

// Thov 4 byte ntawm cov ntaub ntawv

Wire.requestFrom (Addr, 4);

// Nyeem 4 bytes ntawm cov ntaub ntawv

// siab msb, siab lsb, temp msb, temp lsb

yog (Wire.available () == 4)

{

cov ntaub ntawv [0] = Wire.read ();

cov ntaub ntawv [1] = Wire.read ();

cov ntaub ntawv [2] = Wire.read ();

cov ntaub ntawv [3] = Wire.read ();

}

// Hloov qhov tseem ceeb

siab = ((((data [0] & 0x3F) * 265 + data [1]) / 16384.0) * 90.0) + 30.0;

cTemp = ((((cov ntaub ntawv [2] * 256) + (data [3] & 0xFC)) / 4.0) * (165.0 / 16384.0)) - 40.0;

fTemp = cTemp * 1.8 + 32;

// Tso tawm cov ntaub ntawv rau dashboard

Particle.publish ("Siab yog:", Txoj hlua (siab));

ncua (1000);

Particle.publish ("Kub hauv Celsius:", String (cTemp));

ncua (1000);

Particle.publish ("Kub hauv Fahrenheit:", String (fTemp));

ncua (1000);

}

Particle.variable () muaj nuj nqi tsim cov kev hloov pauv kom khaws cov zis tawm ntawm lub sensor thiab Particle.publish () muaj nuj nqi qhia cov zis ntawm lub dashboard ntawm lub xaib.

Cov zis sensor tau pom hauv daim duab saum toj no rau koj siv.

Kauj Ruam 4: Cov ntawv thov:

Cov ntawv thov
Cov ntawv thov

CPS120 muaj ntau yam kev siv. Nws tuaj yeem ua haujlwm nyob rau hauv nqa tau thiab ntsuas barometers, qhov siab thiab lwm yam Kev ntsuas siab yog qhov ntsuas tseem ceeb los txiav txim siab huab cua thiab txiav txim siab tias lub ntsuas no tuaj yeem teeb tsa ntawm cov chaw huab cua ib yam. Nws tuaj yeem suav nrog hauv cov tshuab huab cua nrog rau lub tshuab nqus tsev.

Pom zoo: