Selasa, 02 April 2013

arduino with dht 21 (am 2301)

halo sodara untuk hari ini qta akan bermain dengan sensor suhu dan kelembapan DHT 21(AM2301)...
sensor ini adalah upgrade-an dari dht 11 jadi dia lebih teliti untuk hasil di serial monitornya::
langsung saja menuju bahan yang kita perlukan:

-arduino
-dht 21
-white board
-kabel jumper


dan ini untuk programnya:


#define DHT11_PIN 14      // ADC0
byte read_dht11_dat()
{
 byte i = 0;
 byte result=0;
 for(i=0; i< 8; i++){
   while(!digitalRead(DHT11_PIN));  // wait for 50us
   delayMicroseconds(30);
   if(digitalRead(DHT11_PIN))
     result |=(1<<(7-i));
   while(digitalRead(DHT11_PIN));  // wait '1' finish
 }
 return result;
}
void setup()
{
 pinMode(DHT11_PIN,OUTPUT);
 Serial.begin(9600);
 Serial.println("Ready");
}
void loop()
{
 byte dht11_dat[5];
 byte dht11_in;
 byte i;
 float humdity,temperature;
 // start condition
 // 1. pull-down i/o pin from 18ms
 digitalWrite(DHT11_PIN,LOW);
 delay(18);
 digitalWrite(DHT11_PIN,HIGH);
 delayMicroseconds(40);
 pinMode(DHT11_PIN,INPUT);
 while(digitalRead(DHT11_PIN)){
   Serial.println("dht11 start condition 1 not met");
 }
 delayMicroseconds(80);
 while(!digitalRead(DHT11_PIN)){
   Serial.println("dht11 start condition 2 not met");
 }
 delayMicroseconds(80);
 // now ready for data reception
 for (i=0; i<5; i++)
   dht11_dat[i] = read_dht11_dat();
 pinMode(DHT11_PIN,OUTPUT);
 digitalWrite(DHT11_PIN,HIGH);
 byte dht11_check_sum = dht11_dat[0]+dht11_dat[1]+dht11_dat[2]+dht11_dat[3];
 // check check_sum
 if(dht11_dat[4]!= dht11_check_sum)
 {
   Serial.println("DHT11 checksum error");
 }
 humdity=((float)(dht11_dat[0]*256+dht11_dat[1]))/10;
 temperature=((float)(dht11_dat[2]*256+dht11_dat[3]))/10;
 Serial.print("Current humdity = ");
 Serial.print(humdity,1);
 Serial.print("%  ");
 Serial.print("temperature = ");
 Serial.print(temperature,1);
 Serial.println("C  ");
 delay(2000);
}

setelah anda copy program ini langsung kita menuju perangkaian...




setelah perangkaian selesai silahkan di-upload programnya ke-arduino...

dan ini untuk hasilnya...


dibandingkan dengan hasil dht 11 yang kemaren dht 21 lebih detail.......
oke deh selamat mengembangkan dan salamat mencoba......
GOOD LUCK....!!!!!



Tidak ada komentar:

Posting Komentar