Мазмуну:

Particle Photon - TMP100 Температура сенсорунун үйрөткүчү: 4 кадам
Particle Photon - TMP100 Температура сенсорунун үйрөткүчү: 4 кадам

Video: Particle Photon - TMP100 Температура сенсорунун үйрөткүчү: 4 кадам

Video: Particle Photon - TMP100 Температура сенсорунун үйрөткүчү: 4 кадам
Video: Particle Photon - TMP100 Temperature Sensor Tutorial 2024, Июнь
Anonim
Image
Image

TMP100 Жогорку тактык, аз кубаттуулук, санарип температура сенсору I2C MINI модулу. TMP100 узартылган температураны өлчөө үчүн идеалдуу. Бул түзмөк калибрлөөнү же тышкы компоненттин сигналын кондициялоону талап кылбастан ± 1 ° C тактыкты сунуштайт. Бул жерде Particle Photon менен болгон демонстрация.

1 -кадам: Сизге эмне керек..

Сизге эмне керек.. !!
Сизге эмне керек.. !!

1. Фотоникалык бөлүкчөлөр

2. TMP100

3. I²C кабели

4. I²C калканч фотон үчүн

2 -кадам: Байланыш:

Туташуу
Туташуу
Туташуу
Туташуу
Туташуу
Туташуу
Туташуу
Туташуу

Бөлүкчө фотону үчүн I2C калканчын алыңыз жана аны акырын бөлүкчө фотонунун казыктарынын үстүнө түртүңүз.

Андан кийин I2C кабелинин бир учун TMP100 сенсоруна, экинчи учун I2C калканчына туташтырыңыз.

Байланыштар жогорудагы сүрөттө көрсөтүлгөн.

3 -кадам: Код:

Код
Код

TMP100 үчүн бөлүкчө кодун биздин GitHub репозиторийинен жүктөп алса болот- Dcube дүкөнү

Мына ушуга шилтеме:

github.com/DcubeTechVentures/TMP100…

Биз бөлүкчө коду үчүн эки китепкананы колдондук, алар application.h жана spark_wiring_i2c.h. Сенсор менен I2C байланышын жеңилдетүү үчүн Spark_wiring_i2c китепканасы талап кылынат.

Сиз бул жерден кодду көчүрүп алсаңыз болот, ал төмөнкүчө берилген:

// Эркин лицензия менен таратылган.

// Аны каалагандай колдон, пайда же бекер, эгер ал ага байланыштуу чыгармаларынын лицензиясына туура келсе.

// TMP100

// Бул код Dcube Storeдо жеткиликтүү болгон TMP100_I2CS I2C Mini Module менен иштөө үчүн иштелип чыккан.

#кошуу

#кошуу

// TMP100 I2C дареги 0x4F (79)

#define Addr 0x4F

float cTemp = 0, fTemp = 0;

жараксыз орнотуу ()

{

// Өзгөрмөнү коюу

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

Particle.variable ("cTemp", cTemp);

// I2C байланышын MASTER катары баштаңыз

Wire.begin ();

// Serial байланышты баштоо, baud rate = 9600

Serial.begin (9600);

// I2C берүүнү баштоо

Wire.beginTransmission (Addr);

// Конфигурация реестрин тандоо

Wire.write (0x01);

// Үзгүлтүксүз конверсияны, салыштыруу режимин, 12 биттик чечимди коюңуз

Wire.write (0x60);

// I2C берүүнү токтотуу

Wire.endTransmission ();

кечигүү (300);

}

боштук цикл ()

{

кол коюлбаган int маалыматтары [2];

// I2C берүүнү баштоо

Wire.beginTransmission (Addr);

// Маалымат реестрин тандоо

Wire.write (0x00);

// I2C берүүнү токтотуу

Wire.endTransmission ();

// 2 байт маалымат сураңыз

Wire.requestFrom (Addr, 2);

// 2 байт маалыматтарды окуңуз

// cTemp msb, cTemp lsb

эгер (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Маалыматты конвертациялоо

cTemp = (((маалымат [0] * 256) + (маалымат [1] & 0xF0)) / 16) * 0.0625;

fTemp = cTemp * 1.8 + 32;

// Маалыматтарды тактасына чыгаруу

Particle.publish ("Цельсий боюнча температура:", String (cTemp));

Particle.publish ("Фаренгейттеги температура:", String (fTemp));

кечигүү (1000);

}

4 -кадам: Тиркемелер:

TMP100 аз кубаттуу, жогорку тактыктагы санарип температура сенсорун камтыган ар кандай тиркемелерге Power-Supply Temperature Monitoring, Computer Perifheral Thermal Protection, Battery Management, ошондой эле офистик машиналар кирет.

Сунушталууда: