Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
TMP112 Akurasi Tinggi, Daya Rendah, Modul Sensor Suhu Digital I2C MINI. TMP112 sangat ideal untuk pengukuran suhu yang diperpanjang. Perangkat ini menawarkan akurasi ±0,5°C tanpa memerlukan kalibrasi atau pengkondisian sinyal komponen eksternal.
Dalam tutorial ini antarmuka modul sensor TMP112 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. TMP112
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:
TMP112 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 Mengukur 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 TMP112 I2C 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);
// Konversi berkelanjutan, mode komparator, resolusi 12-bit
Kawat.tulis (0x60);
Kawat.tulis (0xA0);
// Hentikan Transmisi I2C
Kawat.endTransmisi();
penundaan (300);
}
lingkaran kosong()
{
data yang tidak ditandatangani [2];
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Pilih daftar data
Kawat.tulis (0x00);
// Hentikan Transmisi I2C
Kawat.endTransmisi();
penundaan (300);
// 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;
jika (suhu > 2048)
{
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 Farhenheit: ");
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:
Berbagai aplikasi yang menggabungkan daya rendah TMP112, sensor suhu digital akurasi tinggi termasuk Pemantauan Suhu Catu Daya, Perlindungan Termal Periferal Komputer, Manajemen Baterai, serta mesin kantor.