Daftar Isi:

Pengukuran Suhu dan Kelembaban Menggunakan HDC1000 dan Arduino Nano: 4 Langkah
Pengukuran Suhu dan Kelembaban Menggunakan HDC1000 dan Arduino Nano: 4 Langkah

Video: Pengukuran Suhu dan Kelembaban Menggunakan HDC1000 dan Arduino Nano: 4 Langkah

Video: Pengukuran Suhu dan Kelembaban Menggunakan HDC1000 dan Arduino Nano: 4 Langkah
Video: Raspberry Pi Project: Smart Plant Pi 2024, November
Anonim
Image
Image

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 arduino nano telah diilustrasikan. Untuk membaca nilai suhu dan kelembaban, kami telah menggunakan arduino dengan adaptor I2c. Adaptor I2C ini membuat koneksi ke modul sensor menjadi mudah dan lebih andal.

Langkah 1: Perangkat Keras Yang Dibutuhkan:

Perangkat Keras yang Dibutuhkan
Perangkat Keras yang Dibutuhkan
Perangkat Keras yang Dibutuhkan
Perangkat Keras yang Dibutuhkan
Perangkat Keras yang Dibutuhkan
Perangkat Keras yang Dibutuhkan

Bahan yang kami butuhkan untuk mencapai tujuan kami meliputi komponen perangkat keras berikut:

1. HDC1000

2. Arduino Nano

3. Kabel I2C

4. Perisai I2C untuk Arduino Nano

Langkah 2: Sambungan Perangkat Keras:

Sambungan Perangkat Keras
Sambungan Perangkat Keras
Sambungan Perangkat Keras
Sambungan Perangkat Keras

Bagian hookup perangkat keras pada dasarnya menjelaskan koneksi kabel yang diperlukan antara sensor dan arduino nano. 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:

Kode untuk Pengukuran Suhu dan Kelembaban
Kode untuk Pengukuran Suhu dan Kelembaban

Mari kita mulai dengan kode arduino sekarang.

Saat menggunakan modul sensor dengan arduino, kami menyertakan pustaka Wire.h. Pustaka "Wire" berisi fungsi-fungsi yang memfasilitasi komunikasi i2c antara sensor dan board arduino.

Seluruh kode arduino diberikan di bawah ini untuk kenyamanan pengguna:

#termasuk

// Alamat HDC1000 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);

// Memulai komunikasi 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];

// Memulai komunikasi 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

int temp = (data[0] * 256) + data[1];

float cTemp = (temp / 65536.0) * 165.0 - 40;

float fTemp = cTemp * 1,8 + 32;

// Memulai komunikasi 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

// kelembaban msb, kelembaban lsb

jika (Wire.available() == 2)

{

data[0] = Wire.read();

data[1] = Kawat.baca();

}

// Konversi data

kelembaban mengambang = (data[0] * 256) + data[1];

kelembaban = (kelembaban / 65536.0) * 100.0;

// Keluarkan data ke monitor serial

Serial.print("Kelembaban Relatif:");

Serial.print(kelembaban);

Serial.println("%RH");

Serial.print("Suhu dalam Celcius:");

Serial.print(cTemp);

Serial.println("C");

Serial.print("Suhu dalam Fahrenheit:");

Serial.print(fTemp);

Serial.println("F");

penundaan (500);

}

Dalam wire library Wire.write() dan Wire.read() digunakan untuk menulis perintah dan membaca output sensor.

Serial.print() dan Serial.println() digunakan untuk menampilkan output dari sensor pada serial monitor Arduino IDE.

Output dari sensor ditunjukkan pada gambar di atas.

Langkah 4: Aplikasi:

Aplikasi
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.

Direkomendasikan: