SENSOR MENGUKUR SUHU DAN KELEMBABAN UDARA DENGAN SENSOR DHT11 DAN ARDUINO


SENSOR MENGUKUR SUHU DAN KELEMBABAN UDARA DENGAN SENSOR DHT11 DAN ARDUINO



Latar Belakang
Otomatisasi ini diaplikasikan mengukur suhu dan kelembaban udara dengan sensor dht dan arduino yang di jalankan menggunakan bahasa C, Rangkaian ini juga berfungsi untuk mendukung proses kerja alat agar bekerja dengan sebaik mungkin. Pada laporan ini telah dibahas dan dipelajari lebih dalam tentang perancangan sebuah alat elektronik berbasis mikrokontroler yang dikendalikan oleh bahasa pemograman C yang berfungsi mematikan dan menghidupkan Suhu pada suatu ruangan.
DHT11 adalah salah satu sensor yang dapat mengukur dua parameter lingkungan sekaligus, yakni suhu dan kelembaban udara. Dalam sensor ini terdapat sebuah thermistor tipe NTC (Negative Temperature Coefficient) untuk mengukur suhu sebuah sensor kelembaban tipe resisitif dan sebuah mikonkontroler 8 bit 

Studi Literatur
Mereka membuat suatu project untuk mengukur dan kelembaban udara menggunakan Arduino untuk mengecek suatu ruangan jika ruangan ada 5 orang atau kurang suhu akan di kurangkan, jika diruangan lebih dari 5 orang maka suhu akan di naikan

Kelebihan
1. Bisa menggunakan handphone
2.  
Tingkat keakuratan cukup tinggi.
Kekurangan
1. Gampang error
2. Kabel jumper yang digunakan mudah digigit tikus bila modul akan ditanam di tembok.
Diagram Blok Rangkaian
Adapun diagram blok dari sistem yang dirancang adalah seperti yang
diperlihatkan pada gambar dibawah ini.




Perancangan suatu alat yang akan dibuat merupakan suatu tahapan
yang sangat penting dalam membuat suatu program ataupun melanjutkan kelangkah
selanjutnya karena dengan perencanaan tersebut diharapkan mendapatkan hasil yang
baik dan maksimal, dalam perancangan sistem yang penulis buat “Rancang Bangun
Alat Pengukur Kelembaban Udara dan Suhu Pada Laboratorium Volume Dengan
Menggunakan Sensor DHT-11 Berbasis Arduino Uno”.
Fungsi Tiap Blok :
1. Block Supply : Sebagai Sumber Tegangan
2. Blok Sensor DHT-11 : Sebagai penerima suhu dan kelembaban
3. Blok Arduino Uno : Sebagai tempat untuk menghitung perubahan logika yang
diproses berupa hitungan dari suhu dan kelembaban
4. Blok Display LCD : Sebagai tampilan data yang telah diproses
Pada sistem ini DHT-11 akan mendeteksi suhu dan kelembaban berdasarkan perintah
dari Arduion Uno, setelah Arduino Uno mengirimkan perintah kepada DHT-11 maka
Arduino Uno menunggu beberapa saat untuk menerima balasan dari DHT-11.
Setelah data diterima oleh Arduino Uno maka data akan diproses dan kemudian
dikonversikan menjadi derajat celcius untuk suhu dan % untuk kelembaban.Setelah
data dikonversikan oleh Arduino Uno maka LCD akan aktif sebagai display. Setelah
display aktif dan siap menerima data baru setelah itu Arduino Uno mengirimkan data
hasil konversi ke LCD.

Alat
1. Solder : 1 buah
2. Timah : secukupnya
3. Tang Potong : 1 buah
4. Obeng Plus Minus : 1 buah
5. Baut dan Mur : Secukupnya
 Bahan
1. Sensor DHT-11 : 1 buah
2. Arduino Uno : 1 buah
3. Resistor Variabel 10 k : 1 buah
4. Resistor : 2 buah
5. Pin Header 16 pin : 1 buah
6. Kabel Jumper Male Female : secukupnya
7. PCB Cetak : 1 buah
8. Buzzer : 1 buah
9. Protoboard : 1 buah

Codingan
#include "DHT.h"
#define DHTPIN A5 // what digital pin we're connected to
float humidity;
float temp;
// Uncomment whatever type you're using!
//#define DHTTYPE DHT11 // DHT 11
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// Connect pin 1 (on the left) of the sensor to +5V
// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
// Initialize DHT sensor.
// Note that older versions of this library took an optional third parameter to

// tweak the timings for faster processors. This parameter is no longer needed
// as the current DHT reading algorithm adjusts itself to work on faster procs.
// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(2,3,4,5,6,7,8);
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// set up the LCD's number of columns and rows:
pinMode(13,OUTPUT);
Serial.begin(9600);
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.setCursor(0, 0);
lcd.print("PROJEK AKHIR 2");
lcd.setCursor(0, 1);
lcd.print(" HYGROMETER");
delay(3000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" ANDY SINAGA");
lcd.setCursor(0, 1);
lcd.print(" 142411008");
lcd.setCursor(0,0);
lcd.print("METROLOGI & INST");
delay(5000);
lcd.clear();
dht.begin();
}
void loop() {
// Wait a few seconds between measurements.
// delay(2000);
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
humidity=0.0305*h;
temp=0.0390*t;
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
lcd.print("Failed to read from DHT sensor!");
return;
}
// Compute heat index in Fahrenheit (the default)
float hif = dht.computeHeatIndex(f, h);
// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
lcd.setCursor(0, 0);
lcd.print("humidity ");
lcd.print(humidity);
lcd.print("%");
lcd.setCursor(0, 1);
lcd.print("temp ");
lcd.print(temp);
lcd.print(" C");
delay(500);
lcd.clear();
//digitalWrite(12,HIGH);
if(temp>=35)
{
digitalWrite(13,HIGH);
}
delay(5000);
lcd.clear();
dht.begin();
}
void loop() {
// Wait a few seconds between measurements.
// delay(2000);
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
lcd.print("Failed to read from DHT sensor!");
return;
}
lcd.setCursor(0, 0);
lcd.print("humidity ");
lcd.print(h);
lcd.print("%");
lcd.setCursor(0, 1);
lcd.print("temp");
lcd.print(t);
lcd.print("C");
delay(500);
lcd.clear();
//digitalWrite(12,HIGH);
if(temp>35)
{
digitalWrite(13,HIGH);
}
else
{
digitalWrite(13,LOW);
}



Hasil uji coba
1. Dapat mengetahui nilai suhu dan kelembaban udara
2. Sensor akan suhu untuk di dalam ruangan tersebut

Kesimpulan
 Sensor DHT 11 merupakan sensor dengan kalibrasi sinyal digital yang mampu
memberikan informasi suhu dan kelembaban. Sensor ini tergolong komponen
yang memiliki tingkat stabilitas yang baik, serta ditambah dengan kemampuan
mikrokontroler 8 bit seperti Arduino. Koefisien kalibrasi DHT 11 disimpan dalam
OTP program memori, sehingga ketika internal sensor mendeteksi sesuatu, maka
modul ini membaca koefisien sensor.


Komentar