Design of a Digital Temperature and Humidity Measuring Instrument Using ATmega 328P Microcontroller
on
Design of a Digital Temperature and Humidity Measuring Instrument ……..
(Hadi Apriandi, dkk)
Rancangan Alat Ukur Suhu dan Kelembaban Udara
Menggunakan Mikrokontroler ATmega 328P
Design of a Digital Temperature and Humidity Measuring
Instrument Using ATmega 328P Microcontroller
Hadi Apriandi*, I Made Satriya Wibawa, I Gde Antha Kasmawan
Program Studi Fisika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Udayana, Kampus Bukit Jimbaran, Badung, Bali, Indonesia 80361
Email: *[email protected]m; [email protected]c.id; anthakas67@unud.ac.id
Abstrak – Telah berhasil dibuat rancangan alat ukur suhu dan kelembaban udara digital menggunakan mikrokontroler ATmega 328P. Hasil data suhu dan kelembaban udara diukur menggunakan sensor DHT22 yang menerima sinyal data berupa suhu dan kelembaban udara. Rancangan alat ditaruh ditempat yang sama dengan alat referensi yaitu di sanggar alat, kemudian hasil dari rancangan alat dan alat referensi diolah ke dalam bentuk grafik dan dibuktikan menggunakan persamaan regresi linear. Hasil pengukuran ditampilkan pada LCD keypad shield 16x2. Hasil kalibrasi rancangan alat yang dilakukan terhadap alat referensi memiliki tingkat keakuratan yang cukup baik yaitu untuk suhu udara 99,99% dan kelembaban udara 98,34%. Dari hasil kabrasi yang dilakukan menunjukkan rancangan alat yang dibuat mempunyai validitas (akurasi dan presisi) yang baik.
Kata kunci: Alat ukur suhu dan kelembaban udara, Sensor DHT22, Arduino, Atmega 328P, LCD Keypad Shield 16x2, kalibrasi alat
Abstract – It has been successfully made design of a digital temperature and humidity measuring instrument using ATmega 328P microcontroller. The results of temperature and humidity data are measured using the DHT22 sensor which receives data signals in the form of temperature and humidity. Design of the instrument is placed in the same place as the reference instrument, namely in the instrument shop, then the results of the design of the reference instrument and instrument are processed into graphical form and proven using linear regression equations. The measurement results are displayed on the LCD keypad shield. The results of the instrument design calibration carried out on the reference instrument have a fairly good level of accuracy, namely for air temperature of 99.99% and humidity of 98.34%. From the results of the calibration carried out, it shows that the design of the instrument made has good validity (accuracy and precision).
Key words: Measuring temperature and humidity of air, DHT22 Sensor, Arduino, ATmega 328P, LCD Keypad Shield 16x2, calibration instrument
Alat pengukur suhu dan kelembaban udara mempunyai peranan yang sangat penting dalam berbagai aspek kehidupan manusia, misalnya dalam berbagai sektor industri maupun pengontrolan suatu proses. Dalam beberapa sektor industri, misalnya pada industri pertanian tentunya alat pengukur suhu dan kelembaban udara merupakan sebuah alat yang diperlukan untuk memantau produktifitas suatu tanaman, karena seperti yang diketahui beberapa tanaman sangat dipengaruhi oleh suhu dan kelembaban udaranya [1]. Selain itu, Lembaga pemerintahan seperti BMKG juga memerlukan alat pengukur suhu dan kelembaban udara dalam menentukan perkiraan cuaca, peringatan dini dan lainnya [2].
Di Stasiun Geofisika Sanglah, untuk mengukur suhu udara masih menggunakan termometer air raksa. Sedangkan untuk mengetahui kelembaban didapat dari suhu bola kering, suhu bola basah yang kemudian dihitung menggunaan rumus. Dalam pembacaan termometer air raksa ini memerlukan ketelitian, dan termometer ini juga memerlukan kalibrasi agar dapat berfungsi dengan baik [3].
Berdasarkan uraian di atas penulis akan merancang sebuah alat pengukur suhu dan kelembaban udara digital dengan menggunakan sebuah sensor yang nantinya akan lebih mempermudah dalam melakuakan pengukuran suhu dan kelembaban udara secara bersamaan. Pada alat yang dibuat, sensor yang akan
dipakai adalah sensor DHT22 yang memiliki tingkat keakuratan yang cukup tinggi dalam melakukan pengukuran.
DHT22 merupakan sebuah sensor yang digunakan untuk mengukur suhu dan kelembaban udara. Sensor DHT22 menggunakan kapasitor dan termistor untuk mengukur udara disekitarnya dan keluar sinyal pada pin data. DHT22 diklaim memiliki kualitas pembacaan yang baik, dinilai dari respon proses akuisisi data yang cepat dan ukurannya yang minimalis, serta dengan harga relatif murah. Dari beberapa hasil penelitian sensor DHT22 diklaim memiliki nilai akurasi hasil lebih baik dibandingkan dengan sensor sejenisnya yaitu DHT11 [4, 5].
Dalam penelitian ini menggunakan sensor DHT22. DHT22 merupakan Sensor temperatur dan kelembaban udara dengan output digital yang terkalibrasi. DHT22 mengaplikasikan exclusive digitalsignal-collecting-technique dan humidity sensing technology untuk mengedepankan realibilitas dan stabilitas sensor. Elemen sensor dari DHT 22 terhubung dengan 8-bit single-chip computer. Setiap model dari sensor model ini telah terkompensasi temperatur dan terkalibrasi dengan akurat, koefisien kalibrasi tersebut disimpan dalam beberapa tipe program pada OTP memory. Prinsip kerja dari sensor ini yaitu Mikrokontroler yang terhubung dengan DHT22 akan mengirimkan sinyal start untuk memulai pengukuran temperatur dan kelembaban udara dan DHT22 mengirimkan data 40-bit kepada mikrokontroler yang kemudian diterjemahkan menjadi sebuah nilai desimal. Jika sinyal start tidak diberikan kepada DHT22 dari mikrokontroler, maka DHT22 tidak mengirimkan sinyal [6].
Untuk digitalisasi atau otak yang menjalankan rangkaian alat ini adalah Arduino yang dilengkapi dengan mikrokontroler ATmega 328P yang mana adalah salah satu jenis mikrokontroler dari keluarga mikrokontroler AVR [7]. ATmega 328P adalah prosesor yang memiliki banyak fitur. Chip mikrokontroler ATmega 328P dipaketkan dalam bentuk DIP-28, terdapat 20 pin Input/Output dengan 6 diantaranya dapat berfungsi sebagai pin ADC (analog-to-digital converter), dan 6 lainnya memiliki fungsi PWM (pulse width modulation). Mikrokontroler ATmega 328P juga memiliki beberapa fasilitas antara lain CPU 8 bit, 12 KB flash ROM, 256 byte RAM, 2 KB EEPROM, 4 Programmable Port Input/Output yang terdiri dari 8 jalur Input/Output, range frekuensi 0 – 24 MHz, 3 buah timer/counter 16 bit serta interface komunikasi serial [8].
Modul DS3231 merupakan sebuah IC yang digunakan untuk menghitung waktu, mulai dari detik, menit, jam, tanggal bulan serta tahun. Tanggal pada akhir bulan secara otomatis disesuaikan selama berbulan-bulan dengan sedikit dari 31 hari, termasuk koreksi untuk tahun kabisat. Untuk pengaturan jam menggunakan format PM dan AM serta beroperasi selama 24 jam [9]. Data suhu terukur ditampilkan pada LCD keypad shield 16x2 karakter. LCD keypad shield 16x2 telah digunakan secara luas pada alat-alat yang menggunakan baterai seperti kalkulator dan jam tangan digital [10, 11].
-
2.2 Rancangan perangkat keras dan lunak
Secara skematik rancangan perangkat keras terdiri atas sensor DHT22, modul DS3231 sumber arus, mikrokontroler dan rangkaian output. Alur diagram pada Gambar 1 dimulai dengan sensor DHT22 yang menerima sinyal data masukan berupa suhu dan kelembaban udara. Mikrokontroler ATmega 328P yang sudah dipasang pada Arduino sudah berisikan analog to digital converter (ADC) yang nantinya akan mengonversikan sinyal analog menjadi data digital. Data digital yang diproleh kemudian akan diolah oleh mikrokontroler Arduino Uno dan selanjutnya akan langsung diteruskan ke laptop. Setelah itu, dibuatkan kode program di software Arduino IDE agar alat bisa bekerja seperti yang diinginkan. Setelah pengkodean program selesai maka akan langsung di input ke dalam mikrokontroler dan hasilnya dikeluarkan pada LCD keypad shield.
LCD Keypad Shield
Sensor DHT
22
Ardumo Uuo Dengan ATmega 32SP dan Laptop
Gambar 1. Skema rancangan perangkat keras.
Diagram alir (flowchart) program pada Arduino seperti tampak pada Gambar 2, diawali dengan membaca input dari sensor DHT22, kemudian hasil bacaan diolah kedalam bentuk angka dan outputnya ditampilkan pada LCD keypad shield.
Gambar 2. Diagram alir program Arduino IDE.
Rangkain alat ukur suhu dan kelembaban udara digital seperti terlihat pada Gambar 3.
Gambar 3. Rangkaian alat ukur suhu dan kelembaban udara digital.
Algoritma program alat ukur pada software Arduino IDE sebagai berikut:
#include <Wire.h>
#include <DHT.h>
#include <LiquidCrystal.h>
#define DHTPIN 2
#define DHTTYPE DHT22
#define DS3231_I2C_ADDRESS
DHT dht(DHTPIN, DHTTYPE);
int val = 0;
int counter = 0;
LiquidCrystal lcd (8,9,4,5,6,7);
{
Return ((val/16*10) + (val%16);
}
void readDS3231time
byte *minute,
byte *hour,
byte *dayOfWeek,
byte *dayOfMonth,
byte *month,
byte *year)
{
Wire.beginTransmission(DS3231_I2C_ADDRESS);
Wire.write(0);
Wire.endTransmission();
Wire.requestFrom(DS3231_I2C_ADDRESS, 7);
*second = bcdToDec(Wire.read());
*minute = bcdToDec(Wire.read());
*hour = bcdToDec(Wire.read());
*month = bcdToDec(Wire.read());
*year = bcdToDec(Wire.read());
}
void displayTime()
{
byte second, minute, hour, month, year;
readDS3231time (&second, &minute, &hour, &month, &year);
}
void setup ()
{
Wire.begin();
lcd. createChar(1,temp);
lcd.createChar(2,drop);
lcd.begin(16, 2);
}
void loop ()
{
int h = dht.readHumidity();
int t = dht.readTemperature();
lcd.setCursor(0, 1);
lcd.print("suhu: ");
lcd.print(t);
lcd.print("C");
lcd.setCursor(0,0);
lcd. print ("kelembaban: ");
lcd. print(h);
lcd. print ("%");
Serial.print("suhu: ");
Serial.print(t);
Serial.print("C, kelembaban: ");
Serial.print(h);
Serial.println("%");
Delay (1000);}
End.
Prototype hasil rancangan alat ukur suhu dan kelembaban udara digital seperti pada Gambar 4. Baris pertama pada LCD keypad shield menampilkan tanggal dan waktu. Sedangkan pada baris kedua menampilkan hasil pengukuran suhu dan kelembaban udara.
Gambar 4. Prototype hasil rancangan alat ukur suhu dan kelembaban udara digital.
-
3.2 Hasil pengukuran
Telah dilakukan pengukuran suhu dan kelembaban udara dengan alat ukur referensi dan alat ukur hasil rancangan seperti yang ditunjukan pada Tabel 1 dan 2.
Tabel 1. Hasil pengukuran suhu udara dengan menggunakan alat rancangan dan alat referensi. | ||
Jam |
Suhu Udara | |
Alat Rancangan (oC) |
Alat Referensi (oC) | |
07.00 |
25,34 ± 0,02 |
25,36 ± 0,02 |
08.00 |
26,16 ± 0,02 |
26,14 ± 0,02 |
09.00 |
27,12 ± 0,02 |
27,14 ± 0,02 |
10.00 |
28,76 ± 0,02 |
28,78 ± 0,02 |
11.00 |
29,56 ± 0,02 |
29,56 ± 0,02 |
12.00 |
29,26 ± 0,02 |
29,24 ± 0,02 |
13.00 |
29,76 ± 0,02 |
29,74 ± 0,02 |
14.00 |
29,34 ± 0,02 |
29,34 ± 0,02 |
15.00 |
29,34 ± 0,02 |
29,30 ± 0,02 |
16.00 |
29,00 ± 0,03 |
29,00 ± 0,03 |
17.00 |
28,36 ± 0,02 |
28,36 ± 0,02 |
18.00 |
27,76 ± 0,02 |
27,76 ± 0,02 |
Dari hasil pengukuran suhu dan kelembaban udara dengan kedua alat ukur diperoleh rata-rata sebesar 0,0083 untuk suhu udara dan 0,015 atau 1,5% untuk kelembaban udara. Hasil suhu dan kelembaban udara dari kedua alat ukur dibuat dalam bentuk grafik pengukuran suhu dan kelembaban udara, dengan alat ukur rancangan sebagai sumbu horizontal dan alat ukur referensi sebagai sumbu vertikal seperti yang ditunjukkan pada Gambar 5 dan 6. Garis lurus pada gambar 5 dan 6 adalah garis regresi linear dengan persamaan garis pada persamaan 1).
y = mx + c
1)
dimana y adalah alat ukur referensi dan x adalah alat ukur rancangan.
Tabel 2. Hasil pengukuran kelembaban udara dengan menggunakan alat rancangan dan alat referensi.
Jam |
Kelembaban Udara Alat Rancangan (%) Alat Referensi (%) |
07.00 08.00 09.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00 |
82,94 ± 0,02 81 ± 0,05 84,06 ± 0,02 84 ± 0,05 82,02 ± 0,02 80 ± 0,05 74,96 ± 0,02 73 ± 0,05 72,04 ± 0,02 70 ± 0,05 73,06 ± 0,02 71 ± 0,05 69,92 ± 0,04 69 ± 0,05 70,90 ± 0,03 69 ± 0,05 71,90 ± 0,03 70 ± 0,05 70,96 ± 0,02 70 ± 0,05 72,94 ± 0,02 72 ± 0,05 75,86 ± 0,02 74 ± 0,05 |
Dari persamaan (1) diperoleh perbandingan suhu dan kelembaban udara terukur antara alat ukur referensi dan alat ukur hasil rancangan dengan nilai koefisien determinasi R² = 0,9999 untuk suhu udara dan R2= 0,9834 untuk kelembaban udara. Dari nilai koefisien determinasi menunjukkan bahwa tingkat keakuratan alat rancangan cukup baik yaitu 99,99% untuk suhu udara dan 98,34% untuk kelembaban udara. Koefisien determinasi R2 menunjukkan secara statistik seberapa banyak titik-titik data berada pada garis (kurva) regresinya, sehingga dapat digunakan sebagai indikator kepresesian hasil pengukuran [12]. Dalam hal ini terindikasi bahwa alat ukur hasil rancangan memiliki kepresesian yang tinggi. Selain itu, dilihat dari nilai gradien, bias dan perbedaan rata-rata hasil pengukurannya sebesar 0,0083 untuk suhu udara dan 0,015 atau 1,5%, sehingga terindikasi bahwa alat ukur hasil rancangan memiliki tingkat akurasi yang cukup baik.
Gambar 5. Grafik suhu udara hasil pengukuran dari alat referensi dan alat ukur rancangan.
Gambar 6. Grafik kelembaban udara hasil pengukuran dari alat referensi dan alat ukur rancangan.
Dari hasil penelitian ini dapat disimpulkan bahwa telah berhasil dirancang alat ukur suhu dan kelembaban udara digital menggunakan mikrokontroler ATmega 328P. Hasil kalibrasi alat yang dilakukan terhadap alat ukur referensi memiliki tingkat keakuratan yang cukup baik dengan selisih rata-rata 0,0083 untuk suhu udara dan 0,015 atau 1,5% untuk kelembaban udara. Akurasi alat 99,99% untuk suhu udara dan 98,34% untuk kelembaban udara. Sehingga dapat diindikasikan bahwa alat rancangan dapat digunakan dan bekerja dengan baik.
Ucapan Terima Kasih
Penulis ucapkan terima kasih kepada Kepala Laboratorium Fisika Instrumentasi dan Komputasi Program Studi Fisika FMIPA Unud atas fasilitas yang telah diberikan untuk dapat terlaksananya penelitian ini.
Pustaka
-
[1] Dana, dkk, Rancang Bangun Alat Pemantau Suhu dan Kelembaban Udara Yang Berbasiskan Wireless. Jurnal Ilmiah FLASH, vol.3, no. 1, 2017.
-
[2] B. Day, Cuaca dan Iklim-Pengertian, Unsur Pembentuk dan Alat Ukurnya, 2019. Tersedia dari: http://www.climate4life.info/2018/09/cuaca-dan-iklim-pengertian-unsur-pembentuk-dan-alat-ukurannya. [Diakses pada 13 Desember 2019].
-
[3] BMKG, Metode Kalibrasi Meteorologi, Laboratorium Kalibrasi BMKG, 2019.
-
[4] K.Y.A. Utama, Perbandingan Kualitas Antar Sensor Suhu dengan Menggunakan Arduino Pro Mini, E-NARODROID, vol. 2, no. 2, 2016, pp. 145-150.
-
[5] L. Abdulrazzak, I.A. Bierk, H. Aday, Humidity and temperature monitoring, Int. J. Eng. Technol., vol. 7, no. 4, 2018, pp. 5174-5177.
-
[6] P. Marian, 2016. Sensor DHT22, 2019. Tersedia dari: https://www.electroschematics.com/11293/ am2302-dht22-datasheet/. [Diakses pada 5 Mei 2019].
-
[7] M. Eka dan R. Khasrisman, Perancangan Alat Peringatan Dini Bahaya Banjir dengan Mikrokontroler Arduino Uno R3, Citec Journal, Vol. 1, No. 3, 2014, pp. 171-182.
-
[8] A. Adriansyah, Rancang Bangun Prototipe Elevator Menggunakan Microcontroller Arduino
Atmega 328P, Jurnal Teknologi Elektro, vol. 4, no. 3, 2013.
-
[9] A. Dani, Real Time Clock, 2016. Tersedia dari: http://www.belajarduino.com/2016/08/digital-
clock-alarm-thermometer-dengan. [Diakses pada 4 Mei 2019].
-
[10] G. M. D. Putra, D. A. Setiawati, dan S. Sumarjan, Rancang Bangun Sistem Sortasi Kamatangan Buah Semi Otomatis Berbasis Arduino, Jurnal Teknotan, vol. 12, no. 1, 2018, pp. 57-64.
-
[11] W. A. Romi, L. W. Sri, dan Mardiono, Rancang Bangun Alat Monitoring Suhu dan Kelembaban Pada Alat Baby Incubator Berbasis Internet of Things, Jurnal Teknologi, vol. 6, no. 1, 2018, pp. 52-70.
-
[12] A. Fitriandi, Rancang Bangun Alat Monitoring Arus dan Tegangan Berbasis Mikrokontroler dengan SMS Gateway, Jurnal Rekayasa dan Teknologi Elektro, vol. 10, no. 2, 2016.
18
Discussion and feedback