MENAMPILKAN SUHU DAN KELEMBABAN ARDUINO
Suhu, Kelembaban, DHT11, LCD
1602, Arduino; Kita bisa membuat
alat pengukur suhu dan kelembaban menggunakan Arduino. Untuk sensor kita bisa
menggunakan DHT11 ataupun DHT22. Kali ini akan kita bahas penggunaan DHT11
dengan LCD sebagai penampil suhu dan kelembaban.
Untuk praktisnya kita gunakan
saja contoh program yang sudah ada pada program Arduino. Sebelumnya kita
dulu hubungan hardware arduino dengan LCD 16x02.
Sedangkan hubungan
DHT11 dengan Arduino adalah dengan menguhubungkan pin data DHT11 pada pin A0
Arduino. Sedangkan pin + dihubungkan dengan +5V dan pin – dihubungkan dengan
GND.
Sekarang kita
masuk ke bagian software. Kita akan menggabungkan contoh program penggunaan LCD
dan DHT. Pertama kita buka contoh program LCD yang ada pada Arduino File→Examples→LiquidCrystal→HelloWorld.
Kemudian buka juga file contoh untuk DHT11 pada File→Examples→DHT sensor library→DHTtester. Jika DHT sensor library
belum ada maka kita harus menambahkan library pada program Arduino dulu.
Ayo kita mulai
menggabungkan. Masukkan kode dari DHTtester di bawah ke HelloWorld di bawah
#include <LiquidCrystal.h>
Sehingga akan
menjadi seperti di bawah
Aktifkan serial monitor
dan DHT jika akan menggunakan serial monitor. Caranya pindahkan aja code dari void
setup DHTtester di bawah ke void setup HelloWorld.
Kemudian hilangkan
lcd.print(“Hello, world!”) karena kita tidak perlu menampilakan tulisan ini di
LCD. Atau kalau ingin menuliskan yang lain bisa saja dengan mengubah tulisan
Hello, world!. Setelah dipindahkan maka file HelloWorld akan menjadi
Gantikan code pada
void loop di dalam file HelloWorld dengan code void loop pada file DHTtester.
Dari code yang
dtuliskan sudah bisa menampilkan suhu dan kelembaban. Tetapi hasil pengukuran
hanya akan tampil melalui serial monitor. Sekarang kita akan menampilkan hasil
pengukuran ke LCD dengan menambahkan code di bagian bawah void loop.
Maka tampilan
pada LCD akan seperti di bawah
#include "DHT.h"
#define DHTPIN A0 // what digital pin we're connected to
#define DHTTYPE DHT11 // DHT 11
DHT dht (DHTPIN, DHTTYPE);
//include the library code:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
void setup() {
// put your setup code here, to run once:
Serial.begin (9600);
Serial.println ("DHTxx test!");
dht.begin();
lcd.begin (16, 2); //print a message to the LCD.
}
void loop() {
// put your main code here, to run repeatedly:
delay (2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
if (isnan (h)||isnan (t) || isnan (f) ) {
Serial.println ("Failed to read from DHT sensor!");
return;
}
lcd.setCursor(0,0);
lcd.print("Suhu :");
lcd.setCursor(9,0);
lcd.print(t);
lcd.setCursor(0,1);
lcd.print("Kelemb :");
lcd.setCursor(9,1);
lcd.print(h);
}
Kita bisa
memodifikasinya sesuai dengan keinginan kita sendiri. Kita bisa menghilangkanangka nol dibelakang koma dengan memasukkan dulu nilai t ke bentuk integer.
Semoga artikel
ini dapat bermanfaat. Tetap belajar dan berinovasi.