DHT22使用笔记

线上DHT22与DHT11的性能对比:
DHT11:
在这里插入图片描述

DHT22:
在这里插入图片描述

对比可以发现,DHT22在分辨率和精度上都有很大的提升。

同时采样率也变成了每秒2次。
在这里插入图片描述

而且最重要的在于,通讯开始信号仅需要500us,与18us相差了接近20倍!
虽然获取的是上1次的的值,但是如果1秒采样两次,和11的同步性能是一样的。
在这里插入图片描述

由于精度提高,所以数据格式还是有变化的,相比于DHT11只用了整数部分,22的数据是全部用了的,直接是16bit数据,换算成16进制再乘以0.1就是实际的温度值和湿度值。
在这里插入图片描述

这里为了得到和DHT11相同的结果,我舍去小数值,同时复位时间也改成500us,代码如下:

void DHT11_Rst(void)	   
{                 
	DHT11_IO_OUT(); 	//SET OUTPUT
  	DHT11_DQ_OUT=0; 	//拉低DQ
	  delay_us(500);    //拉低至少18ms
 	 DHT11_DQ_OUT=1; 	//DQ=1 
	delay_us(30);     //主机拉高20~40us
}

u8 DHT11_Read_Data(u8 *temp,u8 *humi)    
{        
 	u8 buf[5];
	u8 i;
	DHT11_Rst();
	if(DHT11_Check()==0)
	{
		for(i=0;i<5;i++)//读取40位数据
		{
			buf[i]=DHT11_Read_Byte();
		}
		if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4])
		{
			*humi=(buf[0]*256+buf[1])/10;
			*temp=(buf[2]*256+buf[3])/10;
		}
	}else return 1;
	return 0;	    
}

显示结果如下:

using time:    4639 us    temperature:25    humidity:58
using time:    4686 us    temperature:25    humidity:58
using time:    4638 us    temperature:25    humidity:58
using time:    4638 us    temperature:25    humidity:58
using time:    4638 us    temperature:25    humidity:58
using time:    4639 us    temperature:25    humidity:58
using time:    4662 us    temperature:25    humidity:58
using time:    4637 us    temperature:25    humidity:58
using time:    4686 us    temperature:25    humidity:58
using time:    4732 us    temperature:25    humidity:58
using time:    4733 us    temperature:25    humidity:58
using time:    4734 us    temperature:25    humidity:58
using time:    4733 us    temperature:25    humidity:58
using time:    4733 us    temperature:25    humidity:58
using time:    4765 us    temperature:25    humidity:58
using time:    4637 us    temperature:25    humidity:58
using time:    4638 us    temperature:25    humidity:58
using time:    4638 us    temperature:25    humidity:58
using time:    4638 us    temperature:25    humidity:58
using time:    4639 us    temperature:25    humidity:58
using time:    4734 us    temperature:25    humidity:58
using time:    4733 us    temperature:25    humidity:58
using time:    4670 us    temperature:25    humidity:58
using time:    4686 us    temperature:25    humidity:58
using time:    4638 us    temperature:25    humidity:58

不到5ms时间就能完成采样,可以用于大部分对时序严格的通讯场合。

  • 5
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SHT30和DHT11是两种常见的温湿度传感器。它们之间有以下几点区别: 1. 技术原理:SHT30采用了Sensirion的湿度和温度传感器技术,而DHT11采用了DHT系列传感器技术。 2. 精度:SHT30的温度测量精度为±0.3°C,湿度测量精度为±2%RH。而DHT11的温度测量精度为±2°C,湿度测量精度为±5%RH。因此,SHT30的测量精度更高。 3. 供电电压:SHT30的供电电压范围为2.4V至5.5V,而DHT11的供电电压范围为3V至5.5V。 4. 通信接口:SHT30使用I2C或者SMBus接口进行通信,而DHT11使用单线数字信号进行通信。 5. 应用领域:由于SHT30具有更高的精度和更广泛的供电电压范围,它在对温湿度测量要求较高的应用中更常见,例如气象观测、环境监测等。而DHT11则更常用于一些对测量精度要求不高的应用,例如室内温湿度监测、智能家居等。 综上所述,SHT30和DHT11在技术原理、精度、供电电压、通信接口和应用领域等方面存在一些区别。选择哪种传感器应根据具体的应用需求来决定。 #### 引用[.reference_title] - *1* [sht30温湿度传感器中文手册_DHT11温湿度传感器编程思路以及代码的实现](https://blog.csdn.net/weixin_39976575/article/details/111582303)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [ESP32+dht11/sht30测温湿度(arduino编程)](https://blog.csdn.net/m0_52152690/article/details/126125455)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [STM32--学习笔记 常用协议总结](https://blog.csdn.net/emmmmhhg/article/details/125949023)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值