Difference between revisions of "Matrix - Temperature and Humidity Sensor"

From FriendlyELEC WiKi
Jump to: navigation, search
(Features)
(使用方法)
Line 11: Line 11:
 
* 2.54 mm spacing pin
 
* 2.54 mm spacing pin
  
==使用方法==
+
==How To==
===连接===
+
===Connection===
*连接到Tiny4412 SDK (1506)
+
*Connect Tiny4412 SDK (1506)
::GND针脚:   接地
+
::GND: Ground
::VCC:  接5V
+
::VCC:  5V
::S针脚:接GPIO PIN1, 必须使用中断引脚,可用引脚(1、2、3、4、9、10)
+
::S:    GPIO PIN1, 必须使用中断引脚,可用引脚(1、2、3、4、9、10)
  
===Linux下的C示例===
+
===Code Sample in C Under Linux===
 
<syntaxhighlight lang="c">
 
<syntaxhighlight lang="c">
 
#include <stdio.h>
 
#include <stdio.h>
Line 89: Line 89:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===编译并运行示例===
+
===Compile and Run===
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
git clone http://github.com/friendlyarm/fa-hardware.git
 
git clone http://github.com/friendlyarm/fa-hardware.git
Line 97: Line 97:
 
make
 
make
 
</syntaxhighlight>
 
</syntaxhighlight>
将编译生成的dht11通过ftp上传到开发板上运行即可测试。
+
Copy your compiled bin to your board and you are ready to go.
  
 
==相关资料==
 
==相关资料==

Revision as of 08:51, 5 August 2015

查看中文

1 Introduction

Temperature and Humidity Sensor

This module utilizes the DHT11 temperature and humidity sensor. The DHT11 sensor's relative humidity range is 20%-80% ±5% and its temperature range is 0℃-50℃ ±2℃. DHT11 uses a single bus communication which needs only one data line. Its DATA line is used for communication and synchronization between the microprocessor and DHT11. Its data format consists of the 8bit humidity integer data and 8bit the Humidity decimal data, and 8 bit temperature integer data and 8bit fractional temperature data and 8 bit parity bit. Its application of a dedicated digital modules collection technology and the temperature and humidity sensing technology, to ensure that the product has high reliability, excellent long-term stability, low cost and long distance (up to 20 meters) signal transmission. We simplified the DHT11's 4-pin to 3-pin.

2 Features

  • Humidity range: 20-80%RH, temperature range: 0~50℃
  • Humidity accuracy:±5%RH, temperature accuracy: ±2℃
  • 一线协议
  • 2.54 mm spacing pin

3 How To

3.1 Connection

  • Connect Tiny4412 SDK (1506)
GND: Ground
VCC: 5V
S: GPIO PIN1, 必须使用中断引脚,可用引脚(1、2、3、4、9、10)

3.2 Code Sample in C Under Linux

#include <stdio.h>
#include <stdlib.h>
#include "libfahw.h"
 
void parseCmd(int argc, char **argv, int *pin)
{
    int num = atoi(argv[1]);
    switch(num) {
    case 1:
        *pin = TINY4412_GPIO_PIN1;
        break;
    case 2:
        *pin = TINY4412_GPIO_PIN2;
        break;
    case 3:
        *pin = TINY4412_GPIO_PIN3;
        break;
    case 4:
        *pin = TINY4412_GPIO_PIN4;
        break;
    case 9:
        *pin = TINY4412_GPIO_PIN9;
        break;
    case 10:
        *pin = TINY4412_GPIO_PIN10;
        break;
    default:
        printf("Unsupported pin TINY4412_GPIO_PIN%d\n", num);
        num = 1;
        *pin = TINY4412_GPIO_PIN1;
    }
    printf("Using pin TINY4412_GPIO_PIN%d\n", num);
}
 
int main(int argc, char ** argv)
{
    int ret = -1;
    int dhtTemp = 0;
    int dhtHdty = 0;
    int devFD = -1;
    int pin = TINY4412_GPIO_PIN1;
 
    if (argc == 2) {
        parseCmd(argc, argv, &pin);
    } else {
        printf("Using default pin TINY4412_GPIO_PIN1\n");
    }
    if ((devFD = dht11Init(pin)) == -1) {
        printf("Fail to init dht11\n");
        return -1;
    }
 
    if ((ret = dht11Read(DHT_HUMIDITY, &dhtHdty)) != -1) {
        printf("Get humidity : %d\n", dhtHdty);
    } else {
        printf("Faided to get humidity\n");
    }
 
    if ((ret = dht11Read(DHT_TEMP, &dhtTemp)) != -1) {
        printf("Get temperature : %d\n", dhtTemp);
    } else {
        printf("Faided to get temperature\n");
    }
 
    dht11DeInit(devFD);
    return ret;
}

3.3 Compile and Run

git clone http://github.com/friendlyarm/fa-hardware.git
cd fa-hardware
cd demo
cd matrix-temperature_and_humidity_sensor
make

Copy your compiled bin to your board and you are ready to go.

4 相关资料