zoukankan      html  css  js  c++  java
  • Arduino系列之DHT11模块采集数据(一)

    下面我将介绍DHT11模块的相关用法

    DHT11数字传感器概述:是一款含有已校准数字信号输出的温湿度复合传感器 。它应用专用的数字模块采集技术和温湿度传感技术 ,确保产品具有极 高的可靠性与卓越的长期稳定性。

    技术参数

      供电电压: 3.3~5.5V DC

      输 出: 单总线数字信号

      测量范围: 湿度20-90%RH, 温度0~50℃

      测量精度: 湿度+-5%RH, 温度+-2℃

      分 辨 率: 湿度1%RH, 温度1℃

      互 换 性: 可完全互换 ,

      长期稳定性: <±1%RH/年

    串行接口(单线双向)

    DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次

    通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数

    部分用于以后扩展,现读出为零.操作流程如下:

    一次完整的数据传输为40bit,高位先出。

    数据格式:8bit湿度整数数据

    +8bit湿度小数数据

    +8bi温度整数数据+8bit温度小数数据+8bit校验和

    数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据

    +8bi温度整数数据+8bit温度小数数据”所得结果的末8位。

    用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主

    机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,

    用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,

    如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后

    转换到低速模式。

    接线:

       DHT11接数字口2.
    arduino 5v和GND分别接到面包板上的+,-两极。
    下载dht11库文件:http://pan.baidu.com/s/1ntv9QA1
    将dht11压缩文件解压到arduino安装文件夹的libraryies中。
     
    源码如下:

    #include <dht11.h>                                               //引用dht11库文件,使得下面可以调用相关参数
    #define DHT11PIN 2                                             //定义温湿度针脚号为2号引脚
    dht11 DHT11;                                                       //实例化一个对象

    void setup() {                                                       //设置

    Serial.begin(9600);                                            //设置波特率参数
    pinMode(DHT11PIN,OUTPUT);                       //定义输出口
    }

    void loop() {                                                    //循环
    int chk = DHT11.read(DHT11PIN);                 //将读取到的值赋给chk

    int tem=(float)DHT11.temperature;               //将温度值赋值给tem
    int hum=(float)DHT11.humidity;                   //将湿度值赋给hum
    Serial.print("Tempeature:");                        //打印出Tempeature:
    Serial.println(tem);                                     //打印温度结果

    Serial.print("Humidity:");                            //打印出Humidity:
    Serial.print(hum);                                     //打印出湿度结果
    Serial.println("%");                                  //打印出%

    delay(1000);                                          //延时一段时间

    }

  • 相关阅读:
    汇编学习--第十天
    linux(03)基础系统优化
    linux(02)基础shell命令
    lf 前后端分离 (6) 支付
    lf 前后端分离 (5) 优惠券
    lf 前后端分离 (4) 价格策略
    lf 前后端分离 (3) 中间建跨域
    lf 前后端分离 (2) 课程数据获取,Serializer的返回
    lf 前后端分离 (1) auth,token认证
    支付宝接口调用总结(1)
  • 原文地址:https://www.cnblogs.com/fqhy/p/7978763.html
Copyright © 2011-2022 走看看