DHT11温湿度传感器

2023-05-16

1、封装信息

2、DHT11通讯总介

❶微处理器与DHT 11之间的通讯和同步, 采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分。一次完整的数据传输为40bit, 高位先出。

❷数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和

❸数据传送正确时, 校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。

3、DHT11唤醒工作和睡眠

❶DHT 11在没有主机唤醒的时候处于低功耗模式。

❷当需要使用的时候, MCU发送一次开始信号, DHT 11从低功耗模式转换到高速模式, 等待主机开始信号结束后, DHT 11发送响应信号, 送出40bit的数据, 并触发一次信号采集。

❸如果没有接收到主机发送开始信号, DHT 11不会主动进行温湿度采集.采集数据后转换到低速模式。

4、DHT11通讯过程

❶总线在空闲的时候为高电平

❷主机把总线拉低等待DHT 11的响应。拉低的时间必须大于18毫秒, 保证DHT 11能检测到起始信号。

❸DHT 11接收到主机的开始信号后, 等待主机开始信号结束,然后发送80us低电平响应信号。

❹主机发送开始信号结束后, 延时等待20-40us后, 读取DHT 11的响应信号。(主机发送开始信号后,可以切换到输入模式,或者输出高电平均可)

❺当最后一bit数据传送完毕后, DHT 11拉低总线50us, 随后总线由上拉电阻拉高进入空闲状态。

5、DHT11通讯时序图

❶总时序图

❷主机呼叫和DHT11回应

❸信号0表示方式

❸信号1表示方式

6、参考代码


 void COM(void)
      {    
         U8 i;
       for(i=0;i<8;i++)    
     {
         U8FLAG=2;
    //----------------------
          P2_1=0 ; //T
          P2_1=1 ; //T
     //---------------------- 
    while((!P2_0)&&U8FLAG++);
    Delay_10us();
    Delay_10us();
   // Delay_10us();
      U8temp=0;
      if(P2_0)U8temp=1;
      U8FLAG=2;
   while((P2_0)&&U8FLAG++);
   
     //----------------------
           P2_1=0 ; //T
           P2_1=1 ; //T
    //----------------------
    //超时则跳出for循环    
    if(U8FLAG==1)break;
    //判断数据位是0还是1 
   // 如果高电平高过预定0高电平值则数据位为 1     
     U8comdata<<=1;
        U8comdata|=U8temp;        //0
      }//rof
    
}








void RH(void)
{
   //主机拉低18ms 
       P2_0=0;
    Delay(180);
    P2_0=1;
//总线由上拉电阻拉高 主机延时20us
    Delay_10us();
    Delay_10us();
    Delay_10us();
    Delay_10us();
//主机设为输入 判断从机响应信号 
    P2_0=1;
//判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行   
    if(!P2_0)   //T !   
    {
    U8FLAG=2;
//判断从机是否发出 80us 的低电平响应信号是否结束 
    while((!P2_0)&&U8FLAG++);
    U8FLAG=2;
//判断从机是否发出 80us 的高电平,如发出则进入数据接收状态
    while((P2_0)&&U8FLAG++);
//数据接收状态   
    COM();
    U8RH_data_H_temp=U8comdata;
    COM();
    U8RH_data_L_temp=U8comdata;
    COM();
    U8T_data_H_temp=U8comdata;
    COM();
    U8T_data_L_temp=U8comdata;
    COM();
    U8checkdata_temp=U8comdata;
    P2_0=1;
//数据校验 
    U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp);
    if(U8temp==U8checkdata_temp)
    {
       U8RH_data_H=U8RH_data_H_temp;
       U8RH_data_L=U8RH_data_L_temp;
    U8T_data_H=U8T_data_H_temp;
       U8T_data_L=U8T_data_L_temp;
       U8checkdata=U8checkdata_temp;
    }//fi
    }//fi  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DHT11温湿度传感器 的相关文章

  • dht11温湿度传感器_DHT11及DHT21温湿度传感器时序图解析(STM32)

    DHT11和DHT21是学习单总线通信中常见的传感器 xff0c 在毕业设计中也常常用来测量环境的温湿度数据 下面对DHT11和DHT21进行简单的对比 xff1a DHT11 xff1a 测量范围 xff1a 20 90 RH 0 50
  • dht11温湿度传感器_DHT22 温湿度传感器接线图及工作原理

    点击上面 智联开发arduino 订阅 问 xff1a 如何每次都能免费收到这种好文章呢 xff1f 答 xff1a 只需点击上面 智联开发arduino 关注即可 xfeff xfeff xfeff xfeff xfeff xfeff x
  • 16. STM32——测量空气的温度和湿度(STM32 + DHT11温湿度 + OLED显示)

    STM32 测量空气的温度和湿度 xff08 STM32 43 DHT11温湿度 43 OLED显示 xff09 DHT11温湿度相关介绍初始化GPIOB11启动DHT11获取一个字节获取数据代码整合DHT11 hDHT11 coled h
  • linux温湿度传感器SHTC3驱动开发

    开发环境为Ubuntu16 04LTS 43 vscode xff0c 使用了正点原子IMX6ULL开发板 xff0c 板子上运行的是正点原子的出厂系统 参考了这篇文章 温湿度传感器SHTC3驱动开发 xff08 一 xff09 小白也能轻
  • DHT11 温湿度传感器

    文章目录 产品概述 产品概述 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器 xff0c 应用领域 xff1a 暖通空调 xff1b 汽车 xff1b 消费品 xff1b 气象站 xff1b 湿度调节器 xff1b
  • DHT11温湿度传感器

    1 封装信息 2 DHT11通讯总介 微处理器与DHT 11之间的通讯和同步 xff0c 采用单总线数据格式 xff0c 一次通讯时间4ms左右 xff0c 数据分小数部分和整数部分 一次完整的数据传输为40bit xff0c 高位先出 数
  • dht11 新手原理详解(附代码)

    dht11详解 dht11原理 简介 DHT11作为一款低价 入门级的温湿度传感器 xff0c 常用于我们的单片机设计实例中 它应用专用的数字模块采集技术和温湿度传感技术 xff0c 确保产品具有极高的可靠性与卓越的长期稳定性 传感器包括一
  • DHT12温湿度传感器IIC,I2C接口调试心得和代码说明

    来源 xff1a http www fuhome net bbs forum php mod 61 viewthread amp tid 61 2141 DHT11那个单总线的温湿度传感器用的很多了 xff0c aosong推出了DHT12
  • stm32连接DHT11温湿度传感器

    目录 1 DHT11简介 1 1 连接电路 1 2 串行接口 单线双向 2 cubeMX设置 3 代码开发 3 1 实现定时函数 3 2 打开串口调试 3 4 测试代码实现 4 运行效果 1 DHT11简介 1 1 连接电路 信息如下 xf
  • STM32+ESP8266+机智云+DHT11数据上传

    机智云 文章目录 机智云前言一 工程的修改二 数据的上传1 标识符2 数据处理3 数据上传 三 app控制 前言 今天搞了一下机智云 xff0c 就想把温湿度发到app上去 xff0c 然后能够控制灯的开关 之前从来没有用过这个玩意 xff
  • AM2322温湿度传感器(地址0XB8)---I2C总结(I2C_ModBus协议)

  • 基于STM32F030驱动SHT10温湿度传感器

    目的 了解温湿度传感器SHT10的驱动原理 xff0c 通过配置 STM32F030 的GPIO来采集温湿度传感器的温度 湿度和露点的 值 原理 SHT1x 包括 SHT10 SHT11 和 SHT15 属于Sensirion温湿度传感器家
  • Arduino读取DHT11的温湿度显示在基于I2C的1602上

    背景摘要 又到了周末 xff0c B站的番还未更新 闲来无事 xff0c 搞搞吃灰已久的Arduino 南方的冬天真冷啊 xff0c 测测屋子里的温湿度怎么样 xff01 为了测量屋子里的温湿度 xff0c 就用简单大方的Arduino x
  • 12.RTT-IIC设备-AHT10温湿度传感器

    本系列博客更新结束啦 xff01 完结啦 xff01 xff01 xff01 撒花 xff01 xff01 xff01 关于RTT的设备和驱动专题更新完毕啦 xff0c 本期是最后一期 一段学习旅途的结束意味着下一段学习冒险的开始 虽然本系
  • RTduino+sht31温湿度传感器

    本次博客使用的是STM32F103C8T6 xff0c 因为该BSP已经对接好RTduino了可以直接上手使用 一 RTduino简介 RTduino是RT Thread实时操作系统的Arduino生态兼容层 xff0c 为RT Threa
  • 【STM32】DHT11温湿度模块传感器详解&代码

    一 DHT11产品介绍 DHT11是数字温湿度传感器 测量范围 湿度20 95 温度0 50 广泛应用于加湿器 温湿度计 空调 汽车等领域 二 典型应用电路 如上图DATA引脚用于MCU与DHT11之间的通讯和同步 采用单总线数据格式 一次
  • 【传感器课程设计——DHT11温湿度数据上传阿里云】课程设计论文大纲

    1 摘要 摘要可以分为中文和英文两部分 2 概述 2 1 课程设计背景 2 2 国内外研究现状 2 3 报告组织形式 3 系统设计 3 1 设计目标 3 2 设计方案 3 3 设计方案分析 3 4 程序结构 4 硬件设计 4 1 ESP82
  • ESP8266开发板+mysql数据库+DHT11

    wemos D1 wifi ESP8266开发板连接mysql wemos D1 wifi ESP8266开发板是一款基于esp8266的开发板 使用这个开发板可以很方便的连接wifi 同时这个开发板有很多IO口供我们使用 这个开发板的可以
  • ESP8266基础开发(一)---读DHT11温湿度传感器

    注 对于ESP8266开源技术感兴趣的可以加群 我们一起探索交流学习 群号 579932824 群名 ESP8266开源技术交流群 这篇文章的目的是展示如何将DHT11传感器连接到ESP8266并编写一个简单的程序来测量温度和湿度 我们假设
  • 为什么选择SoilVUE10 土壤湿度和温度剖面传感器

    几十年来 时域反射仪 TDR 一直是测量土壤含水量的主要方法之一 简单地说 电磁脉冲是沿着棒 或波导 发送的 这些脉冲在沿波导的不同点被反射 在从电缆到波导的过渡处以及在波导的末端处反射最为强烈 然后记录脉冲的传播时间 脉冲传播时间的测量受

随机推荐

  • VMware清理vmdk文件,解决vmdk越来越大的问题

    目录 压缩 vmdk方法在虚拟机上操作在主机上操作 参考链接 问题 xff1a 主机是Windwos xff0c 安装了VMWare 在VMWare中安装了虚拟机Ubuntu操作系统 Ubuntu本身不大 xff0c 但是 vmdk很大 网
  • 安全-认证授权、数据脱敏

    一 认证授权 JWT xff1a JWT xff08 JSON Web Token xff09 是一种身份认证的方式 xff0c JWT 本质上就一段签名的 JSON 格式的数据 由于它是带有签名的 xff0c 因此接收者便可以验证它的真实
  • 树莓派4b 串口通信实现自发自收

    1 树莓派串口映射设置 运行以下命令 xff1a ls dev al 出现串口映射的情况 xff0c 但是此时是在默认状态下 xff0c serial0 就是GPIO14 15 是映射到ttyS0的 xff0c serial1 xff08
  • 按要求编写一个Java应用程序程序: (1)定义一个接口CanFly,描述会飞的方法public void fly(); (2)分别定义类飞机和鸟,实现CanFly接

    代码 第三题 xff1a 按要求编写一个Java应用程序程序 xff1a xff08 1 xff09 定义一个接口CanFly xff0c 描述会飞的方法public void fly xff08 2 xff09 分别定义类飞机和鸟 xff
  • plc热电偶模块模拟量数据波动原因

    要找到模拟数据波动的根本原因 可能是以下原因 您可能使用了自供电或隔离的传感器电源 xff0c 并且两个电源没有相互连接 xff0c 即模拟输入模块的电源接地和传感器的信号接地没有连接 这会产生上下振动的高共模电压 xff0c 从而影响模拟
  • C #Winform窗体自适应

    说明 xff1a Winform让窗体内的控件随着窗体的大小而改变 xff0c 而且能让指定的控件始终处于居中位置 封装成类 xff0c 直接拷贝过去即可 一 类源码如下 xff1a using System using System Co
  • Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)解决方案

    docker service Docker Application Container Engine Loaded loaded usr lib systemd system docker service enabled vendor pr
  • emWin - Movie篇

    STemWin版本 xff1a 544 xff08 ST购买了emWin的license xff0c 可以在ST芯片中使用emWin工具包 xff0c 就叫STemWin xff09 emWin开发工具包可以转换JPG BMP GIF等各种
  • 大规模集群故障处理

    我相信每一个集群管理员 xff0c 在长期管理多个不同体量及应用场景的集群后 xff0c 都会多少产生情绪 其实这在我看来 xff0c 是一个很微妙的事 xff0c 即大家也已经开始人性化的看待每一个集群了 既然是人性化的管理集群 xff0
  • ADRC调试经验(已调通)

    自抗扰控制的组成 有关自抗扰的相关内容 xff0c 韩老师在他的一系列论文中已经描绘的非常清晰了 xff0c 具体资料可以点击这里下载 其中对于TD和ESO这两个部分其实是比较好调节的 xff0c 很容易就能够获得很好的效果 比较难调节的参
  • 浏览器的同源策略

    https developer mozilla org zh CN docs Web Security Same origin policy 这篇翻译不完整 请帮忙从英语翻译这篇文章 同源策略限制了从同一个源加载的文档或脚本如何与来自另一个
  • centos简单解决报错-bash 未找到命令

    centos报错 bash 未找到命令 在使用纯净镜像的时候 经常找不到一些额外的命令 想用但是不知道怎么安装 拿telnet 和netstat 举例 telnet yum provides telnet 这里只需要 yum y span
  • [问题已处理]-docker build出来的镜像没有更新成功

    导语 xff1a 记录一下docker build镜像的坑 如果修改代码文件的话 xff0c docker build 有时候会不替换文件 xff0c 而会使用cache xff0c 导致代码文件没有更新 第一次构建镜像 产生了cache
  • [问题已处理]在docker中使用nohup

    导语 xff1a docker运行容器是否能使用nohup 以下是测试在不同的情况下使用nohup 先启动一个容器 仅看进程的pid号参考 docker run it rm ubuntu 16 04 bash sleep 5 amp amp
  • k8s-集群搭建的三种方式和区别,kubeadm、minikube,二进制包

    k8s 集群搭建的三种方式 xff0c 目前主流的搭建k8s集群的方式有kubeadm minikube xff0c 二进制包 kubeadm 是一个工具 xff0c 用于快速搭建kubernetes集群 xff0c 目前应该是比较方便和推
  • 精确算法、启发式算法、元启发式算法及增长方式浅析

    组合优化问题是通过用数学方法的研究去寻找离散事件的最优编排 分组 次序或筛选等 xff0c 其变量是离散分布的 对于结构化的组合优化问题 xff0c 其解空间的规模能够得到控制 xff0c 对于这样的问题 xff0c 使用精确算法就可以求得
  • 重构一个快不可维护的项目

    历史原因 xff0c 接手了一个一直堆业务逻辑 xff0c 没有重构过的项目 xff0c 简单看了一下代码就感觉麻头皮 xff0c 满目都是一个方法里面大段的代码 xff0c 阅读起来极度困难 可以合并的类没有合并 xff0c 导致一个请求
  • 芯片端子的多路复用

    嵌入式软件的开发 xff0c 经常要和芯片打交道 xff0c 和个人电脑的通用平台的CPU使用X86或X64架构不同 xff0c 嵌入式电子产品使用的主控芯片是各种各样的 xff0c 从8051单片机 xff0c 到ARM Cortex M
  • 树莓派学习笔记——获取树莓派CPU温度

    0 前言 本文通过文件操作读取树莓派CPU温度 xff0c 在linux系统中任何设备的操作都被抽象成为文件读写 xff0c 通过读取 sys class thermal thermal zone0 temp文件中的内容便获得树莓派CPU的
  • DHT11温湿度传感器

    1 封装信息 2 DHT11通讯总介 微处理器与DHT 11之间的通讯和同步 xff0c 采用单总线数据格式 xff0c 一次通讯时间4ms左右 xff0c 数据分小数部分和整数部分 一次完整的数据传输为40bit xff0c 高位先出 数