Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
MCP9803 adalah sensor suhu akurasi tinggi 2-kawat. Mereka diwujudkan dengan register yang dapat diprogram pengguna yang memfasilitasi aplikasi penginderaan suhu. Sensor ini cocok untuk sistem pemantauan suhu multi-zona yang sangat canggih.
Dalam tutorial ini antarmuka modul sensor MCP9803 dengan arduino nano telah diilustrasikan. Untuk membaca nilai suhu, kami telah menggunakan arduino 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. MCP9803
2. Arduino Nano
3. Kabel I2C
4. Perisai I2C untuk arduino nano
Langkah 2: 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:
MCP9803 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 arduino sekarang.
Saat menggunakan modul sensor dengan arduino, kami menyertakan pustaka Wire.h. Pustaka "Wire" berisi fungsi-fungsi yang memfasilitasi komunikasi i2c antara sensor dan board arduino.
Seluruh kode arduino diberikan di bawah ini untuk kenyamanan pengguna:
#termasuk
// Alamat I2C MCP9803 adalah 0x48(72)
#tentukan Addr 0x48
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 (0x60);
// 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 (0x00);
// 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 12-bit
int temp = ((data[0] * 256) + data[1]) / 16.0;
jika (suhu > 2047)
{
suhu -= 4096;
}
float cTemp = suhu * 0,0625;
float fTemp = cTemp * 1,8 + 32;
// Keluarkan data ke monitor serial
Serial.print("Suhu dalam Celcius: ");
Serial.print(cTemp);
Serial.println("C");
Serial.print("Suhu dalam Fahrenheit: ");
Serial.print(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:
MCP9803 dapat digunakan di berbagai perangkat yang mencakup komputer pribadi dan periferal, hard disk drive, berbagai sistem hiburan, sistem kantor, dan sistem komunikasi data. Sensor ini dapat tergabung dalam berbagai sistem canggih.