Mündəricat:

MCP9808 və Arduino Nano istifadə edərək İstilik Monitorinqi: 4 addım
MCP9808 və Arduino Nano istifadə edərək İstilik Monitorinqi: 4 addım

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

Video: MCP9808 və Arduino Nano istifadə edərək İstilik Monitorinqi: 4 addım
Video: МКС Monster8 - TMC2208 UART 2024, Noyabr
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ə MCP9808 sensor modulunun arduino nano ilə 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. Arduino Nano

3. I2C Kabeli

4. Arduino nano üçü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

Donanım bağlama bölməsi əsasən sensor və arduino nano 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 Arduino kodu ilə başlayaq.

Sensor modulunu Arduino ilə birlikdə istifadə edərkən Wire.h kitabxanasına daxil oluruq. "Tel" kitabxanası, sensor və Arduino lövhəsi arasındakı i2c əlaqəsini asanlaşdıran funksiyaları ehtiva edir.

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

#daxil edin

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

#define Addr 0x18

boş quraşdırma ()

{

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

// Çözünürlük qeydini 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 ();

}

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

}

// Məlumatı 13 bitə çevirin

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

əgər (temperatur> 4095)

{

temp -= 8192;

}

float cTemp = temp * 0.0625;

float fTemp = cTemp * 1.8 + 32;

// Ekrana məlumat çıxarın

Serial.print ("Selsi temperaturu:");

Serial.println (cTemp);

Serial.println ("C");

Serial.print ("Fahrenheitdəki temperatur:");

Serial.println (fTemp);

Serial.println ("F");

gecikmə (500);

}

Tel kitabxanasında Wire.write () və Wire.read () əmrləri yazmaq və sensor çıxışını oxumaq üçün istifadə olunur.

Sensorun çıxışını Arduino IDE -nin serial monitorunda göstərmək üçün Serial.print () və Serial.println () istifadə olunur.

Sensorun çıxışı 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ə: