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

MCP9808 ба Arduino Nano ашиглан температурын хяналт: 4 алхам
MCP9808 ба Arduino Nano ашиглан температурын хяналт: 4 алхам

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

Видео: MCP9808 ба Arduino Nano ашиглан температурын хяналт: 4 алхам
Видео: Cara mengukur suhu kompor infrared dengan max6675 K-type Thermocoupler (Subtittled) 2024, Арваннэгдүгээр
Anonim
Image
Image

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

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

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

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

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

1. MCP9808

2. Ардуино Нано

3. I2C кабель

4. Arduino нано -д зориулсан I2C бамбай

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

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

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

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

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

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

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

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

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

Одоо Arduino кодоор эхэлье.

Arduino -тай мэдрэгчийн модулийг ашиглахдаа бид Wire.h номын санг агуулдаг. "Утас" номын сан нь мэдрэгч ба Arduino самбар хоорондын i2c холболтыг хөнгөвчлөх функцүүдийг агуулдаг.

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

#оруулах

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

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

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

{

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

}

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

{

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

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

Wire.beginTransmission (Addr);

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

Wire.write (0x05);

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

Wire.endTransmission ();

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

Wire.requestFrom (Addr, 2);

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

// температур MSB, temp LSB

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

{

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

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

}

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

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

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

{

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

}

float cTemp = temp * 0.0625;

float fTemp = cTemp * 1.8 + 32;

// Дэлгэц рүү өгөгдөл гаргана

Serial.print ("Цельсийн температур:");

Serial.println (cTemp);

Serial.println ("C");

Serial.print ("Фаренгейт дэх температур:");

Serial.println (fTemp);

Serial.println ("F");

саатал (500);

}

Утасны санд Wire.write () ба Wire.read () командыг бичиж, мэдрэгчийн гаралтыг уншихад ашиглагддаг.

Arduino IDE -ийн цуваа дэлгэц дээр мэдрэгчийн гаралтыг харуулахад Serial.print () ба Serial.println () ашиглагддаг.

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

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

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

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

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