【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块

第一节 硬件解读

先来看看这个模块的原理图吧,

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第1张图片

从图中可以看出,这个芯片是STS30,利用IIC来驱动的,具体的用法可以查看芯片的数据手册,这也是官方提供的,大家可以去赛点资源包查看。

下面来看看芯片的引脚关系:

扩展版之模数转换

开发板主板

1_ALE

PB0

1_SCL

PB6

1_SDA

PB7

第二节 环境配置

1,本次还是直接使用官方提供的OLED的HAL库的例程。

2,配置官方库的Debug。

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第2张图片

3,取消勾选PC14和PC15.因为它们在本次实验中没有发挥作用。

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第3张图片

4,由扩展模块的引脚图可以看出,本次PB6和PB7为数字温度传感器的IIC引脚,其中PB6已经勾选了,那我们只需要勾选PB7为输出模式就可以了。

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第4张图片

5,其他的配置不再重复。

第三节 编写代码

1,新建变量,用于保存温度值。

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第5张图片

2,进入while(1)之前,需要配置OLED,包括初始化,清屏等等如下图:

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第6张图片

3,在while中不断读取温度值。

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第7张图片

4,在读取温度的函数中,重要的是Get_Temperature函数。我们仔细看看:

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第8张图片

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第9张图片

5,有同学要问了,I2CStop2()这些函数我没有见过呀,大家先不急。在OLED的硬件IIC中也有这些函数,大家可以看看OLED的IIC相关函数。

6,具体点,以OLED的IIC的SDA_Input_Mode函数为例,如下图:

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第10张图片

7,在来看看数字温度传感器的SDA_Input_Mode2函数,只是把引脚修改了。

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第11张图片

8,对此,我们完全可以借鉴OLED的IIC的底层驱动,把它完全移植过来,移植后的代码如下:

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第12张图片

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第13张图片

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第14张图片

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第15张图片

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第16张图片

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第17张图片

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第18张图片

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第19张图片

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第20张图片

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第21张图片

【蓝桥杯物联网】第十四章 扩展模块之温度传感器模块_第22张图片

9,如果大家不会移植,请大添加公众号客服,索取完整的历程。

10,编译代码,配置下载器,下载代码。

第四节 实验现象

实验注意事项:

1,程序语句需要位于程序的BEGIN与END之间。

2,利用USB线将电脑USB口与开发板USB1口连接。

3,CN4所有拨码开关必须选择ON DP档,否则无法下载程序。

实验现象:

LD1,LD4常亮。OLED第一行显示“Temperature”。OLED第二行显示当前温度的值。

宗旨:

免费的服务,永远的开源

说明:

1.本教程免费,开源,禁止用于任何商业用途,违者必究。

2.本教程版权所属为东莞市东城墨竹公子电子工作室,盗版必究。

3.资料下载请通过以下方式:

微信公众号:撞上电子

CSDN:撞上电子

掘金:撞上电子

今日头条:撞上电子

淘宝企业店:撞上电子

--东莞市东城墨竹公子电子工作室

--墨竹公子

--2021.12.17

你可能感兴趣的:(【比赛】蓝桥杯物联网,单片机,stm32,mcu,物联网,嵌入式硬件)