Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
HDC1000 adalah sensor kelembaban digital dengan sensor suhu terintegrasi yang memberikan akurasi pengukuran yang sangat baik pada daya yang sangat rendah. Perangkat mengukur kelembaban berdasarkan sensor kapasitif baru. Sensor kelembaban dan suhu dikalibrasi dari pabrik. Ini berfungsi dalam kisaran suhu penuh -40 ° C hingga +125 ° C.
Dalam tutorial ini antarmuka modul sensor HDC1000 dengan foton partikel telah diilustrasikan. Untuk membaca nilai suhu dan kelembaban, kami telah menggunakan partikel 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. HDC1000
2. Foton Partikel
3. Kabel I2C
4. Perisai I2C untuk foton partikel
Langkah 2: Sambungan Perangkat Keras:
Bagian hookup perangkat keras pada dasarnya menjelaskan koneksi kabel yang diperlukan antara sensor dan foton partikel. Memastikan koneksi yang benar adalah kebutuhan dasar saat bekerja pada sistem apa pun untuk output yang diinginkan. Jadi, koneksi yang diperlukan adalah sebagai berikut:
HDC1000 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 dan Kelembaban:
Mari kita mulai dengan kode partikel sekarang.
Saat menggunakan modul sensor dengan partikel, kami menyertakan library application.h dan spark_wiring_i2c.h. Pustaka "application.h" dan spark_wiring_i2c.h berisi fungsi-fungsi yang memfasilitasi komunikasi i2c antara sensor dan partikel.
Seluruh kode partikel diberikan di bawah ini untuk kenyamanan pengguna:
#termasuk
#termasuk
// Alamat HDC1000 I2C adalah 0x40(64)
#tentukan Addr 0x40
cTemp ganda = 0,0, fTemp = 0,0, kelembaban = 0,0;
int suhu = 0, hum = 0;
batalkan pengaturan()
{
// Tetapkan variabel
Particle.variable("i2cdevice", "HDC1000");
Particle.variable("kelembaban", kelembaban);
Particle.variable("cTemp", cTemp);
// Inisialisasi komunikasi I2C
Kawat.mulai();
// Inisialisasi Komunikasi Serial, setel baud rate = 9600
Serial.begin(9600);
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Pilih register konfigurasi
Kawat.tulis (0x02);
// Suhu, kelembaban diaktifkan, resolusi = 14-bit, pemanas menyala
Kawat.tulis (0x30);
// 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
Kawat.tulis (0x00);
// Hentikan Transmisi I2C
Kawat.endTransmisi();
penundaan (500);
// Meminta 2 byte data
Wire.requestFrom(Addr, 2);
// Baca 2 byte data
// suhu msb, suhu lsb
jika (Wire.available() == 2)
{
data[0] = Wire.read();
data[1] = Kawat.baca();
}
// Konversi data
suhu = ((data[0] * 256) + data[1]);
cTemp = (temp / 65536.0) * 165.0 - 40;
fTemp = cTemp * 1,8 + 32;
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Kirim perintah pengukuran kelembaban
Kawat.tulis (0x01);
// Hentikan Transmisi I2C
Kawat.endTransmisi();
penundaan (500);
// Meminta 2 byte data
Wire.requestFrom(Addr, 2);
// Baca 2 byte data
// suhu msb, suhu lsb
jika (Wire.available() == 2)
{
data[0] = Wire.read();
data[1] = Kawat.baca();
}
// Konversi data
hum = ((data[0] * 256) + data[1]);
kelembaban = (hum / 65536.0) * 100,0;
// Keluarkan data ke dasbor
Particle.publish("Kelembaban Relatif: ", String(kelembaban));
penundaan (1000);
Particle.publish("Suhu dalam Celcius: ", String(cTemp));
penundaan (1000);
Particle.publish("Suhu dalam Fahrenheit: ", String(fTemp));
penundaan (1000);
}
Fungsi Particle.variable() membuat variabel untuk menyimpan output sensor dan fungsi Particle.publish() menampilkan output di dasbor situs.
Output sensor ditunjukkan pada gambar di atas untuk referensi Anda.
Langkah 4: Aplikasi:
HDC1000 dapat digunakan dalam pemanas, ventilasi dan pendingin udara (HVAC), Termostat Cerdas dan Monitor Ruangan. Sensor ini juga menemukan aplikasinya di Printer, Meter Genggam, Alat Kesehatan, Pengiriman Kargo serta Defog Kaca Depan Otomotif.