Sisukord:

Osakeste footon - TMP100 temperatuurianduri õpetus: 4 sammu
Osakeste footon - TMP100 temperatuurianduri õpetus: 4 sammu

Video: Osakeste footon - TMP100 temperatuurianduri õpetus: 4 sammu

Video: Osakeste footon - TMP100 temperatuurianduri õpetus: 4 sammu
Video: Инь-Ян в квантовой физике 2024, November
Anonim
Image
Image

TMP100 suure täpsusega, väikese energiatarbega digitaalne temperatuuriandur I2C MINI moodul. TMP100 on ideaalne pikemaajaliseks temperatuuri mõõtmiseks. See seade pakub täpsust ± 1 ° C ilma kalibreerimist või välise komponendi signaali konditsioneerimist nõudmata. Siin on demonstratsioon osakeste footoniga.

Samm: mida vajate..

Mida sa vajad..!!
Mida sa vajad..!!

1. Osakeste footon

2. TMP100

3. I²C kaabel

4. I²C kilp osakeste footonile

2. samm: ühendus:

Ühendus
Ühendus
Ühendus
Ühendus
Ühendus
Ühendus
Ühendus
Ühendus

Võtke osakeste footoni jaoks I2C kilp ja suruge see õrnalt üle osakeste footoni tihvtide.

Seejärel ühendage I2C kaabli üks ots TMP100 anduriga ja teine ots I2C varjestusega.

Ühendused on näidatud ülaltoodud pildil.

3. samm: kood:

Kood
Kood

TMP100 osakeste koodi saab alla laadida meie GitHubi hoidlast Dcube Store

Siin on link samale:

github.com/DcubeTechVentures/TMP100…

Osakeste koodi jaoks oleme kasutanud kahte raamatukogu, milleks on application.h ja spark_wiring_i2c.h. I2C anduriga suhtlemise hõlbustamiseks on vajalik teek Spark_wiring_i2c.

Siit saate koodi ka kopeerida, see on järgmine:

// Levitatakse vaba tahte litsentsiga.

// Kasutage seda soovitud viisil, kasumit teenides või tasuta, tingimusel et see sobib sellega seotud teoste litsentsidega.

// TMP100

// See kood on loodud töötama Dcube Store'is saadaval oleva TMP100_I2CS I2C minimooduliga.

#kaasake

#kaasake

// TMP100 I2C aadress on 0x4F (79)

#define Addr 0x4F

ujuk cTemp = 0, fTemp = 0;

tühine seadistus ()

{

// Määra muutuja

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

Particle.variable ("cTemp", cTemp);

// Initsialiseeri I2C side kui MASTER

Wire.begin ();

// Initsialiseeri jadaühendus, määrake edastuskiirus = 9600

Seriaalne algus (9600);

// Käivitage I2C edastamine

Wire.beginTransmission (Addr);

// Valige konfiguratsiooniregister

Wire.write (0x01);

// Määra pidev teisendamine, võrdlusrežiim, 12-bitine eraldusvõime

Wire.write (0x60);

// Peata I2C edastamine

Wire.endTransmission ();

viivitus (300);

}

tühine tsükkel ()

{

allkirjastamata int andmed [2];

// Käivitage I2C edastamine

Wire.beginTransmission (Addr);

// Valige andmeregister

Wire.write (0x00);

// Peata I2C edastamine

Wire.endTransmission ();

// Taotle 2 baiti andmeid

Wire.requestFrom (Addr, 2);

// Lugege 2 baiti andmeid

// cTemp msb, cTemp lsb

kui (Wire.available () == 2)

{

andmed [0] = Wire.read ();

andmed [1] = Wire.read ();

}

// Teisendage andmed

cTemp = (((andmed [0] * 256) + (andmed [1] & 0xF0)) / 16) * 0,0625;

fTemp = cTemp * 1,8 + 32;

// Andmete väljastamine armatuurlauale

Particle.publish ("Temperatuur Celsiuse järgi:", String (cTemp));

Particle.publish ("Temperatuur Fahrenheiti järgi:", String (fTemp));

viivitus (1000);

}

4. samm: rakendused:

Erinevad rakendused, mis sisaldavad väikese võimsusega ja suure täpsusega digitaalset temperatuuriandurit, hõlmavad toiteallika temperatuuri jälgimist, arvuti perifeerset termokaitset, aku haldamist ja kontorimasinaid.

Soovitan: