Advertisement

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的博客-博客_基于stm32的oled显示时间

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

全部评论 (0)

还没有任何评论哟~