titikkabar.xyz - Pengukuran suhu ruangan adalah salah satu kebutuhan penting dalam berbagai bidang, mulai dari rumah tangga, industri, hingga laboratorium. Memantau suhu secara akurat dapat membantu menjaga kenyamanan, efisiensi energi, dan keamanan peralatan. Dalam era Internet of Things (IoT), pembuatan alat pengukur suhu menjadi semakin mudah berkat ketersediaan mikrokontroler murah dan sensor yang presisi. Salah satu solusi sederhana namun efektif adalah membangun Pengukur Suhu Ruangan menggunakan Arduino dan sensor DHT22.
Proyek ini menggunakan beberapa komponen utama yang mudah didapat di pasaran:
- Arduino Uno – berfungsi sebagai otak sistem, mengolah data dari sensor dan menampilkannya.
- Sensor DHT22 – berperan sebagai pengukur suhu dan kelembapan. DHT22 memiliki akurasi lebih tinggi dibanding DHT11.
- LCD 16x2 dengan modul I2C – menampilkan hasil pengukuran suhu dan kelembapan secara real-time.
- Kabel jumper dan breadboard – digunakan untuk koneksi tanpa solder.
- Sumber daya 5V – bisa berupa kabel USB atau adaptor.
Prinsip Kerja
Proses kerja alat ini cukup sederhana:- Sensor membaca suhu dan kelembapan ruangan.
- Arduino memproses data yang dikirim oleh sensor melalui jalur digital.
- Hasil pengukuran ditampilkan di layar LCD 16x2.
- Pembaruan data dilakukan setiap dua detik agar pembacaan tetap terkini.
Skema Koneksi
- Pin VCC sensor dihubungkan ke 5V Arduino.
- Pin GND sensor dihubungkan ke GND Arduino.
- Pin DATA sensor terhubung ke pin digital D2.
- LCD I2C dihubungkan ke pin A4 (SDA) dan A5 (SCL) pada Arduino Uno.
Langkah Perakitan
- Pasang Arduino dan sensor DHT22 pada breadboard.
- Sambungkan kabel sesuai diagram koneksi.
- Pasang LCD 16x2 I2C ke Arduino.
- Upload kode program ke Arduino melalui Arduino IDE.
- Periksa tampilan pada LCD untuk memastikan pembacaan berjalan baik.
Pemrograman
#include
#include
#include
#define DHTPIN 2 // pin data DHT
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2); // alamat I2C bisa 0x27 atau 0x3F
void setup() {
Serial.begin(9600);
dht.begin();
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Pengukur Suhu");
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature(); // Celcius
if (isnan(h) || isnan(t)) {
Serial.println("Gagal membaca dari sensor DHT!");
lcd.setCursor(0,0);
lcd.print("Sensor error ");
} else {
Serial.print("Suhu: "); Serial.print(t); Serial.println(" *C");
Serial.print("Hum: "); Serial.print(h); Serial.println(" %");
lcd.setCursor(0,0);
lcd.print("Suhu: ");
lcd.print(t,1);
lcd.print((char)223); lcd.print("C ");
lcd.setCursor(0,1);
lcd.print("Hum: ");
lcd.print(h,1);
lcd.print(" % ");
}
delay(2000); // update tiap 2 detik
}
- Kode program ditulis menggunakan Arduino IDE dengan bantuan dua pustaka utama:
- DHT sensor library (oleh Adafruit) untuk mengakses data dari sensor DHT22.
- LiquidCrystal_I2C untuk mengontrol layar LCD melalui protokol I2C.