7 Okt 2019

16 - Termometer Digital

Termometer Digital

Ini merupakan gabugan dari dua latihan sebelumnya menggunakan sensor DHT11 untuk mengukur suhu dan kelembaban suatu ruangn kemudian ditampilkan pada layar LCD. Dalam pengembangannya kamu bisa menjadikannya sebagai alat pengontrolan dengan menambahkan sebuah modul relay juga menambahkan sedikit kode perintah untuk menghidupkan kipas angin ketika suhu ruangan terasa cukup panas.

Kebutuhan Komponen:

— 1 x Arduino UNO
— 1 x Breadboard
— 1 x DHT11
— 1 x LCD 1602
— 1 x Potensiometer
— 1 x Resistor 330Ω
— 18 x Kabel Jumper

Perakitan:

Rangkaian:

Upload Sketch:

Untuk mengisikan program ke board Arduino melalui PC/Laptop dapat menggunakan software Arduino IDE.

Apabila kamu tidak mau menggunakan PC/Laptop untuk mengupload sketch/program ke board Arduino, kamu masih bisa menggunakan handphone Android untuk mengisikan program ke Arduino menggunakan aplikasi Bluino Loader, cara uploadnya pun bisa dua cara melalui USB dengan menggunakan adapter OTG atau melalui Bluetooth.

Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) di bawah.
/*
  Termometer Digital

  Mengukur suhu dan kelembaban kemudian menampilkannya pada lacar LCD.
*/


#include           //menyertakan librarry liquid crystal kumpulan perintah untuk menampilakan karakter pada layar LCD
#include "DHT.h"                    //menyertakan library untuk menggunakan sensor DHT11

#define DHTPIN 8        //pin 8 yang dihubungkan dengan sensor
#define DHTTYPE DHT11   //jenis sensor yang digunakan yaitu DHT 11

DHT dht(DHTPIN, DHTTYPE);  //membuat sebuah objek untuk sensor, serta menentukan pin dan tipe sensor yg digunakan
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);   //memberitahu Arduino pin mana saja yang dihubungkan dengan LCD

void setup() {
  dht.begin();    //memulai komunikasi dengan sensor

  lcd.begin(16, 2);                 //memberitahu libarry LCD bahwa kita menggunakan layar LCD berukuran lebar 16 karakter dan tinggi 2 karakter
  lcd.clear();                      //membersihkan layar LCD

}

void loop() {
  float temperature = dht.readTemperature();  //Membaca data suhu dalam Celsius menggunakan library DHT
  float humidity = dht.readHumidity();        //Membaca data suhu dalam Celsius menggunakan library DHT
  
  //Periksa jika terjadi kegagalan dalam pembacaan dan keluar sesegara mungkin untuk membaca ulang.
  if (isnan(temperature) || isnan(humidity)) {
    lcd.setCursor(0,0);             //set kursor pada posisi 0 (pojok kiri atas)
    lcd.print("Failed to read  ");  //menampilkan tulisan pada layar LCD
    lcd.setCursor(0,1);             //memindahkan pada posisi 0 dibaris kedua
    lcd.print("sensor!         ");  //menampilkan tulisan pada layar LCD

return;
  } else {
    lcd.setCursor(0,0);             //set kursor pada posisi 0 (pojok kiri atas)
    lcd.print("Temp: ");            //menampilkan "Temp:" pada posisi awal
    lcd.setCursor(6,0);             //memindahkan kursor pada posisi 6 dibaris pertama
    lcd.print(temperature,0);       //menampilkan nilai suhu pada layar LCD
    lcd.print((char)223);           //menampilkan simbol derajat
    lcd.print("C       ");          //menampilkan unit satuan dalam Celcius
    lcd.setCursor(0,1);             //memindahkan kursor pada posisi 0 dibaris kedua
    lcd.print("Hum : ");            //menampilkan Distance: pada posisi awal
    lcd.setCursor(6,1);             //memindahkan kursor pada posisi 6 dibaris kedua
    lcd.print(humidity,0);          //menampilkan nilai kelembaban pada layar LCD
    lcd.print("%       ");          //menampilkan unit satuan dalam %
  }
  

  delay(1000);                     //jeda 50ms antara setiap pembacaan
}

Cara menggunakan:

Kamu akan melihat secara realtime berapa suhu dan kelembaban pada layar LCD. Apabila tidak terlihat coba atur knob potensiometer untuk merubah kontras dari tulisan pada layar LCD.


0 comments:

Posting Komentar