DHT11温湿度传感器共有四个引脚

1个VCC高电平,1个GND接地低电平,1个数据输出引脚,一个空引脚

工作时候,通过out引脚可以向传感器传递应答信号并返回40位的温湿度数据,也就是5个字节

前2个字节表示温度的整数位和小数位,后面两个字节是湿度的整数位和小数位,最后一个字节是校验用

1.引脚

  • 4根引脚,名称与功能如下;
  • vdd 供电 3-5.5VDC
  • GND 接地,电源负极
  • DATA 串行数据,单总线
  • NC 空脚

2.温湿度测量范围

3.工作时序阶段图

接受数据通过0101010脉冲,数据进行高低电平的不断发送接收,直至40位数据发送完之后,

数据引脚将长时间处于一个高电平状态

python代码----

#!/usr/bin/python
# -*- coding:utf-8 -*-import RPi.GPIO as GPIO
import timechannel = 7  # 引脚号Pin7
data = []  # 温湿度值
j = 0  # 计数器GPIO.setmode(GPIO.BOARD)  # 以BOARD编码格式time.sleep(1)  # 时延一秒GPIO.setup(channel, GPIO.OUT)GPIO.output(channel, GPIO.LOW)  #输出低电平
time.sleep(0.02)  # 给信号提示传感器开始工作
GPIO.output(channel, GPIO.HIGH)GPIO.setup(channel, GPIO.IN)        #进入输入阶段----放弃总线控制权while GPIO.input(channel) == GPIO.LOW:continuewhile GPIO.input(channel) == GPIO.HIGH:     #跳出本次循环continuewhile j < 40:k = 0while GPIO.input(channel) == GPIO.LOW:continuewhile GPIO.input(channel) == GPIO.HIGH:k += 1if k > 100:break                           #持续信号不变情况则,开始读取数据if k < 8:  # 通过计数的方式判断是数据位高电平长短,以置0或1。(此方式有待商榷)data.append(0)      #append函数 列表末端添加新对象else:data.append(1)j += 1      #直至40位数据传输完毕跳出循环print("sensor is working.")
print(data)  # 输出初始数据高低电平01010101humidity_bit = data[0:8]  # 分组40位就是5个字节分段
humidity_point_bit = data[8:16]
temperature_bit = data[16:24]
temperature_point_bit = data[24:32]
check_bit = data[32:40]humidity = 0    #温湿度初始值
humidity_point = 0
temperature = 0
temperature_point = 0
check = 0for i in range(8):humidity += humidity_bit[i] * 2 ** (7 - i)  # 转换成十进制数据加权-----1X2n次幂humidity_point += humidity_point_bit[i] * 2 ** (7 - i)  #湿度小数位temperature += temperature_bit[i] * 2 ** (7 - i)        #温度整数位temperature_point += temperature_point_bit[i] * 2 ** (7 - i)check += check_bit[i] * 2 ** (7 - i)#最后一位是校验码tmp = humidity + humidity_point + temperature + temperature_point  # 十进制的数据相加if check == tmp:  # 数据校验,相等则输出print("temperature : ", temperature, ", humidity : ", humidity)
else:  # 错误输出错误信息,和校验数据print("wrong")print("temperature : ", temperature, ", humidity : ", humidity, " check : ", check, " tmp : ", tmp)GPIO.cleanup()  # 重置针脚

DHT11温湿度传感器学习相关推荐

  1. DHT11温湿度传感器学习笔记

    一.认识DHT11传感器 1.概念 DHT11 是广州奥松有限公司生产的一款湿温度一体化的数字传感器.该传感器包括一个电阻式测湿元件和一个 NTC 测温元件,并与一个高性能 8 位单片机相连接.通过单 ...

  2. ⑦ ESP8266 开发学习笔记_By_GYC 【ESP8266 驱动 DHT11 温湿度传感器】

    目录 一.准备材料 二.硬件连接 三.软件编程 1.修改工程名 2.添加组件 3.编程 4.反馈结果 5.核心代码 四.总结 ⑦ ESP8266 开发学习笔记_By_GYC [ESP8266 驱动 D ...

  3. 【STM32Cube】学习笔记(六):DHT11温湿度传感器

    文章目录 摘要 一.简介 1.DHT11数字温湿度传感器 2.DHT11性能参数 2.DHT11数据结构 2.DHT11传输时序 二.硬件电路设计 1.模块内部电路 2.与单片机相连接电路 三.软件设 ...

  4. 【STM32 Net MF开发板学习-19】DHT11温湿度传感器通信(上)

    前段时间开发远程医疗系统(Dr.Cloud)就曾用到过温湿度传感器,不过当时考虑到集成难度,选了一个RS485接口的传感器,该传感器实现了Modbus Rtu Slave的功能,只要客户程序实现Mod ...

  5. 【STM32 .Net MF开发板学习-19】DHT11温湿度传感器通信(上)

    前段时间开发远程医疗系统(Dr.Cloud)就曾用到过温湿度传感器,不过当时考虑到集成难度,选了一个RS485接口的传感器,该传感器实现了Modbus Rtu Slave的功能,只要客户程序实现Mod ...

  6. Esp8266 进阶之路19 【外设篇①】esp8266驱动 ds18b20、dht11 温湿度传感器,采集温湿度传感器到服务器。(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  7. ESP32 开发笔记(三)源码示例 8_DHT11_RMT 使用RMT实现读取DHT11温湿度传感器

    开发板购买链接 https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.50111deb2Ij1As&ft=t&id=62636 ...

  8. 传感器自学笔记第八章——DHT11温湿度传感器(附带自己写的很好用的51单片机DHT11代码模板,参数列表只有一个字符数组指针)

    作者:GWD 时间:2019.06.26 DHT11温湿度传感器(单总线类) 一. 学习要点: 1.(重要)单总线类传感器检测高电平while(DHT11 == 1) temp |=0x01;出错,因 ...

  9. 基于STM32的DHT11温湿度传感器设计

    文章目录 前言 一.DHT11温湿度传感器是什么? 二.DHT11驱动程序详解 1.相关宏定义 2.输入输出GPIO配置 2.GPIO初始化设计 3.检测DHT11是否正常工作 4.读取DHT11数据 ...

  10. DHT11温湿度传感器(详细)

    DHT11温湿度传感器--使用LCD1602显示 先上效果图,以及简单的和室内温度对比图,相交而言测量的值还是非常准的. 我的这个做的很简陋,大家可以理解原理后自行升级. 注意学习单片机最重要的就是学 ...

最新文章

  1. 分布式下必备神器之分布式锁
  2. 积跬步以至千里_积跬步以至千里,聚小利终成大户
  3. 全国知名高校网站挂马现象严重 考生面临安全风险
  4. python 跟踪算法
  5. 【学习笔记】13、标准数据类型—元组
  6. Unity 协程深入解析与原理
  7. EditText 双击才能获取点击事件
  8. 创业一定要做自己“喜欢”并且有“优势”的事情
  9. 分析 Python 脚本
  10. python科学计算库-python 科学计算基础库安装
  11. knn——model celectionpreprocessing
  12. Android S 默认WIFi 热点名称
  13. 考研高等数学公式总结(三)
  14. 自己动手编译最新Android源码及SDK(Ubuntu)
  15. 正则改造VS Code里React类组件的自定义snippet
  16. php生成动态笔画字体,怎么制作手写文字的动画效果视频 文字一笔一划写出来的动画效果制作...
  17. word文档中插入公式的技巧--利用表格
  18. StarUML 3.2.2
  19. gets与puts的使用,Str系列字符串的使用
  20. 对比学习知识扩展——一堆奇奇怪怪的loss,快把我压死了orz...

热门文章

  1. RGB-D相机原理与选型
  2. 【AAAA级LED护眼学习台灯照明方案】PWM内部转模拟,调光深度1%,无频闪顾虑,低亮无抖动LED恒流驱动芯片FP7102/FP7103/FP7208/FP7209
  3. java try 性能损耗_Java上的try catch并不影响性能(转)
  4. 资产证券化java开发_资产证券化的作用在于()。 A.提高商业银行资产的流动性 B.增强商业银行关于资产和负...
  5. android 剪贴板增强工具,剪切板增强工具(ClipboardFusion Pro)
  6. 网站服务器域名费用入什么科目,企业域名服务费记什么科目
  7. 【逻辑漏洞】短信轰炸
  8. Java中的回溯算法
  9. 什么是前端框架,当前主流的前端框架
  10. 提高工作效率的5款APP推荐 ,可能第一个你就没用过