Агуулгын хүснэгт:

TMP112 ба бөөмийн фотон ашиглан температурын хэмжилт: 4 алхам
TMP112 ба бөөмийн фотон ашиглан температурын хэмжилт: 4 алхам

Видео: TMP112 ба бөөмийн фотон ашиглан температурын хэмжилт: 4 алхам

Видео: TMP112 ба бөөмийн фотон ашиглан температурын хэмжилт: 4 алхам
Видео: CERN - Бурхны бөөм буюу Хигс бозон гэж юу вэ ? 2024, Арваннэгдүгээр
Anonim
Image
Image

TMP112 Өндөр нарийвчлалтай, бага чадалтай, дижитал температур мэдрэгч I2C MINI модуль. TMP112 нь температурыг хэмжихэд тохиромжтой. Энэ төхөөрөмж нь шалгалт тохируулга хийх эсвэл гадны бүрэлдэхүүн хэсгүүдийн дохиог тохируулах шаардлагагүй ± 0.5 ° C нарийвчлалыг санал болгодог.

Энэхүү гарын авлагад TMP112 мэдрэгчийн модулийн бөөмийн фотонтой хэрхэн холбогдож байгааг харуулав. Температурын утгыг уншихын тулд бид I2c адаптертай arduino -ийг ашигласан бөгөөд энэхүү I2C адаптер нь мэдрэгчийн модульд холбогдоход хялбар, илүү найдвартай болгодог.

Алхам 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)

#тодорхойлох Addr 0x48

давхар cTemp = 0.0, fTemp = 0.0;

хүчингүй тохиргоо ()

{

// Хувьсагчийг тохируулах

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

Particle.variable ("cTemp", cTemp);

// I2C холболтыг MASTER болгон эхлүүлэх

Wire.begin ();

// Цуваа холболтыг эхлүүлэх, дамжуулах хурд = 9600

Цуваа эхлэх (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 байтын өгөгдлийг уншина уу

// temp msb, temp lsb

хэрэв (Утас. боломжтой () == 2)

{

өгөгдөл [0] = Wire.read ();

өгөгдөл [1] = Wire.read ();

}

// Өгөгдлийг 12 бит болгон хөрвүүлэх

int temp = ((өгөгдөл [0] * 256) + (өгөгдөл [1])) / 16;

хэрэв (температур> 2048)

{

температур -= 4096;

}

cTemp = температур * 0.0625;

fTemp = cTemp * 1.8 + 32;

// Мэдээллийг хяналтын самбарт гаргах

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

саатал (1000);

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

саатал (1000);

}

Particle.variable () функц нь мэдрэгчийн гаралтыг хадгалах хувьсагчдыг үүсгэдэг ба Particle.publish () функц нь сайтын хяналтын самбарт гаралтыг харуулдаг.

Мэдээллийн хувьд мэдрэгчийн гаралтыг дээрх зурагт үзүүлэв.

Алхам 4: Өргөдөл:

Хэрэглээ
Хэрэглээ

TMP112 бага чадалтай, өндөр нарийвчлалтай дижитал температур мэдрэгч бүхий төрөл бүрийн програмууд нь Цахилгаан хангамжийн температурын хяналт, Компьютерийн захын дулааны хамгаалалт, Зайны удирдлага, оффисын машиныг багтаасан болно.

Зөвлөмж болгож буй: