当前位置:AIGC资讯 > 数据采集 > 正文

AHT20温湿度传感器的数据采集&&

目录

一、AHT20温度传感器数据采集

1.目的

2.准备条件

3.1实现代码

3.2连接器件

3.3编译烧录

 3.4运行结果

二、OLED屏显和汉字点阵编码

1.目的

使用STM32F103的SPI或IIC接口实现以下功能

2.准备

3.实现代码(显示学号和姓名)

3.1.1代码修改

 3.2.2添加点阵字

3.1.3取模

3.1 4.编译烧录看看结果

 4.实现代码(显示AHT20的温度和湿度)

4.1编译烧录看看结果

 5.实现代码(上下或左右的滑动显示长字符)

5.1代码修改

 5.2编译烧录看看结果

三、总结

参考:

一、AHT20温度传感器数据采集

1.目的

使用STM32F103完成基于I2C协议(硬件I2C完成)的AHT20温湿度传感器的数据采集,并将采集的温度-湿度值通过串口输出。编程实现:每隔2秒钟采集一次温湿度数据,并通过串口发送到上位机(win10)

###顺便说一下硬件I2C和软件I2C的差别:硬件 I2C 直接使用外设来控制引脚,可以减轻 CPU 的负担。不过使用硬件I2C 时必须使用某些固定的引脚作为 SCL 和 SDA,软件模拟 I2C 则可以使用任意 GPIO 引脚,相对比较灵活。对于硬件I2C用法比较复杂,软件I2C的流程更清楚一些。如果要详细了解I2C的协议,使用软件I2C可能更好的理解这个过程。在使用I2C过程,硬件I2C可能通信更加快,更加稳定。

2.准备条件

STM32F103C8T系列芯片、 AHT20温度传感器、pc机、串口调试助手

3.1实现代码

链接:https://pan.baidu.com/s/1TZNBqkWH_aRGktK8Wk8cTA 
提取码:qwer

3.2连接器件

按图连接好器件 

3.3编译烧录

先打开工程下载下来的工程文件编译

然后烧录到芯片上

 3.4运行结果

 gif图片调快了,实际是没两秒输出一次

二、OLED屏显和汉字点阵编码

1.目的

使用STM32F103的SPI或IIC接口实现以下功能

1) 显示自己的学号和姓名; 

2) 显示AHT20的温度和湿度;

3) 上下或左右的滑动显示长字符

2.准备

在上个项目基础上加一块OLED显示屏

3.实现代码(显示学号和姓名)

链接:https://pan.baidu.com/s/1vawtPaudZmzuWdMjImrF3Q 
提取码:qwer

3.1.1代码修改

找到这个test.c文件修改 

 3.2.2添加点阵字

由于程序中没有我名字的点阵字代码,需要自己添加

先下载一个汉字的取模工具

链接:https://pan.baidu.com/s/1hoh1iYDoNSsJI9uaOsi68g 
提取码:qwer

3.1.3取模

设置字模输出选项

 取模

 将生成的字体代码粘贴到oledfont.h文件中

3.1 4.编译烧录看看结果

 4.实现代码(显示AHT20的温度和湿度)

链接:https://pan.baidu.com/s/1fwpkkrHpujE57SGZBOXlmQ 
提取码:qwer

4.1编译烧录看看结果

 5.实现代码(上下或左右的滑动显示长字符)

链接:https://pan.baidu.com/s/1KhdrhXcBWLVsky-pVAXH_A 
提取码:qwer

5.1代码修改

找到test.c

图片标注的地方输入想显示的内容

添加所需文字的点阵字

重复上一个实验的步骤

 5.2编译烧录看看结果

三、总结

 过程主要是对应字库的一个了解,跟着代码注释一点点分析,进一步理解stm32的编译原理,加深了各种器件搭配STM32的操作过程。

参考:

基于STM32的0.96寸OLED显示屏显示数据_Harriet的博客-CSDN博客_基于stm32的oled显示时间

基于I2C的AHT20温度采集器以及基于SPI协议OLED显示_Laul Ken-Yi的博客-CSDN博客 

更新时间 2023-11-08