DHT11

1. 实验要求

a. 对温度湿度的测量

b. 通过串口将温度、湿度输出

c. 设置温度的阈值,通过按键进行设置

d. 当温度超过了阈值,LED灯常亮,蜂鸣器报警

e. 按键控制串口输出当前的信息

2. 接口设计

由参考资料可知:《DHT11中文资料 ----- C语言例程》

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

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

                  + 8bit 温度整数数据 + 8bit 温度小数数据

                  + 8bit 校验和

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

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

(2) 原理图



(3) DHT11温湿度获取流程

GPIO:通信规则

1. 起始信号
	    STM32 通过DATA 输出高->低电平 持续时间>18ms

2. 等待响应
        STM32 先将引脚电平拉高 DATA切换输入模式,延时20-40us 读取引脚上的电平状态,
        如果引脚电平为低电平则DHT11响应

3. 响应信号
	    DHT11收到启动信号,发送80us的低电平响应信号

4. 准备输出
        DHT11会将DATA拉高 80us的时间

5. 温湿度数据发送 40bit  高位先发
	    湿度整数最开始的8bit
	    0:50us低电平 26-28us高电平
	    1:50us低电平 70us高电平

6. 结束输出 
	    DATA引脚由MCU拉高

3. 代码实现
 

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值