Isi kandungan:

Pemantauan Suhu Menggunakan MCP9808 dan Foton Zarah: 4 Langkah
Pemantauan Suhu Menggunakan MCP9808 dan Foton Zarah: 4 Langkah

Video: Pemantauan Suhu Menggunakan MCP9808 dan Foton Zarah: 4 Langkah

Video: Pemantauan Suhu Menggunakan MCP9808 dan Foton Zarah: 4 Langkah
Video: Particle Photon Temperature Alarm using SI7020 2024, Julai
Anonim
Image
Image

MCP9808 adalah sensor suhu digital yang sangat tepat ± 0.5 ° C modul mini I2C. Mereka dilengkapi dengan daftar yang dapat diprogram pengguna yang memudahkan aplikasi penginderaan suhu. Sensor suhu ketepatan tinggi MCP9808 telah menjadi standard industri dari segi faktor bentuk dan kecerdasan, yang memberikan isyarat sensor yang dikalibrasi dan linear dalam format I2C digital.

Dalam tutorial ini, antara muka modul sensor MCP9808 dengan foton zarah telah ditunjukkan. Untuk membaca nilai suhu, kami telah menggunakan raspberry pi dengan penyesuai I2c. Penyesuai I2C ini menjadikan sambungan ke modul sensor mudah dan lebih dipercayai.

Langkah 1: Perkakasan Diperlukan:

Perkakasan Diperlukan
Perkakasan Diperlukan
Perkakasan Diperlukan
Perkakasan Diperlukan
Perkakasan Diperlukan
Perkakasan Diperlukan

Bahan yang kami perlukan untuk mencapai tujuan kami merangkumi komponen perkakasan berikut:

1. MCP9808

2. Foton Zarah

3. Kabel I2C

4. Perisai I2C untuk foton zarah

Langkah 2: Penyambungan Perkakasan:

Penyambungan Perkakasan
Penyambungan Perkakasan
Penyambungan Perkakasan
Penyambungan Perkakasan

Bahagian penyambungan perkakasan pada dasarnya menerangkan sambungan pendawaian yang diperlukan antara sensor dan foton zarah. Memastikan sambungan yang betul adalah keperluan asas semasa mengerjakan sistem apa pun untuk output yang diinginkan. Jadi, sambungan yang diperlukan adalah seperti berikut:

MCP9808 akan berfungsi menggunakan I2C. Berikut adalah contoh rajah pendawaian, yang menunjukkan cara memasang setiap antara muka sensor.

Di luar kotak, papan dikonfigurasikan untuk antara muka I2C, oleh itu kami mengesyorkan menggunakan penyambungan ini jika anda tidak agnostik. Yang anda perlukan hanyalah empat wayar!

Hanya diperlukan empat sambungan pin Vcc, Gnd, SCL dan SDA dan ini disambungkan dengan bantuan kabel I2C.

Sambungan ini ditunjukkan dalam gambar di atas.

Langkah 3: Kod untuk Pengukuran Suhu:

Kod untuk Pengukuran Suhu
Kod untuk Pengukuran Suhu

Mari mulakan dengan kod zarah sekarang.

Semasa menggunakan modul sensor dengan arduino, kami menyertakan library application.h dan spark_wiring_i2c.h. Perpustakaan "application.h" dan spark_wiring_i2c.h mengandungi fungsi yang memudahkan komunikasi i2c antara sensor dan zarah.

Keseluruhan kod zarah diberikan di bawah untuk kemudahan pengguna:

#sertakan

#sertakan

// Alamat MCP9808 I2C adalah 0x18 (24)

#tentukan Addr 0x18

terapung cTemp = 0, fTemp = 0;

persediaan tidak sah ()

{

// Tetapkan pemboleh ubah

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

Particle.variable ("cTemp", cTemp);

// Memulakan komunikasi I2C sebagai MASTER

Wire.begin ();

// Inisialisasi Serial Communication, tetapkan baud rate = 9600

Serial.begin (9600);

// Mulakan Penghantaran I2C

Wire.beginTransmission (Addr);

// Pilih daftar konfigurasi

Wire.write (0x01);

// Mod penukaran berterusan, Power-up default

Wire.write (0x00);

Wire.write (0x00);

// Hentikan Penghantaran I2C

Wire.endTransmission ();

// Mulakan Penghantaran I2C

Wire.beginTransmission (Addr);

// Pilih resolusi rgister

Wire.write (0x08);

// Resolusi = +0.0625 / C

Wire.write (0x03);

// Hentikan Penghantaran I2C

Wire.endTransmission ();

kelewatan (300);

}

gelung kosong ()

{

data int yang tidak ditandatangani [2];

// Memulakan komunikasi I2C

Wire.beginTransmission (Addr);

// Pilih daftar data

Wire.write (0x05);

// Hentikan penghantaran I2C

Wire.endTransmission ();

// Minta 2 bait data

Wire.requestFrom (Addr, 2);

// Baca 2 bait data

// temp msb, temp lsb

jika (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

kelewatan (300);

// Tukarkan data menjadi 13-bit

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

jika (temp> 4095)

{

temp - = 8192;

}

cTemp = temp * 0.0625;

fTemp = cTemp * 1.8 + 32;

// Keluarkan data ke papan pemuka

Particle.publish ("Suhu dalam Celsius:", Rentetan (cTemp));

Particle.publish ("Suhu di Fahrenheit:", String (fTemp));

kelewatan (500);

}

Fungsi Particle.variable () mencipta pemboleh ubah untuk menyimpan output sensor dan fungsi Particle.publish () memaparkan output di papan pemuka laman web.

Output sensor ditunjukkan dalam gambar di atas untuk rujukan anda.

Langkah 4: Aplikasi:

Permohonan
Permohonan

MCP9808 Digital Temperature Sensor mempunyai beberapa aplikasi peringkat industri yang merangkumi penyejuk beku industri dan peti sejuk bersama dengan pelbagai pemproses makanan. Sensor ini boleh digunakan untuk pelbagai komputer peribadi, pelayan dan juga periferal PC lain.

Disyorkan: