当前位置: 首页 > 热点

RA4M2开发(4)----读取HS3003数据,并在OLED上显示,串口打印

2023-08-24 09:25:26 来源:哔哩哔哩

概述

HS3003是一种数字式温湿度传感器,可以测量环境中的温度和湿度。读取HS3003的数据需要连接传感器到一个数据采集系统,一般是微处理器或者单片机。以下是一个简单的读取HS3003数据的概述:


(资料图片仅供参考)

连接电路:将HS3003传感器连接到微处理器或单片机的GPIO引脚。需要注意HS3003的电气特性,比如供电电压和信号电平等。

发送命令:发送读取温湿度数据的命令到HS3003传感器。具体的命令格式和通信协议需要参考HS3003的数据手册。

接收数据:等待HS3003传感器回应,并接收传感器发送的数据。HS3003传感器的数据一般是经过数字转换后的二进制数据,需要解析成温湿度值。

解析数据:将接收到的二进制数据解析成温湿度值。具体的解析算法需要参考HS3003的数据手册,一般涉及到位移、位运算、符号扩展等操作。

处理数据:对得到的温湿度值进行处理,比如校准、滤波、显示等。

循环读取:根据需要循环执行步骤2到5,以实现连续读取HS3003传感器的温湿度数据。 需要注意的是,HS3003传感器的使用和读取数据需要按照数据手册的规范和建议操作,否则可能会导致数据精度降低、传感器损坏等问题。 最近在弄课程,需要样片的可以加群申请:6_15061293。

视频教学

/video/BV1th4y1R7of/

csdn课程

csdn课程更加详细。 /course/detail/36131

样品申请

/vm/#

硬件准备

首先需要准备一个开发板,这里我准备的是芯片型号R7FAM2AD3CFP的开发板: 

样品申请

/vm/#

IIC配置

配置RA4M2的I2C接口,使其作为I2C master进行通信。 对于OLED的IIC配置,可以查看往期的博客。 查看HS3003说明书,最小电路图如下所示。 

由于需要读取HS3003数据,需要使用IIC接口,这里使用PMOD2上的接口(P410和P411)。 

点击Stacks->New Stack->Connectivity -> I2C Master(r_sci_i2c)。 

查看说明书可以得知,ISL29035的地址为0x44(1000100)。 

设置IIC的配置。 

R_SCI_I2C_Open()函数原型

R_SCI_I2C_Open()函数为执行IIC初始化,开启配置如下所示。

R_SCI_I2C_Write()函数原型

R_SCI_I2C_Write()函数是向IIC设备中写入数据,写入格式如下所示。

R_SCI_I2C_Read()函数原型

R_SCI_I2C_Read()函数是向IIC设备中读取数据,读取格式如下所示。

sci_i2c_master_callback()回调函数

对于数据是否发送完毕,可以查看是否获取到I2C_MASTER_EVENT_TX_COMPLETE字段。 

HS3003写数据

对于HS3003写数据,手册上的操作方式如下所示。 设备地址+操作地址+数据 

初始化程序如下所示。

HS3003读数据

对于读取数据,可以直接在发送地址后,进行读取,当时需要注意再发送完地址后,要有等待时间。 

读取操作函数如下所示,先发送操作地址,在进行读取,这里是一次读取32位。

HS3003初始化

首先需要将HS3003进行唤醒,默认情况下是睡眠模式。 唤醒需要对Measurement Requests (MR)进行操作,MR命令用于将HS300x从休眠模式唤醒。通过发送7位从地址和第8位=0 (WRITE)来发起测量请求。

对于不同精度的数据读取,等待时间是不同的。

对于等待的时间,可以参考下图红框的数据。 

HS3003读取温湿度

对于读取数据,可以直接在发送地址后,进行读取,当时需要注意再发送完地址后,要有等待时间。 

读取操作函数如下所示,先发送操作地址,在进行读取。

对于读取的数据,需要进行处理。 湿度在后两个字节的15-2位,温度在前2个字节的13-0位。 

对于原始的数据,要对他进行处理。 

实现效果

正常显示数据。 

同时串口也可以打印数据。 

主程序

Humiture_

Humiture_

关键词:

相关阅读

Copyright   2015-2022 热讯技术网 版权所有  备案号:豫ICP备20005723号-6   联系邮箱:29 59 11 57 8@qq.com