Isi kandungan:
Video: Tutorial Arduino Nano - HTS221 Kelembapan dan Sensor Suhu Relatif: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
HTS221 adalah sensor digital kapasitif ultra kompak untuk kelembapan dan suhu relatif. Ini merangkumi elemen penginderaan dan litar bersepadu khusus aplikasi isyarat campuran (ASIC) untuk memberikan maklumat pengukuran melalui antara muka siri digital. Bersepadu dengan begitu banyak ciri ini adalah salah satu sensor yang paling sesuai untuk pengukuran kelembapan dan suhu kritikal. Berikut adalah demonstrasi dengan arduino nano.
Langkah 1: Apa yang Anda Perlu..
1. Arduino Nano
2. HTS221
3. Kabel I²C
4. Perisai I²C untuk Arduino Nano
Langkah 2: Sambungan:
Ambil pelindung I2C untuk Arduino Nano dan perlahan-lahan menolaknya ke atas pin Nano.
Kemudian sambungkan satu hujung kabel I2C ke sensor HTS221 dan hujung yang lain ke pelindung I2C.
Sambungan ditunjukkan dalam gambar di atas.
Langkah 3: Kod:
Kod arduino untuk HTS221 boleh dimuat turun dari repositori github kami- Komuniti DCUBE.
Berikut adalah pautan yang sama:
github.com/DcubeTechVentures/HTS221/blob/master/Arduino/HTS221.ino
Kami menyertakan perpustakaan Wire.h untuk memudahkan komunikasi sensor I2c dengan papan Arduino.
Anda juga boleh menyalin kod dari sini, ia diberikan seperti berikut:
// Diagihkan dengan lesen kehendak bebas.
// Gunakan dengan cara yang anda mahukan, untung atau percuma, dengan syarat ia sesuai dengan lesen karya yang berkaitan.
// HTS221
// Kod ini direka untuk berfungsi dengan Modul Mini HTS221_I2CS I2C
#sertakan
// Alamat HTS221 I2C ialah 0x5F
#tentukan Addr 0x5F
persediaan tidak sah ()
{
// Memulakan komunikasi I2C sebagai MASTER
Wire.begin ();
// Mulakan komunikasi bersiri, tetapkan kadar baud = 9600
Serial.begin (9600);
// Mulakan Penghantaran I2C
Wire.beginTransmission (Addr);
// Pilih daftar konfigurasi purata
Wire.write (0x10);
// Sampel purata suhu = 256, Sampel purata kelembapan = 512
Wire.write (0x1B);
// Hentikan Penghantaran I2C
Wire.endTransmission ();
// Mulakan Penghantaran I2C
Wire.beginTransmission (Addr);
// Pilih daftar kawalan1
Wire.write (0x20);
// Power ON, Kemas kini berterusan, Kadar output data = 1 Hz
Wire.write (0x85);
// Hentikan Penghantaran I2C
Wire.endTransmission ();
kelewatan (300);
}
gelung kosong ()
{
data int yang tidak ditandatangani [2];
int tidak bertanda tangan [4];
int H0, H1, H2, H3, T0, T1, T2, T3, mentah;
// Nilai kaliberasi kelembapan
untuk (int i = 0; i <2; i ++)
{
// Mulakan Penghantaran I2C
Wire.beginTransmission (Addr);
// Hantar daftar data
Wire.write ((48 + i));
// Hentikan Penghantaran I2C
Wire.endTransmission ();
// Minta 1 bait data
Wire.requestFrom (Addr, 1);
// Baca 1 bait data
jika (Wire.available () == 1)
{
data = Wire.read ();
}
}
// Tukar data Kelembapan
H0 = data [0] / 2;
H1 = data [1] / 2;
untuk (int i = 0; i <2; i ++)
{
// Mulakan Penghantaran I2C
Wire.beginTransmission (Addr);
// Hantar daftar data
Wire.write ((54 + i));
// Hentikan Penghantaran I2C
Wire.endTransmission ();
// Minta 1 bait data
Wire.requestFrom (Addr, 1);
// Baca 1 bait data
jika (Wire.available () == 1)
{
data = Wire.read ();
}
}
// Tukar data Kelembapan
H2 = (data [1] * 256.0) + data [0];
untuk (int i = 0; i <2; i ++)
{
// Mulakan Penghantaran I2C
Wire.beginTransmission (Addr);
// Hantar daftar data
Wire.write ((58 + i));
// Hentikan Penghantaran I2C
Wire.endTransmission ();
// Minta 1 bait data
Wire.requestFrom (Addr, 1);
// Baca 1 bait data
jika (Wire.available () == 1)
{
data = Wire.read ();
}
}
// Tukar data Kelembapan
H3 = (data [1] * 256.0) + data [0];
// Nilai kaliberasi suhu
// Mulakan Penghantaran I2C
Wire.beginTransmission (Addr);
// Hantar daftar data
Wire.write (0x32);
// Hentikan Penghantaran I2C
Wire.endTransmission ();
// Minta 1 bait data
Wire.requestFrom (Addr, 1);
// Baca 1 bait data
jika (Wire.available () == 1)
{
T0 = Wire.read ();
}
// Mulakan Penghantaran I2C
Wire.beginTransmission (Addr);
// Hantar daftar data
Wire.write (0x33);
// Hentikan Penghantaran I2C
Wire.endTransmission ();
// Minta 1 bait data
Wire.requestFrom (Addr, 1);
// Baca 1 bait data
jika (Wire.available () == 1)
{
T1 = Wire.read ();
}
// Mulakan Penghantaran I2C
Wire.beginTransmission (Addr);
// Hantar daftar data
Wire.write (0x35);
// Hentikan Penghantaran I2C
Wire.endTransmission ();
// Minta 1 bait data
Wire.requestFrom (Addr, 1);
// Baca 1 bait data
jika (Wire.available () == 1)
{
mentah = Wire.read ();
}
mentah = mentah & 0x0F;
// Tukarkan nilai kaliberasi suhu menjadi 10-bit
T0 = ((mentah & 0x03) * 256) + T0;
T1 = ((mentah & 0x0C) * 64) + T1;
untuk (int i = 0; i <2; i ++)
{
// Mulakan Penghantaran I2C
Wire.beginTransmission (Addr);
// Hantar daftar data
Wire.write ((60 + i));
// Hentikan Penghantaran I2C
Wire.endTransmission ();
// Minta 1 bait data
Wire.requestFrom (Addr, 1);
// Baca 1 bait data
jika (Wire.available () == 1)
{
data = Wire.read ();
}
}
// Tukarkan data
T2 = (data [1] * 256.0) + data [0];
untuk (int i = 0; i <2; i ++)
{
// Mulakan Penghantaran I2C
Wire.beginTransmission (Addr);
// Hantar daftar data
Wire.write ((62 + i));
// Hentikan Penghantaran I2C
Wire.endTransmission ();
// Minta 1 bait data
Wire.requestFrom (Addr, 1);
// Baca 1 bait data
jika (Wire.available () == 1)
{
data = Wire.read ();
}
}
// Tukarkan data
T3 = (data [1] * 256.0) + data [0];
// Mulakan Penghantaran I2C
Wire.beginTransmission (Addr);
// Hantar daftar data
Wire.write (0x28 | 0x80);
// Hentikan Penghantaran I2C
Wire.endTransmission ();
// Minta 4 bait data
Wire.requestFrom (Addr, 4);
// Baca 4 bait data
// kelembapan msb, kelembapan lsb, temp msb, temp lsb
jika (Wire.available () == 4)
{
val [0] = Wire.read ();
val [1] = Wire.read ();
val [2] = Wire.read ();
val [3] = Wire.read ();
}
// Tukarkan data
kelembapan apungan = (val [1] * 256.0) + val [0];
kelembapan = ((1.0 * H1) - (1.0 * H0)) * (1.0 * kelembapan - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0);
int temp = (val [3] * 256) + val [2];
apungan cTemp = (((T1 - T0) / 8.0) * (temp - T2)) / (T3 - T2) + (T0 / 8.0);
apungan fTemp = (cTemp * 1.8) + 32;
// Keluarkan data ke monitor bersiri
Serial.print ("Kelembapan relatif:");
Cetakan bersiri (kelembapan);
Serial.println ("% RH");
Serial.print ("Suhu dalam Celsius:");
Serial.print (cTemp); Serial.println ("C");
Serial.print ("Suhu di Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
kelewatan (500);
}
Langkah 4: Aplikasi:
HTS221 dapat digunakan dalam pelbagai produk pengguna seperti pelembap udara dan peti sejuk dll. Sensor ini juga dapat digunakan dalam arena yang lebih luas termasuk automasi rumah pintar, automasi industri, peralatan pernafasan, penjejakan aset dan barang.
Disyorkan:
Kipas Pendingin Auto Menggunakan Sensor dan Sensor Suhu dan Kelembapan DHT11 Dengan Arduino: 8 Langkah
Kipas Pendingin Auto Menggunakan Servo dan DHT11 Sensor Suhu dan Kelembapan Dengan Arduino: Dalam tutorial ini kita akan belajar bagaimana memulakan & putar kipas apabila suhu meningkat di atas tahap tertentu
ESP8266 NodeMCU Access Point (AP) untuk Pelayan Web Dengan Sensor Suhu DT11 dan Mencetak Suhu & Kelembapan dalam Penyemak Imbas: 5 Langkah
ESP8266 NodeMCU Access Point (AP) untuk Pelayan Web Dengan Sensor Suhu DT11 dan Mencetak Suhu & Kelembapan di Penyemak Imbas: Hai kawan-kawan dalam kebanyakan projek yang kami gunakan ESP8266 dan di kebanyakan projek kami menggunakan ESP8266 sebagai pelayan laman web sehingga data dapat diakses di sebarang peranti melalui wifi dengan mengakses Pelayan Web yang dihoskan oleh ESP8266 tetapi satu-satunya masalah adalah kita memerlukan penghala yang berfungsi untuk
Cara Menggunakan Sensor Suhu DHT11 Dengan Arduino dan Cetak Suhu Panas dan Kelembapan: 5 Langkah
Cara Menggunakan Sensor Suhu DHT11 Dengan Arduino dan Cetak Suhu Panas dan Kelembapan: Sensor DHT11 digunakan untuk mengukur suhu dan kelembapan. Mereka adalah penggemar elektronik yang sangat popular. Sensor kelembapan dan suhu DHT11 menjadikannya sangat mudah untuk menambahkan data kelembapan dan suhu ke projek elektronik DIY anda. Per
Termometer Dengan Suhu Relatif Warna pada Paparan TFT 2 "dan Pelbagai Sensor: 5 Langkah
Termometer Dengan Warna Relatif Suhu pada Paparan TFT 2 "dan Sensor Pelbagai: Saya telah membuat paparan yang menunjukkan pengukuran beberapa sensor suhu. Yang kerennya ialah warna nilai berubah dengan suhu: > 75 darjah Celcius = MERAH > 60 > 75 = ORANGE > 40 < 60 = KUNING > 30 < 40
Suhu, Kelembapan Relatif, Logger Tekanan Atmosfera Menggunakan Raspberry Pi dan TE Connectivity MS8607-02BA01: 22 Langkah (dengan Gambar)
Suhu, Kelembapan Relatif, Logger Tekanan Atmosfera Menggunakan Raspberry Pi dan TE Connectivity MS8607-02BA01: Pendahuluan: Dalam projek ini saya akan menunjukkan kepada anda bagaimana membina penyediaan sistem langkah demi langkah kelembapan suhu untuk kelembapan suhu dan tekanan atmosfera. Projek ini berdasarkan cip sensor persekitaran Raspberry Pi 3 Model B dan TE Connectivity MS8607-02BA