Temperature and Humidity Sensor

From LinkSprite Playgound
Revision as of 09:40, 19 April 2016 by Alvin (talk | contribs) (Created page with "== Introduction == This is a powerful sister version of our Linker kit - Temperature and Humidity Sensor. It has more complete and accurate performance. The detecting range o...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introduction

This is a powerful sister version of our Linker kit - Temperature and Humidity Sensor. It has more complete and accurate performance. The detecting range of this sensor is 5% RH - 99% RH, and -40°C - 80°C. And its accuracy satisfyingly reaches up to 2% RH and 0.5°C. A professional choice for applications that have relatively strict requirements.

1-214.jpg

1-215.jpg


Specification

1-209.jpg

Platforms Supported

  • Arduino
  • Raspberry Pi

Test

Test tools and test

(1)Test tools

  • Arduino UNO x 1 
  • Linker Base Shield x 1
  • Linker temperature & humidity sensor x1

1-210.png

(2)、Program

 #include <DHT22.h>
 // Only used for sprintf
 #include <stdio.h>
 // Data wire is plugged into port 7 on the Arduino
 // Connect a 4.7K resistor between VCC and the data pin (strong pullup)
 #define DHT22_PIN 7
 // Setup a DHT22 instance
 DHT22 myDHT22(DHT22_PIN);
 void setup(void)
{

  // start serial port   Serial.begin(9600);   Serial.println("DHT22 Library Demo");

 }
 void loop(void)
 { 

  DHT22_ERROR_t errorCode;

  // The sensor can only be read from every 1-2s, and requires a minimum   // 2s warm-up after power-on.   delay(2000);

  Serial.print("Requesting data...");   errorCode = myDHT22.readData();   switch(errorCode)   {     case DHT_ERROR_NONE:       Serial.print("Got Data ");       Serial.print(myDHT22.getTemperatureC());       Serial.print("C ");       Serial.print(myDHT22.getHumidity());       Serial.println("%");       // Alternately, with integer formatting which is clumsier but more compact to store and       // can be compared reliably for equality:       //             char buf[128];       sprintf(buf, "Integer-only reading: Temperature %hi.%01hi C, Humidity %i.%01i %% RH",                    myDHT22.getTemperatureCInt()/10, abs(myDHT22.getTemperatureCInt()%10),                    myDHT22.getHumidityInt()/10, myDHT22.getHumidityInt()%10);       Serial.println(buf);       break;     case DHT_ERROR_CHECKSUM:       Serial.print("check sum error ");       Serial.print(myDHT22.getTemperatureC());       Serial.print("C ");       Serial.print(myDHT22.getHumidity());       Serial.println("%");       break;     case DHT_BUS_HUNG:       Serial.println("BUS Hung ");       break;     case DHT_ERROR_NOT_PRESENT:       Serial.println("Not Present ");       break;     case DHT_ERROR_ACK_TOO_LONG:       Serial.println("ACK time out ");       break;     case DHT_ERROR_SYNC_TIMEOUT:       Serial.println("Sync Timeout ");       break;     case DHT_ERROR_DATA_TIMEOUT:       Serial.println("Data Timeout ");       break;     case DHT_ERROR_TOOQUICK:       Serial.println("Polled to quick ");       break;    }

(3)Test Results

1-211.png

Documents

Test code download