Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
SI7050 adalah sensor suhu digital yang bekerja pada protokol komunikasi I2C dan menawarkan akurasi tinggi pada seluruh tegangan operasi dan rentang suhu. Keakuratan sensor yang tinggi ini disebabkan oleh pemrosesan sinyal baru dan desain analog. Sensor ini disematkan dengan memori on-chip yang menyimpan data kalibrasi yang memfasilitasi penggunaannya dalam rentang yang luas. Berikut adalah demonstrasinya dengan Arduino Nano.
Langkah 1: Yang Anda Butuhkan.
1. Arduino Nano
2. SI7050
3. Kabel I²C
4. Perisai I²C untuk Arduino Nano
Langkah 2: Koneksi:
Ambil pelindung I2C untuk Arduino Nano dan dorong perlahan ke pin Nano.
Kemudian sambungkan salah satu ujung kabel I2C ke sensor SI7050 dan ujung lainnya ke pelindung I2C.
Koneksi ditunjukkan pada gambar di atas.
Langkah 3: Kode:
Kode arduino untuk SI7050 dapat diunduh dari repositori github-DCUBE Store kami.
Berikut ini tautan untuk hal yang sama:
github.com/DcubeTechVentures/SI7050/blob/master/Arduino/SI7050.ino
Kami menyertakan library Wire.h untuk memfasilitasi komunikasi I2c dari sensor dengan board Arduino.
Anda juga dapat menyalin kode dari sini, diberikan sebagai berikut:
// Didistribusikan dengan lisensi kehendak bebas.
// Gunakan sesuka Anda, untung atau gratis, asalkan sesuai dengan lisensi karya terkait.
// SI7050
// Kode ini dirancang untuk bekerja dengan Modul Mini SI7050_I2CS I2C
#termasuk
// Alamat SI7050 I2C adalah 0x40(64)
#tentukan Addr 0x40
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);
// Hentikan transmisi I2C
Kawat.endTransmisi();
penundaan (300);
}
lingkaran kosong()
{
data int yang tidak ditandatangani [2];
// Mulai transmisi I2C
Wire.beginTransmission(Addr);
// Kirim perintah pengukuran suhu, NO HOLD MASTER
Wire.write(0xF3);
// Hentikan transmisi I2C
Kawat.endTransmisi();
penundaan (500);
// 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();
}
// Konversi data
float temp = ((data[0] * 256.0) + data[1]);
float ctemp = ((175,72 * suhu) / 65536.0) - 46,85;
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);
}
Langkah 4: Aplikasi:
SI7050 dapat digabungkan dalam berbagai sistem termasuk peralatan komputer, perangkat konsumen portabel dan peralatan medis. Sensor ini dapat digunakan dalam rantai penyimpanan dingin, pelacakan aset, serta berbagai sistem kontrol industri. Ini memainkan peran penting dalam perlindungan baterai juga.