Мазмуну:

TMP112 жана Particle Photon колдонуп температураны өлчөө: 4 кадам
TMP112 жана Particle Photon колдонуп температураны өлчөө: 4 кадам

Video: TMP112 жана Particle Photon колдонуп температураны өлчөө: 4 кадам

Video: TMP112 жана Particle Photon колдонуп температураны өлчөө: 4 кадам
Video: How to Interface the TMP102 & TMP112 Temperature Sensors with Arduino 2024, Ноябрь
Anonim
Image
Image

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

Бул окуу куралында TMP112 сенсор модулунун бөлүкчө фотону менен интерфейси сүрөттөлгөн. Температуранын маанилерин окуу үчүн I2c adapter. This I2C адаптери менен arduino колдонгонбуз, сенсор модулуна туташууну жеңил жана ишенимдүү кылат.

1 -кадам: Аппараттык камсыздоо талап кылынат:

Аппараттык камсыздоо талап кылынат
Аппараттык камсыздоо талап кылынат
Аппараттык камсыздоо талап кылынат
Аппараттык камсыздоо талап кылынат
Аппараттык камсыздоо талап кылынат
Аппараттык камсыздоо талап кылынат

Максатыбызга жетүү үчүн бизге керектүү материалдар төмөнкү аппараттык компоненттерди камтыйт:

1. TMP112

2. Бөлүкчөлөрдүн фотону

3. I2C кабели

4. Бөлүкчө фотону үчүн I2C калканы

2 -кадам: Аппараттык туташуу:

Аппараттык туташуу
Аппараттык туташуу
Аппараттык туташуу
Аппараттык туташуу

Аппараттык туташуу бөлүмү негизинен сенсор менен фотон бөлүкчөсүнүн ортосунда талап кылынган зым байланыштарын түшүндүрөт. Туура туташууларды камсыздоо каалаган өндүрүш үчүн кандайдыр бир системада иштеп жатканда негизги зарылчылык болуп саналат. Ошентип, керектүү байланыштар төмөнкүлөр:

TMP112 I2C үстүндө иштейт. Бул жерде сенсордун ар бир интерфейсин кантип зым менен жабуу керектигин көрсөтүүчү зымдардын схемасы келтирилген.

Кутудан тышкары, такта I2C интерфейси үчүн конфигурацияланган, андыктан эгер сиз агностиксиз болсоңуз, анда бул байланышты колдонууну сунуштайбыз. Сизге болгону төрт зым керек!

Vcc, Gnd, SCL жана SDA төөнөгүчтөрүнө төрт гана туташуу керек жана алар I2C кабелинин жардамы менен туташкан.

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

3 -кадам: Температураны өлчөө коду:

Температураны өлчөө коду
Температураны өлчөө коду

Эми бөлүкчө коду менен баштайлы.

Arduino менен сенсор модулун колдонуп жатканда, биз application.h жана spark_wiring_i2c.h китепканасын камтыйт. "application.h" жана spark_wiring_i2c.h китепканасы сенсор менен бөлүкчөнүн ортосундагы i2c байланышын жеңилдетүүчү функцияларды камтыйт.

Колдонуучунун ыңгайлуулугу үчүн бүт бөлүкчө коду төмөндө келтирилген:

#кошуу

#кошуу

// TMP112 I2C дареги 0x48 (72)

#define Addr 0x48

кош cTemp = 0.0, fTemp = 0.0;

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

{

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

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

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);

Wire.write (0xA0);

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

Wire.endTransmission ();

кечигүү (300);

}

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

{

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

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

Wire.beginTransmission (Addr);

// Температура маалыматтарынын регистрин тандоо

Wire.write (0x00);

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

Wire.endTransmission ();

кечигүү (300);

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

Wire.requestFrom (Addr, 2);

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

// темп msb, temp lsb

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

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Маалыматтарды 12 битке айландырыңыз

int temp = ((маалымат [0] * 256) + (маалымат [1])) / 16;

эгер (темп> 2048)

{

темп -= 4096;

}

cTemp = temp * 0.0625;

fTemp = cTemp * 1.8 + 32;

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

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

кечигүү (1000);

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

кечигүү (1000);

}

Particle.

Сенсор чыгаруу үчүн жогорудагы сүрөттө көрсөтүлгөн.

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

Колдонмолор
Колдонмолор

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

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