İçindekiler:

MCP9808 ve Particle Photon Kullanarak Sıcaklık İzleme: 4 Adım
MCP9808 ve Particle Photon Kullanarak Sıcaklık İzleme: 4 Adım

Video: MCP9808 ve Particle Photon Kullanarak Sıcaklık İzleme: 4 Adım

Video: MCP9808 ve Particle Photon Kullanarak Sıcaklık İzleme: 4 Adım
Video: MCP9808 V DS18B20 temperature sensors 2024, Temmuz
Anonim
Image
Image

MCP9808, son derece hassas bir dijital sıcaklık sensörü ±0.5°C I2C mini modülüdür. Sıcaklık algılama uygulamalarını kolaylaştıran, kullanıcı tarafından programlanabilen kayıtlarla yapılandırılmışlardır. MCP9808 yüksek hassasiyetli sıcaklık sensörü, dijital, I2C formatında kalibre edilmiş, doğrusallaştırılmış sensör sinyalleri sağlayarak form faktörü ve zeka açısından bir endüstri standardı haline geldi.

Bu eğitimde, MCP9808 sensör modülünün parçacık fotonu ile arayüzlenmesi gösterilmiştir. Sıcaklık değerlerini okumak için I2c adaptörlü ahududu pi kullandık. Bu I2C adaptörü sensör modülüne bağlantıyı daha kolay ve daha güvenilir hale getiriyor.

Adım 1: Donanım Gerekli:

Gerekli Donanım
Gerekli Donanım
Gerekli Donanım
Gerekli Donanım
Gerekli Donanım
Gerekli Donanım

Hedefimizi gerçekleştirmek için ihtiyaç duyduğumuz malzemeler aşağıdaki donanım bileşenlerini içerir:

1. MCP9808

2. Parçacık Fotonu

3. I2C Kablosu

4. Parçacık fotonu için I2C Shield

Adım 2: Donanım Bağlantısı:

Donanım Bağlantısı
Donanım Bağlantısı
Donanım Bağlantısı
Donanım Bağlantısı

Donanım bağlantısı bölümü temel olarak sensör ve parçacık fotonu arasında gerekli olan kablo bağlantılarını açıklar. İstenilen çıktı için herhangi bir sistem üzerinde çalışırken doğru bağlantıların sağlanması temel zorunluluktur. Yani, gerekli bağlantılar aşağıdaki gibidir:

MCP9808, I2C üzerinden çalışacaktır. Sensörün her bir arayüzünün nasıl bağlanacağını gösteren örnek kablo şeması buradadır.

Kutudan çıktığı gibi, kart bir I2C arayüzü için yapılandırılmıştır, bu nedenle, aksi takdirde agnostik iseniz bu bağlantıyı kullanmanızı öneririz. Tek ihtiyacınız olan dört tel!

Vcc, Gnd, SCL ve SDA pinlerinden sadece dört bağlantı gereklidir ve bunlar I2C kablosu yardımıyla bağlanır.

Bu bağlantılar yukarıdaki resimlerde gösterilmiştir.

Adım 3: Sıcaklık Ölçümü Kodu:

Sıcaklık Ölçümü Kodu
Sıcaklık Ölçümü Kodu

Şimdi parçacık koduyla başlayalım.

Sensör modülünü arduino ile kullanırken application.h ve spark_wiring_i2c.h kütüphanesini dahil ediyoruz. "application.h" ve spark_wiring_i2c.h kitaplığı, sensör ve parçacık arasındaki i2c iletişimini kolaylaştıran işlevleri içerir.

Parçacık kodunun tamamı, kullanıcının rahatlığı için aşağıda verilmiştir:

#Dahil etmek

#Dahil etmek

// MCP9808 I2C adresi 0x18(24)

#define Addr 0x18

float cTemp = 0, fTemp = 0;

geçersiz kurulum()

{

// Değişken ayarla

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

Particle.variable("cTemp",cTemp);

// I2C iletişimini MASTER olarak başlat

Wire.begin();

// Seri İletişimi Başlat, baud hızını ayarla = 9600

Seri.başla(9600);

// I2C İletimini Başlat

Wire.beginTransmission(Adr);

// Yapılandırma kaydını seç

Wire.write(0x01);

// Sürekli dönüştürme modu, Açılış varsayılanı

Wire.write(0x00);

Wire.write(0x00);

// I2C İletimini Durdur

Wire.endTransmission();

// I2C İletimini Başlat

Wire.beginTransmission(Adr);

// Çözünürlük kaydı seç

Wire.write(0x08);

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

Wire.write(0x03);

// I2C İletimini Durdur

Wire.endTransmission();

gecikme(300);

}

boşluk döngüsü()

{

imzasız int veri[2];

// I2C iletişimini başlatır

Wire.beginTransmission(Adr);

// Veri kaydını seç

Wire.write(0x05);

// I2C iletimini durdur

Wire.endTransmission();

// 2 bayt veri iste

Wire.requestFrom(Adr, 2);

// 2 bayt veri oku

// temp msb, temp lsb

if(Wire.available() == 2)

{

data[0] = Wire.read();

data[1] = Wire.read();

}

gecikme(300);

// Veriyi 13 bit'e çevir

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

if(sıcaklık > 4095)

{

sıcaklık -= 8192;

}

cTemp = sıcaklık * 0.0625;

fTemp = cTemp * 1.8 + 32;

// Gösterge tablosuna veri çıkışı

Particle.publish("Sıcaklık Santigrat Olarak: ", String(cTemp));

Particle.publish("Sıcaklık Fahrenhayt Olarak: ", String(fTemp));

gecikme(500);

}

Particle.variable() işlevi, sensörün çıktısını depolamak için değişkenleri oluşturur ve Particle.publish() işlevi, çıktıyı sitenin panosunda görüntüler.

Sensör çıkışı, referansınız için yukarıdaki resimde gösterilmektedir.

Adım 4: Uygulamalar:

Uygulamalar
Uygulamalar

MCP9808 Dijital Sıcaklık Sensörü, çeşitli gıda işlemcileri ile birlikte endüstriyel dondurucuları ve buzdolaplarını içeren çeşitli endüstri düzeyinde uygulamalara sahiptir. Bu sensör, çeşitli kişisel bilgisayarlar, sunucular ve diğer PC çevre birimleri için kullanılabilir.

Önerilen: