Sensor kelembaban adalah suatu
alat ukur yang digunakan untuk membantu dalam
proses pengukuran atau pendefinisian yang suatu
kelembaban uap air yang terkandung dalam udara.
Jenis - jenis sensor kelembaban diantaranya
Cspacitive Sensors, Electrical conductivity Sensors,
Thermal Conductivity Sensors, Optical Hygrometer,
dan Oscillating Hygrometer.
Sensor suhu adalah alat
yang digunakan untuk mengubah besaran panas menjadi besaran listrik yang dapat
dengan mudah dianalisis besarnya. Ada beberapa metode yang digunakan untuk
membuat sensor ini, salah satunya dengan cara menggunakan
material yang berubah hambatannya terhadap arus listrik sesuai dengan suhunya.
Arduino adalah
pengendali mikro single-board yang bersifat open-source, diturunkan dari Wiring
platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai
bidang. Hardwarenya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa
pemrograman sendiri.
Sensor suhu dan kelembaban DHT11 merupakan sensor untuk
mensensing objek suhu dan kelembaban pada 1 module yang dimana memiliki output
sinyal digital yang sudah terkalibrasi.
Module sensor ini tergolong kedalam
elemen resistif seperti perangkat pengukur suhu seperti contohnya yaitu
NTC.
Keunggulan dari sensor DHT11 dibanding
dengan yang lainnya antara lain memiliki kualitas pembacaan data sensing yang
sangat baik, responsif (cepat dalam pembacaan kondisi ruangan),
serta tidak mudah terinterverensi.
Spesifikasi
:
·
Tegangan masukan : 5 Vdc
·
Rentang temperatur :0-50 ° C kesalahan ±
2 ° C
·
Kelembaban :20-90% RH ± 5% RH error
Daftar Komponen:
1. ARDUINO 1 buah
2. DHT11 1 buah
3. LCD Character 1 buah
4. Resistor 4K7 1 buah
5. Potensio 10K 1 buah
Kode:
#include <LiquidCrystal.h>
LiquidCrystal lcd(4, 5, 0, 1, 2, 3);
byte degree_symbol[8] =
{
0b00111,
0b00101,
0b00111,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};
int gate=11;
volatile unsigned long duration=0;
unsigned char i[5];
unsigned int j[40];
unsigned char value=0;
unsigned answer=0;
int z=0;
int b=1;
void setup()
{
lcd.begin(16, 2);
lcd.print("Temp = ");
lcd.setCursor(0,1);
lcd.print("Humidity = ");
lcd.createChar(1, degree_symbol);
lcd.setCursor(9,0);
lcd.write(1);
lcd.print("C");
lcd.setCursor(13,1);
lcd.print("%");
}
void loop()
{
delay(1000);
while(1)
{
delay(1000);
pinMode(gate,OUTPUT);
digitalWrite(gate,LOW);
delay(20);
digitalWrite(gate,HIGH);
pinMode(gate,INPUT_PULLUP);//by default it will become high due to internal pull up
// delayMicroseconds(40);
duration=pulseIn(gate, LOW);
if(duration <= 84 && duration >= 72)
{
while(1)
{
duration=pulseIn(gate, HIGH);
if(duration <= 26 && duration >= 20){
value=0;}
else if(duration <= 74 && duration >= 65){
value=1;}
else if(z==40){
break;}
i[z/8]|=value<<(7- (z%8));
j[z]=value;
z++;
}
}
answer=i[0]+i[1]+i[2]+i[3];
if(answer==i[4] && answer!=0)
{
lcd.setCursor(7,0);
lcd.print(i[2]);
lcd.setCursor(11,1);
lcd.print(i[0]);
}
z=0;
i[0]=i[1]=i[2]=i[3]=i[4]=0;
}
}
Berikut Video Tutorial Cara Membuatnya: