08 - Dasar Pemograman Arduino - Sensor Suhu dan Kelembaban (SHT11) Dengan Tampilan LCD 16x2 Mode i2C
Assalamualaikum Wr Wb
Pada kesempatan kali ini, saya ingin melanjutkan materi tentang arduino yang pernah dibahas pada postingan sebelumnya.
Pada postingan kali ini akan saya bahas satu persatu secara bertahap.
Seperti biasa, Agar postingan ini dapat dipahami dengan mudah, maka saya akan menyajikan tahapan pemograman arduino menggunakan simulasi proteus. (tidak perlu membeli perangkat yang sebenarnya)
baiklah, pada judul kali ini akan kita bahas mengenai pembacaan sensor suhu dan kelembapan dengan tampilan LCD menggunakan arduino uno dengan menggunakan 1 buah lcd dengan i2c dan 1 Sensor DHT11.
Penjelasan LCD 16x2 menggunakan komunikasi I2C dapat dilihat pada postingan ini.
Sensor Suhu dan Kelembapan DHT11:
Sensor DHT11 merupakan sensor yang umum dipakai pada hobby elektronika seperti pada project-project kecil mikrokontroller dan otomasi. sensor ini memiliki bentuk seperti pada gambar berikut ini.
sensor ini mampu memiliki spesifikasi seperti yang ditunjukkan pada tabel berikut ini.
Prosedur Percobaan:
- Rangkailah rangkaian baik pada software simulasi maupun secara real dengan perangkat sebenarnya menjadi seperti pada gambar berikut ini.
Gambar Rangkaian Menggunakan software simulasi Proteus
- Bukalah Software Arduino yang dapat kalian download Disini.
- Ketik atau salin listing program berikut ini pada halaman program kalian
List Program Percobaan menggunakan Arduino.
Program Keseluruhan :
#include
#include
#include "DHT.h"
#define DHTPIN 8
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x3F, 16, 2);
char temperature[] = "Temp = 00.0 C ";
char humidity[] = "RH = 00.0 % ";
void setup()
{
// put your setup code here, to run once:
lcd.init(); // initialize the lcd
lcd.init();
dht.begin();
// Print a message to the LCD.
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Hello, world!");
lcd.setCursor(0, 1);
lcd.print("Ywrobot Arduino!");
}
void loop()
{
// put your main code here, to run repeatedly:
byte RH = dht.readHumidity();
byte Temp = dht.readTemperature();
if (isnan(RH) || isnan(Temp)) {
lcd.clear();
lcd.setCursor(5, 0);
lcd.print("Error");
return;
}
temperature[7] = Temp / 10 + 48;
temperature[8] = Temp % 10 + 48;
temperature[11] = 223; //ASCII
humidity[7] = RH / 10 + 48;
humidity[8] = RH % 10 + 48;
lcd.setCursor(0, 0);
lcd.print(temperature);
lcd.setCursor(0, 1);
lcd.print(humidity);
delay(500);
}
- Lakukan kompilasi dengan menekan tombol pintasan CTRL+R atau pada Menu Sketch>Verify/Compile
- Untuk pengguna Perangkat dalam bentuk fisik dapat mencoba mengupload program dengan menekan tombol pintasan CTRL +U , sedangkan bagi pengguna software simulasi dapat menekan tombol pintasan CTRL+ALT+S untuk menyimpan binary file yang nantinya akan di masukkan pada software simulasi.
- Amati hasilnya, jika terjadi kesalahan, periksa kembali langkah-langkah diatas.
File Hasil Percobaan dan penjelasan lebih detail tentang percobaan diatas dapat didownload pada link yang berada dalam deskripsi Video dibawah ini.
Sekian dulu panduan dasar pemograman arduino ini saya buat, semoga menjadi ilmu yang bermanfaat.
Salam Anak Pulau :)
Link Terkait :
- Dasar Pemograman Arduino - Kendali LED
- Dasar Pemograman Arduino - Kendali LED dengan tombol
- Dasar Pemograman Arduino - Kendali Relay dengan tombol
- Dasar Pemograman Arduino - Kendali Motor DC bolak-balik dengan Driver Relay
- Dasar Pemograman Arduino - LCD 16x2 Mode 4 bit dan Tombol Push Button
- Dasar Pemograman Arduino - LCD 16x2 Mode i2C dan Tombol Push Button (Bonus - Pin Analog menjadi Input Push button)
- Dasar Pemograman Arduino - Kendali Motor DC bolak-balik dengan Driver Relay
- Dasar Pemograman Arduino - Sensor Suhu dan Kelembaban (SHT11) Dengan Tampilan LCD 16x2 Mode i2C
- Dasar Pemograman Arduino - Sensor Cahaya LDR (Light Dependent Resistor) Dengan Tampilan LCD 16x2 Mode i2C
- Dasar Pemograman Arduino - RTC (Real Time Clock) Dengan Tampilan LCD