Daftar Isi:
- Langkah 1: Perangkat Keras Yang Dibutuhkan:
- Langkah 2: Sambungan Perangkat Keras:
- Langkah 3: Kode untuk Pengukuran Kelembaban dan Suhu:
- Langkah 4: Aplikasi:
Video: Pengukuran Kelembaban dan Suhu Menggunakan HTS221 dan Foton Partikel: 4 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
HTS221 adalah sensor digital kapasitif ultra kompak untuk kelembaban dan suhu relatif. Ini mencakup elemen penginderaan dan sirkuit terintegrasi khusus aplikasi sinyal campuran (ASIC) untuk memberikan informasi pengukuran melalui antarmuka serial digital. Terintegrasi dengan begitu banyak fitur, ini adalah salah satu sensor yang paling tepat untuk pengukuran kelembaban dan suhu kritis.
Dalam tutorial ini antarmuka modul sensor HTS221 dengan foton partikel telah diilustrasikan. Untuk membaca nilai kelembaban dan suhu, 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. HTS221
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:
HTS221 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 Kelembaban dan Suhu:
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 HTS221 I2C adalah 0x5F
#define Addr 0x5F
kelembaban ganda = 0,0;
cTemp ganda = 0,0;
fTemp ganda = 0,0;
int suhu = 0;
batalkan pengaturan()
{
// Tetapkan variabel
Particle.variable("i2cdevice", "HTS221");
Particle.variable("Kelembaban", kelembaban);
Particle.variable("cTemp", cTemp);
// 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 rata-rata
Kawat.tulis (0x10);
// Sampel rata-rata suhu = 256, Sampel rata-rata kelembaban = 512
Kawat.tulis (0x1B);
// Hentikan Transmisi I2C
Kawat.endTransmisi();
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Pilih register kontrol1
Kawat.tulis (0x20);
// Hidupkan, Pembaruan berkelanjutan, Laju keluaran data = 1 Hz
Kawat.tulis (0x85);
// Hentikan Transmisi I2C
Kawat.endTransmisi();
penundaan (300);
}
lingkaran kosong()
{
data int yang tidak ditandatangani [2];
unsigned int val[4];
unsigned int H0, H1, H2, H3, T0, T1, T2, T3, mentah;
// Nilai kalibrasi kelembaban
untuk(int i = 0; i < 2; i++)
{
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Kirim data register
Wire.write((48 + i));
// Hentikan Transmisi I2C
Kawat.endTransmisi();
// Meminta 1 byte data
Wire.requestFrom(Addr, 1);
// Baca 1 byte data
if(Wire.available() == 1)
{
data = Wire.read();
}
}
// Konversi data Kelembaban
H0 = data[0] / 2;
H1 = data[1] / 2;
untuk(int i = 0; i < 2; i++)
{
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Kirim data register
Wire.write((54 + i));
// Hentikan Transmisi I2C
Kawat.endTransmisi();
// Meminta 1 byte data
Wire.requestFrom(Addr, 1);
// Baca 1 byte data
if(Wire.available() == 1)
{
data = Wire.read();
}
}
// Konversi data Kelembaban
H2 = (data[1] * 256.0) + data[0];
untuk(int i = 0; i < 2; i++)
{
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Kirim data register
Wire.write((58 + i));
// Hentikan Transmisi I2C
Kawat.endTransmisi();
// Meminta 1 byte data
Wire.requestFrom(Addr, 1);
// Baca 1 byte data
if(Wire.available() == 1)
{
data = Wire.read();
}
}
// Konversi data Kelembaban
H3 = (data[1] * 256.0) + data[0];
// Nilai kalibrasi suhu
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Kirim data register
Kawat.tulis (0x32);
// Hentikan Transmisi I2C
Kawat.endTransmisi();
// Meminta 1 byte data
Wire.requestFrom(Addr, 1);
// Baca 1 byte data
if(Wire.available() == 1)
{
T0 = Kawat.baca();
}
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Kirim data register
Kawat.tulis (0x33);
// Hentikan Transmisi I2C
Kawat.endTransmisi();
// Meminta 1 byte data
Wire.requestFrom(Addr, 1);
// Baca 1 byte data
if(Wire.available() == 1)
{
T1 = Kawat.baca();
}
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Kirim data register
Kawat.tulis (0x35);
// Hentikan Transmisi I2C
Kawat.endTransmisi();
// Meminta 1 byte data
Wire.requestFrom(Addr, 1);
// Baca 1 byte data
if(Wire.available() == 1)
{
mentah = Wire.read();
}
mentah = mentah & 0x0F;
// Ubah nilai kalibrasi suhu menjadi 10-bit
T0 = ((mentah & 0x03) * 256) + T0;
T1 = ((mentah & 0x0C) * 64) + T1;
untuk(int i = 0; i < 2; i++)
{
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Kirim data register
Wire.write((60 + i));
// Hentikan Transmisi I2C
Kawat.endTransmisi();
// Meminta 1 byte data
Wire.requestFrom(Addr, 1);
// Baca 1 byte data
if(Wire.available() == 1)
{
data = Wire.read();
}
}
// Konversi data
T2 = (data[1] * 256.0) + data[0];
untuk(int i = 0; i < 2; i++)
{
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Kirim data register
Wire.write((62 + i));
// Hentikan Transmisi I2C
Kawat.endTransmisi();
// Meminta 1 byte data
Wire.requestFrom(Addr, 1);
// Baca 1 byte data
if(Wire.available() == 1)
{
data = Wire.read();
}
}
// Konversi data
T3 = (data[1] * 256.0) + data[0];
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Kirim data register
Wire.write(0x28 | 0x80);
// Hentikan Transmisi I2C
Kawat.endTransmisi();
// Meminta 4 byte data
Wire.requestFrom(Addr, 4);
// Baca 4 byte data
// kelembaban msb, kelembaban lsb, suhu msb, suhu lsb
if(Wire.available() == 4)
{
val[0] = Wire.read();
val[1] = Wire.read();
val[2] = Wire.read();
val[3] = Wire.read();
}
// Konversi data
kelembaban = (val[1] * 256,0) + val[0];
kelembaban = ((1.0 * H1) - (1.0 * H0)) * (1.0 * kelembaban - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0);
temp = (val[3] * 256) + val[2]; cTemp = (((T1 - T0) / 8.0) * (temp - T2)) / (T3 - T2) + (T0 / 8.0);
fTemp = (cTemp * 1.8) + 32;
// 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:
HTS221 dapat digunakan di berbagai produk konsumen seperti pelembab udara dan lemari es dll. Sensor ini juga menemukan penerapannya di arena yang lebih luas termasuk otomatisasi rumah pintar, otomatisasi industri, peralatan pernapasan, pelacakan aset dan barang.
Direkomendasikan:
Pengukuran Kelembaban Menggunakan HYT939 dan Foton Partikel: 4 Langkah
Pengukuran Kelembaban Menggunakan HYT939 dan Foton Partikel: HYT939 adalah sensor kelembaban digital yang bekerja pada protokol komunikasi I2C. Kelembaban adalah parameter penting dalam hal sistem medis dan laboratorium, Jadi untuk mencapai tujuan ini, kami mencoba menghubungkan HYT939 dengan raspberry pi. SAYA
Pengukuran Kelembaban dan Suhu Menggunakan HTS221 dan Arduino Nano: 4 Langkah
Pengukuran Kelembaban dan Suhu Menggunakan HTS221 dan Arduino Nano: HTS221 adalah sensor digital kapasitif ultra kompak untuk kelembaban dan suhu relatif. Ini mencakup elemen penginderaan dan sirkuit terintegrasi khusus aplikasi sinyal campuran (ASIC) untuk memberikan informasi pengukuran melalui serial digital
Pemantauan Suhu dan Kelembaban Menggunakan SHT25 dan Foton Partikel: 5 Langkah
Pemantauan Suhu dan Kelembaban Menggunakan SHT25 dan Foton Partikel: Kami baru-baru ini mengerjakan berbagai proyek yang memerlukan pemantauan suhu dan kelembaban dan kemudian kami menyadari bahwa kedua parameter ini sebenarnya memainkan peran penting dalam memperkirakan efisiensi kerja suatu sistem. Baik di industri
Pengukuran Kelembaban dan Suhu Menggunakan HIH6130 dan Foton Partikel: 4 Langkah
Pengukuran Kelembaban dan Suhu Menggunakan HIH6130 dan Foton Partikel: HIH6130 adalah sensor kelembaban dan suhu dengan output digital. Sensor ini memberikan tingkat akurasi ±4% RH. Dengan stabilitas jangka panjang terdepan di industri, I2C digital dengan kompensasi suhu sejati, keandalan terdepan di industri, Efisiensi energi
Pengukuran Suhu dan Kelembaban Menggunakan HDC1000 dan Foton Partikel: 4 Langkah
Pengukuran Suhu dan Kelembaban Menggunakan HDC1000 dan Foton Partikel: 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 adalah fak