【嵌入式】完成基于I2C硬件协议的AHT20温湿度传感器的数据采集

一、实验目的

学习I2C总线通信协议,完成基于I2C硬件协议的AHT20温湿度传感器的数据采集,并将采集的温度-湿度值通过串口输出。具体任务:

1)解释什么是“软件I2C”和“硬件I2C”?
2)阅读AHT20数据手册,编程实现:每隔2秒钟采集一次温湿度数据,并通过串口发送到上位机。

二、软件I2C和硬件I2C

1.软件I2C
所谓硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路bai,其所使用的I2C管脚也是专用的;

2.硬件I2C
一般是用GPIO管脚,用软件控制管脚状态以模拟I2C通信波形。

3.两者对比
硬件I2C的效率要远高于软件的,而软件I2C由于不受管脚限制,接口比较灵活。
模拟I2C 是通过GPIO,软件模拟寄存器的工作方式,而硬件(固件)I2C是直接调用内部寄存器进行配置。如果要从具体硬件上来看,可以去看下芯片手册。因为固件I2C的端口是固定的,所以会有所区别。

三、AHT20

AHT20简介

AHT20是国内奥松生成的I2C接口的MEMS温湿度传感器,ADC位数为20Bit,具有体积小、精度高、成本低等优点。
由于AHT10/15/20 具有国产化、体积小、精度高、成本低等特点,可以替代
DHT11/DHT12/AM2320/SHT20/SHT30,单芯片价格在¥2~3,体积小巧很轻松嵌入到产品上

以下是AHT20的应用电路
在这里插入图片描述

四、实现代码

ATH20温湿度代码

/**************************************************
			读取AHT20的状态寄存器
**************************************************/
uint8_t AHT20_Read_Status(void)
{
   
	uint8_t Byte_first,flag;	
	IIC_Start();
    IIC_Send_Byte(0x71);
	flag=IIC_Wait_Ack();
	Byte_first = IIC_Read_Byte(flag);
	IIC_NAck();
	IIC_Stop();

	return Byte_first;
}



/**************************************************
				向AHT20发送AC命令
**************************************************/
void AHT20_SendAC(void) 
{
   
	IIC_Start();
	IIC_Send_Byte(0x70);    //启动传输后发送的01110000
	IIC_Wait_Ack();
	IIC_Send_Byte(0xac);//0xAC采集命令 名称参数有两个字节,第一个为0x33,第二个字节为0x00
	IIC_Wait_Ack();
	IIC_Send_Byte(0x33);
	IIC_Wait_Ack();
	IIC_Send_Byte(0x00);
	IIC_Wait_Ack()
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: AHT10是一种湿度传感器,它可以测量环境中的度和湿度。它可以用于各种应用,如室控制、恒恒湿环境监控、工业过程控制等。AHT10拥有高精度和高稳定性,并且可以在极端度条件下工作。此外,AHT10还有一个I2C接口,可以与其他电子设备相连,方便数据采集和处理。 ### 回答2: AHT10湿度传感器是一种高精度的数字湿度传感器,采用了先进的CMOSens®技术。它可以测量度和湿度,并将结果以数字形式输出。AHT10具有很高的精确度和稳定性,能够提供可靠的湿度测量结果。 AHT10传感器的特点之一是其小巧的封装和低功耗设计。它采用超薄的封装,适用于空间有限的应用场景,例如智能手机、电子设备等。同时,AHT10传感器的功耗非常低,可以在长时间使用的情况下保持高精度的湿度测量。 此外,AHT10传感器还具有很好的抗干扰能力和快速的响应时间。它采用数字传感技术,能够有效抵抗电磁干扰和度梯度变化对湿度测量的影响,确保测量结果的准确性和稳定性。同时,AHT10传感器响应时间快,能够迅速对环境的湿度变化做出反应。 除了以上特点,AHT10传感器还具有多种应用领域。它可以应用于室内环境监测、气象观测、湿度控制等领域。在智能家居领域,AHT10传感器可以与其他智能设备进行连接,实现智能湿度控制和环境监测。在农业领域,AHT10传感器可以应用于室监测和农作物生长环境控制,提高农作物产量和质量。 总的来说,AHT10湿度传感器是一种高精度、稳定性好、功耗低的数字湿度传感器。它具有多种应用领域,能够满足不同场景的湿度测量需求。 ### 回答3: AHT10湿度传感器是一种具有高精度和可靠性的传感器,用于测量环境中的度和湿度。它具有很多特点和优势,以下是对AHT10湿度传感器的回答。 首先,AHT10湿度传感器采用表面贴装技术,可以方便地集成到各种设备和系统中。它的体积小、重量轻,适合于嵌入式应用和对空间有要求的领域。它还具有超低功耗,在节能环保方面具有较大优势。 其次,AHT10湿度传感器具有高度的精确度和稳定性。它采用了先进的湿度校准算法和数字信号处理技术,可以实时准确地测量和反馈环境中的度和湿度数据。同时,它还具有较低的误差和漂移,保证了传感器的可靠性和长期稳定性。 另外,AHT10湿度传感器具有广泛的应用领域。它可以被应用于气象观测、环境监测、空调系统、智能家居等领域。无论是工业生产还是日常生活,AHT10湿度传感器都能够提供准确的湿度数据,帮助我们更好地了解和控制环境条件。 总结起来,AHT10湿度传感器是一种功能强大、高精度和可靠性的传感器。它的小体积、超低功耗使得它在嵌入式应用和对空间有要求的领域具有较大优势。它的高度精确度、稳定性和广泛的应用领域使得它成为了湿度测量领域的重要组成部分。无论是在工业生产还是日常生活中,AHT10湿度传感器都能够为我们提供准确的环境湿度数据,帮助我们更好地了解和控制环境条件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值