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. Berikut adalah demonstrasi dengan kode java menggunakan Raspberry Pi.
Langkah 1: Yang Anda Butuhkan.
1. Raspberry Pi
2. MCP9803
3. Kabel I²C
4. Perisai I²C untuk Raspberry Pi
5. Kabel Ethernet
Langkah 2: Koneksi
Ambil pelindung I2C untuk raspberry pi dan dorong perlahan ke atas pin gpio dari raspberry pi.
Kemudian sambungkan salah satu ujung kabel I2C ke sensor MCP9803 dan ujung lainnya ke pelindung I2C.
Hubungkan juga kabel Ethernet ke pi atau Anda dapat menggunakan modul WiFi. Koneksi ditunjukkan pada gambar di atas.
Langkah 3: Kode
Kode java untuk MCP9803 dapat diunduh dari repositori github kami- Dcube Store
Berikut ini tautan untuk hal yang sama:
github.com/DcubeTechVentures/MCP9803/blob/master/Java/MCP9803.java
Kami telah menggunakan pustaka pi4j untuk kode java, langkah-langkah untuk menginstal pi4j pada raspberry pi dijelaskan di sini:
pi4j.com/install.html
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.
// MCP9803
// Kode ini dirancang untuk bekerja dengan Modul Mini MCP9808_I2CS I2C
impor com.pi4j.io.i2c. I2CBus;
impor com.pi4j.io.i2c. I2CDevice;
impor com.pi4j.io.i2c. I2CFfactory;
impor java.io. IOException;
kelas publik MCP9803
{
public static void main(String args) melempar Pengecualian
{
// Buat bus I2C
I2CBus Bus = I2CFfactory.getInstance(I2CBus. BUS_1);
// Dapatkan perangkat I2C, alamat I2C MCP9803 adalah 0x48(72)
Perangkat I2CDevice = Bus.getDevice(0x48);
// Pilih register konfigurasi
// Mode konversi berkelanjutan, Power-up, mode komparator, resolusi 12-bit
device.write(0x01, (byte)0x60);
Thread.sleep(500);
// Membaca 2 byte data dari alamat 0x00(0)
// suhu msb, suhu lsb
byte data = byte baru[2];
device.read(0x00, data, 0, 2);
// Ubah data menjadi 12-bit
int temp = ((data[0] & 0xFF) * 256 + (data[1] & 0xF0)) / 16;
jika (suhu > 2047)
{
suhu -= 4096;
}
cTemp ganda = suhu * 0,0625;
fTemp ganda = cTemp * 1,8 + 32;
// Keluarkan data ke layar
System.out.printf("Suhu dalam Celcius adalah: %.2f C %n", cTemp);
System.out.printf("Suhu dalam Fahrenheit adalah: %.2f F %n", fTemp);
}
}
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.