Anda di halaman 1dari 9

Instrumentasi Suhu dan Kelembaban dengan Sensor DHT 11

Oleh : Budi Setyawan (NIM 15/391242/PPA/05028)


Magister Ilmu Komputer Universitas Gadjah Mada
Instrumentasi suhu dan kelembaban merupakan proses pengukuran derajat panas udara dan tingkat
kadar air pada udara serta mengubahnya menjadi sinyal listrik. Proses instrumentasi ini banyak
digunakan pada bidang meteorologi, pertanian, kemanan, dan lain sebagainya.

1. RANCANG BANGUN SISTEM


Sistem yang dibangun pada tugas ini melibatkan sensor DHT 11, mikrokontroller Arduino Uno,
dan personal computer yang telah terinstall perangkat lunak LabView. Hubungan komponen
sistem tersebut dijelaskan dengan gambar diagram blok di bawah ini.

Sensor

Mikrokontroller

DHT11

Arduino Uno

LabView

Gambar 1. Diagram blok rancang bangun sistem

Berikut merupakan penjelasan masing-masing komponen.


A. Sensor DHT11
Sensor DHT11 merupakan perangkat yang berperan dalam penginderaan derajat panas udara
dan kadar air pada udara. Sensor ini termasuk kategori smart sensor yang memiliki ADC

dan mikronkontroller terintegrasi dalam kemasan sensor. Berdasarkan datasheet, sensor


ini telah melalui kalibrasi di laboratorium termal. Pada datasheet juga disebutkan bahwa
koefisien kalibrasi disimpan dalam OTP program memory, sehingga ketika sensor bekerja
dan menghasilkan luaran sinyal listrik, akan secara otomatis dikalkulasi berapa derajat
suhu udara dan berapa persen kelembaban relatif yang terukur.
Sensor ini memiliki kemasan berukuran 2x3.5 cm. Berdasarkan datasheet, hasil
pengukuran dapat ditransmisikan melalui medium dengan panjang maksimum 20 meter.
Spesifikasi lainnya adalah supply voltage: +5 V, temperature range : 0-50 C dengan
error margin 2 C, humidity range : 20-90% RH dengan error margin 5% RH.
Gambar 2 menunjukkan tampilan sensor DHT11 dan tabel 1 merupakan spesifikasi detail
dari sensor DHT11.

Gambar 2. Tampilan sensor DHT11


Tabel 1. Tabel karakteristik sensor kelembaban udara/Humidity

Model

DHT11

Power supply

3-5.5V DC

Output signal

digital signal via single-bus

Measuring range

humidity 20-90% RH 5% RH error


temperature 0-50 C error of 2 C

Accuracy

humidity +-4%RH (Max +-5%RH);


temperature +-2.0Celsius

Resolution or

humidity 1%RH; temperature

sensitivity

0.1Celsius

Repeatability

humidity +-1%RH; temperature +1Celsius

Humidity hysteresis

+-1%RH

Long-term Stability

+-0.5%RH/year

Sensing period

Average: 2s

Interchangeability

fully interchangeable

Dimensions size

12*15.5*5.5mm

Seperti terlihat pada gambar 2 dan tabel 1, sensor DHT11 memiliki empat buah kaki
yaitu : pada bagian kaki(VCC), dihubungkan ke bagian Vss yg bernilai sebesar 5V, pada
mikrokontroller dan untuk bagian kaki GND dihubungkan ke ground (GND) pada board
mikrokontroller. Bagian kaki data yang merupakan keluaran (output) sensor, dihubungkan
ke bagian analog input pada mikrokontroller. Sementara satu kaki tambahan yaitu kaki
NC (Not Connected), yang tidak dihubungkan ke pin manapun.
B. Mikrokontroller Arduino Uno

Arduino adalah platform pembuatan prototipe elektronik yang bersifat open-source


hardware yang berdasarkan pada perangkat keras dan perangkat lunak yang fleksibel dan

mudah digunakan. Arduino ditujukan bagi para pembuat sistem yang menginginkan
abstraksi yang relatif sederhana dan terhindar dari kerumitan teknis elektronika.
Platform arduino terdiri dari arduino board, shield, bahasa pemrograman arduino, dan
arduino development environment. Arduino board biasanya memiliki sebuah chip dasar
mikrokontroler Atmel AVR ATmega8 berikut turunannya.
Blok diagram arduino board yang sudah disederhanakan dapat dilihat pada gambar 3.
Shield adalah sebuah papan yang dapat dipasang diatas arduino board untuk menambah
kemampuan dari arduino board. Bahasa pemrograman arduino adalah bahasa
pemrograman yang umum digunakan untuk membuat perangkat lunak yang ditanamkan
pada arduino board. Bahasa pemrograman arduino mirip dengan bahasa pemrograman
C++.

Gambar 3. Diagram blok Aruino Uno

Arduino Uno adalah arduino board yang menggunakan mikrokontroler ATmega328.


Arduino Uno memiliki 14 pin digital (6 pin dapat digunakan sebagai output PWM), 6
input analog, sebuah 16 MHz osilator kristal, sebuah koneksi USB, sebuah konektor
sumber tegangan, sebuah header ICSP, dan sebuah tombol reset. Arduino Uno memiliki
area cakupan yang luas untuk segala hal yang dibutuhkan untuk mendukung sebuah
aplikasi yang berbasiskan mikrokontroler. Hanya dengan menghubungkannya ke sebuah
komputer melalui USB atau memberikan tegangan DC dari baterai atau adaptor AC ke DC
sudah dapat membuat aplikasinya bekerja. Arduino Uno menggunakan ATmega16U2
yang diprogram sebagai USB-to-serial converter untuk komunikasi serial ke komputer
melalui port USB.

C. LabView

Laboratory virtual instrument engineering workbench (LabVIEW) adalah suatu


software yang digunakan untuk pemrosesan dan visualisasi data dalam bidang akuisisi
data, kendali dan instrumentasi, serta otomatisasi industri.

Kelebihan LabVIEW

dibandingkan dengan bahasa pemograman lainnya adalah bahasanya yang mudah


dipahami, pembuatan program mudah, waktu pembuatan program singkat, memiliki
integrasi dengan ribuan hardware dan ratusan library yang siap digunakan, dapat
menangani beberapa instruksi sekaligus, bersifat modular, telah terbukti andal, powerful,
dan fleksibel. Dibutuhkan instalasi driver VISA (virtual instrument software architecture)
agar LabVIEW dapat berinteraksi dengan Arduino (Artanto, 2012). Berbeda dengan
pemograman lainnya yang menggunakan text, LabVIEW

mempunyai bahasa

pemograman berbasis grafis atau blok. Perangkat lunak ini terdiri dari tiga komponen
utama yaitu front panel, block diagram, function palette, dan control palette (Wardoyo,
2013).
D. Interkoneksi Sistem dan Protokol Akuisisi Data Sensor
Pada tugas ini, Sensor DHT11 dihubungkan dengan mikrokontroller Arduino Uno, yang
berperan sebagai perangkat akusisi data. Berdasarkan datasheet, sensor DHT11 berkomunikasi
dengan mikrokontroller melalui single wire atau one wire two way serial interface. Sehingga, pin
pada arduino yang digunakan sebagai jalur input data dari sensor, tidak menggunakan pin serial
UART (universal asynchronous receiver/transmitter), karena jalur komunikasi tersebut
membutuhkan dua buah pin receiver dan transmitter. Pada tugas ini, komunikasi antara sensor
DHT11 dan Arduino Uno menggunakan pin 2 (digital input). Sementara catu daya sensor
dihubungkan dengan pin power 5V dan ground. Gambar 4 menunjukkan tampilan interkoneksi
sistem antara Arduino Uno dengan sensor DHT11.

Gambar 4. Interkoneksi sensor DHT11 dan Arduino Uno

Akuisisi data sensor DHT11 dilakukan oleh mikrokontroller dengan mengirimkan low
signal beturut turut selama 18ms melalui jalur komunikasi data, dan kemudian mengembalikannya
kondisi sinyal high. Hal ini akan diartikan oleh sebagai permintaan akusisi data sensor DHT11.
Selanjutnya, sensor DHT11 akan mengirimkan low signal berturut turut selama 18 mikro detik
melalui jalur komunikasi data. Isyarat ini akan diartikan oleh mikrokontroller sebagai respon atas
permintaan akuisisi data. Setelah itu, DHT11 akan mulai mengirimkan data sensor secara serial.
Gambar 5 menunjukkan timing diagram protokol komunikasi ini.

Gambar 5. Timing diagram protokol komunikasi serial untuk akuisisi data

E. Pengujian Rancang Bangun Sistem


Sistem yang telah dibuat akan diuji untuk melakukan pengukuran suhu di lingkungan kamar,
suhu di lingkungan panas yang berupa medium uap panas, dan pengukuran suhu di lingkungan
dingin yang berupa uap dingin.

2. PEMBAHASAN
Rancang bangun yang dibahas pada bagian 1, diimplementasikan melalui serangkaian
bahasa pemrograman. Berikut adalah penggalan program yang digunakan untuk mengirimkan
request akuisisi data. Pin 2 mikrokontroller yang digunakan sebagai jalur komunikasi,
mengirimkan (write) low signal selama 18ms. Selanjutnya, pin tersebut mengirimkan high signal
selama 40 mikro detik. Agar pin 2 siap digunakan untuk menerima data tempratur dari DHT11, pin
2 diubah menjadi mode input.
pinMode(pin, OUTPUT);
digitalWrite(pin, LOW);
delay(18);
digitalWrite(pin, HIGH);
delayMicroseconds(40);
pinMode(pin, INPUT);

Selanjutnya, mikrokontroller mulai menerima 40 bit (5 byte) data nilai tempratur dan data
nilai kelembaban yang dihasilkan oleh sensor DHT11. Berikut adalah potongan program yang
digunakan memiliki fungsi menerima data dari sensor DHT11.
for (int i=0; i<40; i++)
{
loopCnt = 10000;
while(digitalRead(pin) == LOW)
if (loopCnt-- == 0) return -2;
unsigned long t = micros();
loopCnt = 10000;
while(digitalRead(pin) == HIGH)
if (loopCnt-- == 0) return -2;
if ((micros() - t) > 40) bits[idx] |= (1 << cnt);
if (cnt == 0)

// next byte?

{
cnt = 7;

// restart at MSB

idx++;

// next byte!

}
else cnt--;
}

Berdasarkan datasheet, most significant byte (MSB), yaitu byte 0 dan 1 merupakan nilai
kelembaban udara. Sementara least significant byte (LSB), yaitu byte merupakan nilai tempratur

udara yang terukur. Sementara byte ke 4 merupakan byte checker, yang dihasilkan dari
penjumlahan 4 byte sebelumnya. Penggalan coding berikut berfungsi memisahkan
bytestream ke dalam variabel humidity dan variable temprature.
humidity

= bits[0];

temperature = bits[2];
uint8_t sum = bits[0] + bits[2];
if (bits[4] != sum) return -1;
return 0;

Gambar 6 menunjukkan grafik hasil pengukuran lingkungan udara kamar yang ditampilkan
melalui perangkat lunak LabView. Byte stream yang dikirimkan dari sensor suhu ke
mikrokontroller adalah 0100 0001 0000 0000 0010 0000 0000 0000 0110 0010 0000 0000.
Berdasarkan urutan kedatangan data serial, MSB dari byte stream dari rangkaian suhu tersebut
adalah 0100 0001 (bin) atau sama dengan 65. Sementara byte berikutnya adalah 0010 0000 (bin)
atau sama dengan 32. Sehingga, data tersebut dapat diartikan bahwa suhu terukur adalah 32 dan
kelembaban yang terukur adalah 65% (dengan rentang kesalahan 2C berdasarkan datasheet).

Gambar 6. Grafik hasil pengukuran lingkungan udara kamar yang ditampilkan melalui perangkat lunak
LabView

Gambar 7 menunjukkan grafik hasil pengukuran lingkungan udara panas yang ditampilkan
melalui perangkat lunak LabView. Byte stream yang dikirimkan dari sensor suhu ke
mikrokontroller adalah 0100 1111 0000 0000 0011 1000 0000 0000 1000 0111 0000 0000.
Berdasarkan urutan kedatangan data serial, MSB dari byte stream dari rangkaian suhu tersebut
adalah 0100 1111 (bin) atau sama dengan 79. Sementara byte berikutnya adalah 0011 1000 (bin)
atau sama dengan 56. Sehingga, data tersebut dapat diartikan bahwa kelembaban yang terukur
adalah 79% dan suhu terukur adalah 56 C (dengan rentang kesalahan 2C berdasarkan
datasheet).
Hasil

pengukuran

kelembaban

menunjukkan

kenaikan

dibandingkan

pengukuran

kelembaban pada udara kamar. Hal ini karena uap air mendidih mengandung banyak partikel air
yang berubah menjadi gas (uap), sehingga kelembaban yang terukur lebih tinggi (79%)
dibandingkan dengan kelembaban udara kamar 65%.
Mengacu pada datasheet dan ringkasannya pada tabel 1, rentang pengukuran dari sensor ini
adalah 0C - 50C. Sehingga, tempratur air mendidih yang mencapai 100C tidak dapat diukur
dengan tepat oleh sensor. Bahkan apabila dipaksakan menunggu hingga pembacaan mendekati
nilai tempratur air mendidih, hal tersebut dapat menyebabkan kerusakan pada sensor.
.

Gambar 7. Grafik hasil pengukuran lingkungan udara panas yang ditampilkan melalui perangkat lunak
LabView

Gambar 8 menunjukkan grafik hasil pengukuran lingkungan udara dingin yang ditampilkan
melalui perangkat lunak LabView. Byte stream yang dikirimkan dari sensor suhu ke
mikrokontroller adalah 0101 1101 0000 0000 0001 1010 0000 0000 0111 0111 0000 0000.
Berdasarkan urutan kedatangan data serial, MSB dari byte stream dari rangkaian suhu tersebut
adalah 0101 1101 (bin) atau sama dengan 93. Sementara byte berikutnya adalah 0001 1010 (bin)
atau sama dengan 26. Sehingga, data tersebut dapat diartikan bahwa kelembaban yang terukur
adalah 79% dan suhu terukur adalah 56 (dengan rentang kesalahan 2C berdasarkan datasheet).
Hasil

pengukuran

kelembaban

menunjukkan

kenaikan

dibandingkan

pengukuran

kelembaban pada udara kamar maupun udara panas. Hal ini karena uap air hasil pencairan es
mengandung lebih banyak partikel air, sehingga kelembaban yang terukur lebih tinggi (93%)
dibandingkan dengan kelembaban udara panas (79%) maupun kelembaban udara kamar 65%.

Gambar 8. Grafik hasil pengukuran lingkungan udara dingin yang ditampilkan melalui perangkat lunak
LabView

Video demo dari sistem ini dapat dilihat pada link ini. ( https://youtu.be/2X2n1NIbOUw )

3. Kesimpulan dan Saran


a) Sistem yang dibangun pada tugas ini melibatkan sensor DHT 11, mikrokontroller Arduino
Uno, dan personal computer yang telah terinstall perangkat lunak LabView.

b) Sistem tersebut mampu melakukan instrumentasi suhu dan kelembaban dan menampilkannya
melalui LabView.

c) Nilai yang dihasilkan oleh sensor DHT11 merupakan nilai suhu dan kelembaban yang telah
terkalibrasi dan tidak perlu dilakukan operasi perhitungan untuk memperoleh nilai suhu dan
kelembaban tersebut.

d) Instrumentasi suhu dan kelembaban dengan sensor DHT11 memiliki rentang yang
terbatas, dimana apabila kondisi yang akan diukur berada diluar rentang tersebut,
hasil pengukuran bisa menjadi tidak akurat.
Saran :
Pengembangan sistem yang melibatkan sensor DHT11 perlu mempertimbangkan batasan
rentang pengukuran dan akurasi sensor ini.