Instrumentasi Suhu Dan Kelembaban Dengan Sensor DHT 11 [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

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) bits[idx] |= (1