stm32f103c8t6+max30102+ds18b20+OLED显示+阿里云物联网平台AT指令------心率及血氧检测系统的设计与实现

毕业设计感悟:做这个毕业设计之前,我觉得做这款很有意义,也很有挑战,市面上很多智能手环价格贵,让我自动化专业很是无法接受,决心自己去钻研其中的原理。

开始着手总体方案设计,智能当然与物联网分不开,当前开放的有ONEZET,阿里云,权衡之下还是选择了免费一个月的阿里云,也不是因为他免费,而是它能检测多模块的数据,选择好了平台,注册登录,设计功能,创造IOT 界面,物联网平台就这样搭建好了,很是顺利。接下来就是硬件部分,查找各模块资料花费了几天时间,选定好模块,订购模块开始测试,也遇到了很多问题,也在意料之中,那有什么一帆风顺,好吧,也是自己实力还不到位,吸取教训也是成长的关键,我开始不断调整引脚接口,查看原理图文档,规划了剩余接口的使用,不断试错,这个步骤在后面方案进行也在不断调整,买好了一批材料开始接线,先从烧写温度传感器代码程序开始,慢慢添加心率血氧,在心率血氧模块这里我吃尽了苦头,先是模块算法,我看了很多程序,有使用傅里叶变化,误差精确度也各不相同,最后我选择了,相对稳定,测试误差在正常范围内的算法,计算代码中pn_x到平均值中心的线性回归的方向系数β,平均中心索引值的平方和...前期都是在OLED显示屏进行调试,检测出现的BUG,模块坏了又换,心态一点一点被磨灭,可以说心率血氧模块才是这个本文设计的难点也是重点,模块换了一批才测试出市面上模块有一大部分烧写不了,不知测试了多少才让我总结出这个经验,历尽千辛万苦也不为过,ESP8266添加wifi模块也是比较顺利,刷固件库让我头疼了一会,也是几天就给解决了,也总结出个人开的热点是2.4G频道信号,想一想也是,小模块这么便宜哪有5G通信的本事,串口烧写AT指令到ESP8266,成功后就开始接到单片机上,通电,复位,将阿里云物联网平台接口接上,对应,测试,也是出现过问题,在精细化的流程下,也是很快解决了问题所在,做毕业设计不单单是为了毕业,更多是为做一件事情的付出的汗水,对自己的一个认可,真正做了才知道,乐在其中。

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
首先,您需要连接STM32F103C8T6DS18B20DS18B20是一种数字温度传感器,它使用单线协议进行通信,因此只需要一个GPIO引脚即可连接到STM32F103C8T6。您可以使用任何可用的GPIO引脚,但是在本例中,我们将使用PA0作为数据线。 接下来,您需要连接OLED显示屏。您可以使用SPI或I2C协议与OLED显示屏通信。在本例中,我们将使用I2C协议。您需要将STM32F103C8T6的I2C引脚连接到OLED显示屏的I2C引脚。 在硬件连接完成后,您需要编写STM32F103C8T6的代码来读取DS18B20的温度数据,并将数据显示OLED屏幕上。以下是一个简单的示例代码: ```c #include "stm32f10x.h" #include "i2c.h" #include "ds18b20.h" #include "ssd1306.h" int main(void) { float temp; char buffer[16]; /* 初始化I2C和OLED显示屏 */ I2C_Init(); SSD1306_Init(); /* 读取DS18B20的温度值 */ temp = DS18B20_ReadTemp(); /* 将温度值转换为字符串 */ sprintf(buffer, "Temp: %.2f C", temp); /* 在OLED屏幕上显示温度值 */ SSD1306_GotoXY(0, 0); SSD1306_Puts(buffer, &Font_7x10, SSD1306_COLOR_WHITE); /* 刷新OLED屏幕 */ SSD1306_UpdateScreen(); while (1) { /* 循环等待 */ } } ``` 在上面的代码中,我们使用了ds18b20.h和ssd1306.h头文件,并且假设您已经实现了I2C_Init、SSD1306_Init和DS18B20_ReadTemp函数。在主函数中,我们读取DS18B20的温度值,并将其转换为字符串格式,然后在OLED屏幕上显示。注意,我们使用了SSD1306_GotoXY、SSD1306_Puts和SSD1306_UpdateScreen函数来控制OLED屏幕。 希望这个简单的示例能够帮助您开始控制DS18B20OLED屏幕。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值