Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
MCP9808 adalah modul mini sensor suhu digital ±0,5°C I2C yang sangat akurat. Mereka diwujudkan dengan register yang dapat diprogram pengguna yang memfasilitasi aplikasi penginderaan suhu. Sensor suhu akurasi tinggi MCP9808 telah menjadi standar industri dalam hal faktor bentuk dan kecerdasan, menyediakan sinyal sensor yang dikalibrasi dan dilinierkan dalam format digital I2C.
Dalam tutorial ini antarmuka modul sensor MCP9808 dengan foton partikel telah didemonstrasikan. Untuk membaca nilai suhu, kami telah menggunakan raspberry pi dengan adaptor I2c. Adaptor I2C ini membuat koneksi ke modul sensor menjadi mudah dan lebih andal.
Langkah 1: Perangkat Keras Yang Dibutuhkan:
Bahan yang kami butuhkan untuk mencapai tujuan kami meliputi komponen perangkat keras berikut:
1. MCP9808
2. Foton Partikel
3. Kabel I2C
4. Perisai I2C untuk foton partikel
Langkah 2: Sambungan Perangkat Keras:
Bagian hookup perangkat keras pada dasarnya menjelaskan koneksi kabel yang diperlukan antara sensor dan foton partikel. Memastikan koneksi yang benar adalah kebutuhan dasar saat bekerja pada sistem apa pun untuk output yang diinginkan. Jadi, koneksi yang diperlukan adalah sebagai berikut:
MCP9808 akan bekerja melalui I2C. Berikut adalah contoh diagram pengkabelan, yang menunjukkan cara memasang setiap antarmuka sensor.
Out-of-the-box, papan dikonfigurasi untuk antarmuka I2C, karena itu kami sarankan menggunakan hookup ini jika Anda agnostik. Yang Anda butuhkan hanyalah empat kabel!
Hanya empat koneksi yang diperlukan pin Vcc, Gnd, SCL dan SDA dan ini terhubung dengan bantuan kabel I2C.
Koneksi ini ditunjukkan pada gambar di atas.
Langkah 3: Kode untuk Pengukuran Suhu:
Mari kita mulai dengan kode partikel sekarang.
Saat menggunakan modul sensor dengan arduino, kami menyertakan library application.h dan spark_wiring_i2c.h. Pustaka "application.h" dan spark_wiring_i2c.h berisi fungsi-fungsi yang memfasilitasi komunikasi i2c antara sensor dan partikel.
Seluruh kode partikel diberikan di bawah ini untuk kenyamanan pengguna:
#termasuk
#termasuk
// Alamat I2C MCP9808 adalah 0x18(24)
#tentukan Addr 0x18
float cTemp = 0, fTemp = 0;
batalkan pengaturan()
{
// Tetapkan variabel
Particle.variable("i2cdevice", "MCP9808");
Particle.variable("cTemp", cTemp);
// Inisialisasi komunikasi I2C sebagai MASTER
Kawat.mulai();
// Inisialisasi Komunikasi Serial, setel baud rate = 9600
Serial.begin(9600);
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Pilih register konfigurasi
Kawat.tulis (0x01);
// Mode konversi berkelanjutan, Default penyalaan
Kawat.tulis (0x00);
Kawat.tulis (0x00);
// Hentikan Transmisi I2C
Kawat.endTransmisi();
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Pilih daftar resolusi
Kawat.tulis (0x08);
// Resolusi = +0,0625 / C
Kawat.tulis (0x03);
// Hentikan Transmisi I2C
Kawat.endTransmisi();
penundaan (300);
}
lingkaran kosong()
{
data int yang tidak ditandatangani [2];
// Memulai komunikasi I2C
Wire.beginTransmission(Addr);
// Pilih daftar data
Kawat.tulis (0x05);
// Hentikan transmisi I2C
Kawat.endTransmisi();
// Meminta 2 byte data
Wire.requestFrom(Addr, 2);
// Baca 2 byte data
// suhu msb, suhu lsb
if(Wire.available() == 2)
{
data[0] = Wire.read();
data[1] = Kawat.baca();
}
penundaan (300);
// Ubah data menjadi 13-bit
int temp = ((data[0] & 0x1F) * 256 + data[1]);
jika (suhu > 4095)
{
suhu -= 8192;
}
cSuhu = suhu * 0,0625;
fTemp = cTemp * 1,8 + 32;
// Keluarkan data ke dasbor
Particle.publish("Suhu dalam Celcius: ", String(cTemp));
Particle.publish("Suhu dalam Fahrenheit: ", String(fTemp));
penundaan (500);
}
Fungsi Particle.variable() membuat variabel untuk menyimpan output sensor dan fungsi Particle.publish() menampilkan output di dasbor situs.
Output sensor ditunjukkan pada gambar di atas untuk referensi Anda.
Langkah 4: Aplikasi:
Sensor Suhu Digital MCP9808 memiliki beberapa aplikasi tingkat industri yang menggabungkan freezer industri dan lemari es bersama dengan berbagai pengolah makanan. Sensor ini dapat digunakan untuk berbagai komputer pribadi, server serta periferal PC lainnya.