Mündəricat:

MCP9808 və Particle Photon istifadə edərək İstilik Monitorinqi: 4 addım
MCP9808 və Particle Photon istifadə edərək İstilik Monitorinqi: 4 addım

Video: MCP9808 və Particle Photon istifadə edərək İstilik Monitorinqi: 4 addım

Video: MCP9808 və Particle Photon istifadə edərək İstilik Monitorinqi: 4 addım
Video: Бесконтактный термометр инфракрасный датчик MLX90614 с ЖК-дисплеем 2024, Iyul
Anonim
Image
Image

MCP9808 yüksək dəqiqlikli rəqəmsal temperatur sensoru ± 0,5 ° C I2C mini moduldur. İstilik algılama tətbiqlərini asanlaşdıran istifadəçi tərəfindən proqramlaşdırıla bilən qeydlər ilə təcəssüm olunur. MCP9808 yüksək dəqiqlikli temperatur sensoru, rəqəmsal, I2C formatında kalibrlənmiş, xətti sensor siqnalları təmin edən forma faktoru və zəka baxımından sənaye standartına çevrildi.

Bu dərslikdə hissəcik fotonu ilə MCP9808 sensor modulunun qarşılıqlı əlaqəsi nümayiş etdirildi. İstilik dəyərlərini oxumaq üçün I2c adapterli moruq pi istifadə etdik. Bu I2C adapteri sensor moduluna qoşulmağı asanlaşdırır və daha etibarlıdır.

Addım 1: Lazım olan avadanlıq:

Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur

Məqsədimizə çatmaq üçün ehtiyacımız olan materiallar aşağıdakı aparat komponentlərindən ibarətdir:

1. MCP9808

2. Foton hissəcikləri

3. I2C Kabeli

4. Partikül fotonu üçün I2C Shield

Addım 2: Hardware Bağlantısı:

Avadanlıq Bağlama
Avadanlıq Bağlama
Avadanlıq Bağlama
Avadanlıq Bağlama

Avadanlıq bağlama bölməsi əsasən sensor və hissəcik fotonu arasında lazım olan naqillərin əlaqələrini izah edir. İstənilən çıxış üçün hər hansı bir sistem üzərində işləyərkən düzgün əlaqələrin təmin edilməsi əsas zərurətdir. Beləliklə, zəruri əlaqələr aşağıdakılardır:

MCP9808 I2C üzərində işləyəcək. Sensorun hər bir interfeysini necə bağlayacağınızı göstərən nümunə naqillər diaqramı.

Qutudan kənarda, lövhə I2C interfeysi üçün konfiqurasiya olunmuşdur, buna görə də başqa cür agnostiksinizsə bu əlaqəni istifadə etməyi məsləhət görürük. Lazım olan tək şey dörd teldir!

Vcc, Gnd, SCL və SDA pinləri üçün yalnız dörd əlaqə lazımdır və bunlar I2C kabelinin köməyi ilə bağlanır.

Bu əlaqələr yuxarıdakı şəkillərdə göstərilmişdir.

Addım 3: Temperatur Ölçmə Kodu:

İstilik Ölçmə Kodu
İstilik Ölçmə Kodu

İndi hissəcik kodundan başlayaq.

Sensor modulunu arduino ilə işləyərkən application.h və spark_wiring_i2c.h kitabxanasını daxil edirik. "application.h" və spark_wiring_i2c.h kitabxanası, sensor və hissəcik arasındakı i2c əlaqəsini asanlaşdıran funksiyaları ehtiva edir.

İstifadəçinin rahatlığı üçün bütün hissəcik kodu aşağıda verilmişdir:

#daxil edin

#daxil edin

// MCP9808 I2C ünvanı 0x18 (24)

#define Addr 0x18

float cTemp = 0, fTemp = 0;

boş quraşdırma ()

{

// Dəyişən təyin edin

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

Particle.variable ("cTemp", cTemp);

// I2C ünsiyyətini MASTER olaraq başladın

Wire.begin ();

// Serial Rabitəni Başlatın, baud dərəcəsini = 9600 olaraq təyin edin

Serial.begin (9600);

// I2C ötürülməsinə başlayın

Wire.beginTransmission (Addr);

// Konfiqurasiya qeydini seçin

Wire.write (0x01);

// Davamlı çevrilmə rejimi, Power-up default

Wire.write (0x00);

Wire.write (0x00);

// I2C ötürülməsini dayandırın

Wire.endTransmission ();

// I2C ötürülməsinə başlayın

Wire.beginTransmission (Addr);

// Rgister qətnaməsini seçin

Wire.write (0x08);

// Çözünürlük = +0.0625 / C

Wire.write (0x03);

// I2C ötürülməsini dayandırın

Wire.endTransmission ();

gecikmə (300);

}

boşluq döngəsi ()

{

imzasız int məlumatları [2];

// I2C ünsiyyətinə başlayır

Wire.beginTransmission (Addr);

// Məlumat qeydini seçin

Wire.write (0x05);

// I2C ötürülməsini dayandırın

Wire.endTransmission ();

// 2 bayt məlumat tələb edin

Wire.requestFrom (Addr, 2);

// 2 bayt məlumat oxuyun

// temp msb, temp lsb

əgər (Tel.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

gecikmə (300);

// Məlumatı 13 bitə çevirin

int temp = ((data [0] & 0x1F) * 256 + data [1]);

əgər (temperatur> 4095)

{

temp -= 8192;

}

cTemp = temp * 0.0625;

fTemp = cTemp * 1.8 + 32;

// Göstərişlər panelinə məlumat çıxarın

Particle.publish ("Selsi İstiliyi:", String (cTemp));

Particle.publish ("Fahrenheitdəki temperatur:", String (fTemp));

gecikmə (500);

}

Particle.variable () funksiyası sensorun çıxışını saxlamaq üçün dəyişənlər yaradır və Particle.publish () funksiyası saytın tablosuna çıxışı göstərir.

Sensor çıxışı istinad üçün yuxarıdakı şəkildə göstərilmişdir.

Addım 4: Tətbiqlər:

Tətbiqlər
Tətbiqlər

MCP9808 Rəqəmsal Temperatur Sensoru, müxtəlif qida prosessorları ilə birlikdə sənaye dondurucuları və soyuducuları özündə birləşdirən bir neçə sənaye səviyyəli tətbiqə malikdir. Bu sensor müxtəlif fərdi kompüterlər, serverlər və digər PC ətraf qurğuları üçün istifadə edilə bilər.

Tövsiyə: