Daftar Isi:

Pemantauan Suhu Menggunakan MCP9808 dan Arduino Nano: 4 Langkah
Pemantauan Suhu Menggunakan MCP9808 dan Arduino Nano: 4 Langkah

Video: Pemantauan Suhu Menggunakan MCP9808 dan Arduino Nano: 4 Langkah

Video: Pemantauan Suhu Menggunakan MCP9808 dan Arduino Nano: 4 Langkah
Video: Lesson 33: Using MCP9808 Temperature Sensor with LCD | Arduino Step By Step Course 2024, Juli
Anonim
Image
Image

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 arduino nano 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:

Perangkat Keras yang Dibutuhkan
Perangkat Keras yang Dibutuhkan
Perangkat Keras yang Dibutuhkan
Perangkat Keras yang Dibutuhkan
Perangkat Keras yang Dibutuhkan
Perangkat Keras yang Dibutuhkan

Bahan yang kami butuhkan untuk mencapai tujuan kami meliputi komponen perangkat keras berikut:

1. MCP9808

2. Arduino Nano

3. Kabel I2C

4. Perisai I2C untuk Arduino nano

Langkah 2: Sambungan Perangkat Keras:

Sambungan Perangkat Keras
Sambungan Perangkat Keras
Sambungan Perangkat Keras
Sambungan Perangkat Keras

Bagian hookup perangkat keras pada dasarnya menjelaskan koneksi kabel yang diperlukan antara sensor dan arduino nano. 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:

Kode untuk Pengukuran Suhu
Kode untuk Pengukuran Suhu

Mari kita mulai dengan kode Arduino sekarang.

Saat menggunakan modul sensor dengan Arduino, kami menyertakan perpustakaan Wire.h. Pustaka "Wire" berisi fungsi-fungsi yang memfasilitasi komunikasi i2c antara sensor dan papan Arduino.

Seluruh kode Arduino diberikan di bawah ini untuk kenyamanan pengguna:

#termasuk

// Alamat I2C MCP9808 adalah 0x18(24)

#tentukan Addr 0x18

batalkan pengaturan()

{

// 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 register resolusi

Kawat.tulis (0x08);

// Resolusi = +0,0625 / C

Kawat.tulis (0x03);

// Hentikan Transmisi I2C

Kawat.endTransmisi();

}

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

}

// Ubah data menjadi 13-bit

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

jika (suhu > 4095)

{

suhu -= 8192;

}

float cTemp = suhu * 0,0625;

float fTemp = cTemp * 1,8 + 32;

// Keluarkan data ke layar

Serial.print("Suhu dalam Celcius: ");

Serial.println(cTemp);

Serial.println("C");

Serial.print("Suhu dalam Fahrenheit: ");

Serial.println(fTemp);

Serial.println("F");

penundaan (500);

}

Dalam wire library Wire.write() dan Wire.read() digunakan untuk menulis perintah dan membaca output sensor.

Serial.print() dan Serial.println() digunakan untuk menampilkan output dari sensor pada serial monitor Arduino IDE.

Output dari sensor ditunjukkan pada gambar di atas.

Langkah 4: Aplikasi:

Aplikasi
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.

Direkomendasikan: