docs

a slatepencil documentail site

View on GitHub

DHT11 Humidity detect sensor

hardware

wire

DHT11 Arduino
+ 5v
out 7
- GND
I2C LCD Arduino
GND GND
VCC 5v
SDA A4
SCL A5

code

/********************
* Humidity Detection
*  40 bit data
* 8 humidity int + 8 humidity float + 
* 8 temperature int + 8 temperature float +
* 8 checksum
*********************/
#include <dht.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

dht DHT;

const int DHT11_PIN = 7;

void setup() {
  Serial.begin(9600);
  lcd.init();
  lcd.backlight();
}

void loop() {
D:
  int chk = DHT.read11(DHT11_PIN);
  switch (chk) {
    case DHTLIB_OK:
      Serial.println("OK!");
      break;
    case DHTLIB_ERROR_CHECKSUM:
      Serial.println("Checksum error, \t");
      break;
    case DHTLIB_ERROR_TIMEOUT:
      goto D;
      Serial.println("Time out error, \t");
      break;
    default:
      Serial.println("Unknow erro, \t");
      break;
  }
  lcd.setCursor(0, 0);
  lcd.print("Tem: ");
  Serial.print("Tem: ");
  lcd.print(DHT.temperature, 1);
  Serial.print(DHT.temperature, 1);
  lcd.print(char(223));
  Serial.print(char(223));
  lcd.print("C");
  Serial.println("C");

  lcd.setCursor(0, 1);
  lcd.print("Hum: ");
  Serial.print("Hum: ");
  lcd.print(DHT.humidity, 1);
  Serial.print(DHT.humidity, 1);
  lcd.print("%");
  Serial.println("%");
  delay(1000);
}