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

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

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

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

MCP9808 бол өндөр нарийвчлалтай дижитал температур мэдрэгч ± 0.5 ° C I2C мини модуль юм. Тэдгээр нь температурыг мэдрэх програмыг хөнгөвчлөх хэрэглэгчийн програмчлагдах бүртгэлүүдтэй. MCP9808 өндөр нарийвчлалтай температур мэдрэгч нь хэлбэрийн хүчин зүйл, оюун ухааны хувьд үйлдвэрлэлийн стандарт болж, тоон, I2C форматаар тохируулагдсан, шугаман мэдрэгчийн дохиог өгдөг.

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

Алхам 1: Шаардлагатай тоног төхөөрөмж:

Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж

Зорилгодоо хүрэхийн тулд бидэнд шаардлагатай материалууд нь дараахь тоног төхөөрөмжийн бүрэлдэхүүн хэсгүүдийг агуулдаг.

1. MCP9808

2. Бөөмийн фотон

3. I2C кабель

4. Бөөмийн фотоны I2C бамбай

Алхам 2: Тоног төхөөрөмжийн холболт:

Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт

Тоног төхөөрөмжийн холболтын хэсэг нь үндсэндээ мэдрэгч ба бөөмийн фотоны хооронд шаардлагатай утас холболтыг тайлбарладаг. Аливаа систем дээр ажиллахад шаардлагатай гаралтын хувьд зөв холболтыг хангах нь хамгийн чухал зүйл юм. Тиймээс шаардлагатай холболтууд дараах байдалтай байна.

MCP9808 нь I2C дээр ажиллах болно. Мэдрэгчийн интерфэйс бүрийг хэрхэн яаж холбохыг харуулсан утасны диаграмын жишээ энд байна.

Хайрцагнаас гадуурх самбар нь I2C интерфэйс дээр тохируулагдсан байдаг тул хэрэв та өөр ойлголтгүй бол энэ холболтыг ашиглахыг зөвлөж байна. Танд ердөө дөрвөн утас л хангалттай!

Vcc, Gnd, SCL, SDA зүүг зөвхөн дөрвөн холболт шаарддаг бөгөөд эдгээр нь I2C кабелийн тусламжтайгаар холбогддог.

Эдгээр холболтыг дээрх зурган дээр харуулав.

Алхам 3: Температур хэмжих код:

Температур хэмжих код
Температур хэмжих код

Одоо бөөмийн кодоор эхэлье.

Мэдрэгчийн модулийг arduino ашиглан ашиглахдаа application.h болон spark_wiring_i2c.h номын санг агуулдаг. "application.h" болон spark_wiring_i2c.h номын сан нь мэдрэгч ба бөөмийн хооронд i2c холболтыг хөнгөвчлөх функцуудыг агуулдаг.

Хэрэглэгчийн тав тухыг хангах үүднээс бөөмийн кодыг бүхэлд нь доор харуулав.

#оруулах

#оруулах

// MCP9808 I2C хаяг нь 0x18 (24)

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

float cTemp = 0, fTemp = 0;

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

{

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

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

Particle.variable ("cTemp", cTemp);

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

Wire.begin ();

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

Цуваа эхлэх (9600);

// I2C дамжуулалтыг эхлүүлэх

Wire.beginTransmission (Addr);

// Тохиргооны бүртгэлийг сонгоно уу

Wire.write (0x01);

// Тасралтгүй хөрвүүлэх горим, Power-up default

Wire.write (0x00);

Wire.write (0x00);

// I2C дамжуулалтыг зогсоох

Wire.endTransmission ();

// I2C дамжуулалтыг эхлүүлэх

Wire.beginTransmission (Addr);

// Тогтоолын бүртгэлийг сонгоно уу

Wire.write (0x08);

// Тогтоол = +0.0625 / C

Wire.write (0x03);

// I2C дамжуулалтыг зогсоох

Wire.endTransmission ();

саатал (300);

}

хоосон давталт ()

{

гарын үсэг зураагүй int өгөгдөл [2];

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

Wire.beginTransmission (Addr);

// Өгөгдлийн бүртгэлийг сонгоно уу

Wire.write (0x05);

// I2C дамжуулалтыг зогсооно уу

Wire.endTransmission ();

// 2 байтын өгөгдөл хүсэх

Wire.requestFrom (Addr, 2);

// 2 байтын өгөгдлийг уншина уу

// temp msb, temp lsb

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

{

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

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

}

саатал (300);

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

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

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

{

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

}

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

fTemp = cTemp * 1.8 + 32;

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

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

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

саатал (500);

}

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

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

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

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

MCP9808 дижитал температур мэдрэгч нь үйлдвэрлэлийн зориулалттай хөлдөөгч, хөргөгч, төрөл бүрийн хүнсний процессорыг багтаасан хэд хэдэн салбарын түвшний програмуудтай. Энэхүү мэдрэгчийг янз бүрийн хувийн компьютер, сервер болон бусад компьютерийн дагалдах төхөөрөмжүүдэд ашиглаж болно.

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