DHT11温湿度传感器

接口定义

在这里插入图片描述

传感器通信

DHT11采用简化的单总线通信。单总线仅有一根数据线(SDA),通信所进行的数据交换、挂在单总线上的所有设备之间进行信号交换与传递均在一条通讯线上实现。
单总线上必须有一个上拉电阻(Rp)以实现单总线闲置时,其处于高电平状态。
在单总线中,微处理器与传感器是主从结构,只有微处理器呼叫传感器时,传感器才会应答。
微处理器访问传感器必须严格遵循单总线时序要求,否则传感器将不响应主机。

  • 使用 3.3V 电压给 DHT11 供电时,建议微处理器与 DHT11 连接线长度不得大于 100cm。否则线路压降会导致对 DHT11 的供电不足,造成测量偏差。
  • 与DHT11通信最小间隔时间为2s,若小于2s可能导致温湿度不准或通信不成功等情况。因此传感器上电后应等待2s再去读取传感器,以避免传感器处于不稳定状态。
  • 每次通信结束DHT11会进行一次温湿度采集然后进入待机状态,因此每次通信读出的温湿度数值位上一次通信时DHT11采集的温湿度数据,故建议使用时隔2s连续两次读取DHT11传感器,以获取当前测量环境实时温度。

单总线传送数据定义

SDA引脚所在线路用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次传送40bits长度数据,高位先传送。

在这里插入图片描述

  • 起始信号:微处理器将单总线SDA拉低一段时间(18~30ms),通知传感器准备数据。
  • 响应信号:传感器将单总线SDA拉低83us,再接高87us以响应主机的起始信号。
  • 湿度信息:湿度高8位为湿度整数部分数据,占用一个字节,湿度低8位为湿度小数部分数据(占用一个字节)。
  • 温度信息:温度高 8 位为温度整数部分数据(占用 1 个字节),温度低 8 位为温度符号及小数部分数据(占用 1 个字节,含最高位 Bit7 符号位,Bit7 为 1 则表示负温度)
  • 校验数据:校验字节=湿度高位+湿度地位+温度高位+温度低位

示例
在这里插入图片描述
校验码:34H + 01H + 18H + 8CH = D9H
将计算得到的校验码D9H与接收到的校验码进行比较,如果相同则表示接收到的湿度信息和温度信息数据正确,否则应舍弃本次通信数据。

湿度与温度的数值可以根据数据结构转换得出。如,湿度高8位(整数)为34H,低8位(小数)为01H,将两部分数值转换为十进制后可以得出52.1,即湿度为52.1%RH。同理可以得出图7中的温度为-24.12℃。此处温度为负值时因为温度数据的低8位的最高位Bit7为1;当最高位Bit7为0时,数值为正值。

单总线通信时序

在这里插入图片描述
每次通信结束DHT11会进行一次温湿度采集然后进入待机状态,因此每次通信读出的温湿度数值为上一次通信时DHT11采集的温湿度数据,故建议隔2s连续2次读取DHT11,以获得当前测量环境实时数据。

外设读取流程

在这里插入图片描述

  1. 在DHT11上电后,需要等待至少2s才完成传感器的初始化。

  2. 传感器接入单总线的微处理器I/O应配置为开漏模式并输出高电平,以保证单总线处于空闲状态(高电平)。

  3. DHT11传感器初始化后执行采样温湿度数据任务结束并自动转入休眠模式。

  4. 此后,DHT11将监测SDA引脚上单总线电平状态变化,以判断是否需要通信。

  5. 发送起始信号是通过微处理器的I/O输出电平,且低电平保持时间不能小于18ms(最大不得超过30ms),然后微处理器的I/O切换为输入(上拉)模式,实现释放单总线。

  6. DHT11等待主机释放单总线后,DHT11控制单总线,输出80us的低电平作为应答信号,随后输出87µs的高电平通知微处理器准备接收数据,完成响应信号传输从而实现DHT11对微处理器的应答。
    在这里插入图片描述

  7. DHT11完成上述应答过程,随后通过SDA引脚控制单总线。

  8. DHT11将从SDA引脚输出40bits长度数据信号至单总线,微处理器通过单总线可接收到40bits长度的数据。

  9. 数据中每个数据位的传输格式:数据位为“0”时,DHT11先输出5058µs的低电平随后输出2327µs的高电平;数据位为“1”时,DHT11首先输出5058µs的低电平随后输出6874µs的高电平。
    在这里插入图片描述

  10. DHT11完成输出40bits长度数据后将继续输出50~85us的低电平然后转为输入状态,不再控制单总线,实现对单总线的释放,本次通信结束。

  11. 通信结束后,DHT11会立即进行一次采样温湿度数据随后自动进入休眠状态。DHT11只有再次收到微处理器发出的起始信号后被唤醒进入单总线通信模式。

  12. 与此同时,微处理器将接收数据按照5.2节方式进行数据校验,如果校验正确则对数据解析得到温湿度值,否则舍弃本次通信接收的数据。

  13. 微处理器本次通信结束后等待至少2s的间隔周期后,可以再次发送起始信号读取DHT11。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/26857.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

burpsuite工具的使用(详细讲解)

一)前言 我已经在之前详细的说明了burpsuite的安装过程,如果不了解的可以看 burpsuite安装教程 :http://t.csdn.cn/uVx9X 在这了补充说明一下,在安装完burpsuite并设置完代理后,会出现如果访问的url是使用http协议的…

【建议收藏】自动化测试框架开发教程

在自动化测试项目中,为了实现更多功能,我们需要引入不同的库、框架。 首先,你需要将常用的这些库、框架都装上。 pip install requests pip install selenium pip install appium pip install pytest pip install pytest-rerunfailures pip …

网络安全面试题大全(整理版)500+面试题附答案详解,最全面详细

前言 随着国家政策的扶持,网络安全行业也越来越为大众所熟知,想要进入到网络安全行业的人也越来越多。 为了拿到心仪的Offer之外,除了学好网络安全知识以外,还要应对好企业的面试。 作为一个安全老鸟,工作这么多年&…

PHY6230国产蓝牙BLE5.2 2.4G SoC低成本遥控灯控芯片

PHY6230是高性价比低功耗高性能Bluetooth LE 5.2系统级芯片,集成32-bit高性能低功耗MCU,16KB OTP,8KB Retention SRAM和64KB ROM,可选EEPROM,适用多种PC/手机外设连接、遥控、灯控等场景。 特点: 高性能多…

3年经验面试20K+测试岗,看到这样的面试题我懵了....

我要跳槽!我是着急忙慌的准备简历——3年软件测试经验,可独立测试大型产品项目,熟悉项目测试流程...薪资要求?3年测试经验起码能要个20K吧 我加班肝了一页半简历,投出去一周,面试电话倒是不少,…

【云原生】Docker的数据卷、数据卷容器,容器互联

1.数据卷(容器与宿主机之间数据共享) 数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数据在宿主机与容器…

B站、抖音上那些4K、60帧视频是如何修复的?

如何把一个不清晰的视频变成高清的视频?今天就来教大家视频画质修复把720p的渣画质变成4K超清画质。 相信对于电影和后期爱好者来说,糊成马赛克的画质一定劝退了无数人,那不妨试试这个 牛学长视频修复工具 牛学长视频修复工具通过高级的AI…

Kubernetes配置管理

1. ConfigMap简介 Kubernetes ConfigMap是一种用于存储应用程序配置信息的对象。在企业中,我们通常会有许多不同的应用程序,每个应用程序都需要一些配置信息,例如数据库连接字符串、API密钥等等。这些配置信息可能会因为环境的不同而有所不同…

5.6.1 Ext JS之标签页的关闭和批零关闭

Tab Panel 是包含多个标签页的面板, 这是一种很常用的组件, 类似于浏览器的标签页。关于 Ext JS的Tab Panel的基本使用可以参考: [Ext JS3.9] 标签面板(TabPanel )介绍与开发, 本篇介绍如何关闭单个标签页和批量关闭标签页。 Tab 标签页的可关闭 默认状况下,标签页是无…

centos7下svnserve方式部署subversion/SVN服务端(实操)

一般来说,subversion服务器可以用两种方式架设: 一种是基于svnserve,svnserve作为服务端; 一种是基于Apache,用apache作为服务端。 这里采用第一种方式部署。 执行如下命令,安装SVN。 yum install sub…

学习Maven Web 应用

Maven Web 应用 本章节我们将学习如何使用版本控制系统 Maven 来管理一个基于 web 的项目,如何创建、构建、部署已经运行一个 web 应用。 创建 Web 应用 我们可以使用 maven-archetype-webapp 插件来创建一个简单的 Java web 应用。 打开命令控制台,…

区块链学习三——比特币的数据结构

区块链学习三——比特币的数据结构 文章内容来源于北京大学肖臻老师《区块链技术与应用》公开课 文章目录 区块链学习三——比特币的数据结构 一、哈希指针(hash pointers)二、区块链三、Merkle tree1.Merkle tree的作用:Merkle Proof2.Proo…

【图】单源最短路径

最短路径 图上的最短路径:两顶点之间经过的边数最少的路径; 网上的最短路径:两顶点之间经过的边上权值之和最少的路径(源点->终点)。 a星算法、迪杰斯特拉算法、佛洛依德算法。 迪杰斯特拉算法 单源最短路径按…

java SSM 互助旅游管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 互助旅游管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采…

【C++ 基础篇:21】:friend 友元四连问:什么是友元?友元类?友元函数?什么时候用友元?

本系列 C 相关文章 仅为笔者学习笔记记录,用自己的理解记录学习!C 学习系列将分为三个阶段:基础篇、STL 篇、高阶数据结构与算法篇,相关重点内容如下: 基础篇:类与对象(涉及C的三大特性等&#…

运筹说 第25期 | 对偶理论经典例题讲解

对偶理论是研究线性规划中原始问题与对偶问题之间关系的理论,主要研究经济学中的相互确定关系,涉及到经济学的诸多方面。产出与成本的对偶、效用与支出的对偶,是经济学中典型的对偶关系。 对偶理论中最有力的武器是影子价格,影子…

android

1.(单选题4.0分)在使用输入框EditText控件时,当其文本内容为空的时候,做出一些提示,那么使用的属性是 () 。 A. android:background B.android:inputType C. android:hint D.android:text 我的答案:C正确答案:C 4.0分 2.(单选题,4.0分)下列哪…

锐捷AC的部署实例

进行锐捷AC部署时,遇到了一些问题,遂记录下来,如若大家在项目过程中遇到类似问题可以对照解决。 写在前面(锐捷AC的基础配置) ac-controller //配置AC的capwap源地址信息,国家码等…

基于JavaWeb的保护动物管理系统设计与实现

摘要:随着全球一些稀有物种、野生动物日益稀少,保护动物已经成为全球多个国家开始重视并投入大量物力着手解决的重要课题。动物是大自然的产物,自然界是由许多复杂的生态系统构成的。有一种植物消失了,以这种植物为食的昆虫就会消…

电脑通过VNC连接树莓派

0. 实验准备 VNC软件 VNC Viewer 或者 MobaXterm(安装包点击即可下载) 可以使用SSH登录进去或者有屏幕的树莓派 一台可以使用的电脑 树莓派和电脑连接在同一个局域网下 0.5 树莓派的公共操作 打开树莓派的 VNC 功能 有屏幕的 打开 VNC 功能&#xff…