【单片机毕业设计选题24031】-基于STM32的智能手环设计

系统功能:

使用12864OLED液晶屏显示当前的步数,温度值,心率和报警值,单位是心率/分钟设置步长,测量里程;可以设置温度心率的上下限报警值,设置、加、减;用红外传感器XL01实现心率的测量,检测模块稳定准确快速;心率和温度值高于上线报警值或者低于下线报警值时声光报警;用3轴加速度传感器模块MPU6050实现计步;

主要功能模块原理图:

电源时钟烧录接口:

单片机和按键输入电路:

传感器采集电路:

资料获取地址

系统主要功能模块代码

  /* USER CODE BEGIN 1 */


  /* USER CODE END 1 */


  /* MCU Configuration--------------------------------------------------------*/


  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */

  HAL_Init();


  /* USER CODE BEGIN Init */

    InitVar();

  /* USER CODE END Init */


  /* Configure the system clock */

  SystemClock_Config();


  /* USER CODE BEGIN SysInit */


  /* USER CODE END SysInit */


  /* Initialize all configured peripherals */

  MX_GPIO_Init();

  MX_USART1_UART_Init();

  MX_USART2_UART_Init();

  /* USER CODE BEGIN 2 */

//在HAL库初始化串口1后调用

    HAL_Delay(100);

    SetUart1RxToInput();

    HAL_Delay(50);

//uart2打开接收中断

    HAL_UART_Receive_IT(&huart2, (uint8_t*)&uart2RecBuff, 1);

    InitOled();

    InitOledDisp();

    if(InitDS18B20()==0)

    {

//        printf("%s", "DS18B20初始化成功");

//DS18B20在上电第一次读取时显示温度为85℃,这是正常的。

//85℃是DS18B20在上电复位后在温度寄存器内的对应数字量,

//这里DS18B20初始化成功后读一次值,避免出现85℃

        DS18B20GetTemp_SkipRom();

    }


  /* USER CODE END 2 */

//系统信息更新
 

void SystemControl(void)

{

    static uint8_t updateCnt = 0;

   

    updateCnt++;   

    if(updateCnt>=SYSTEM_UPDATE_INTER)

    {

        updateCnt = 0;

        ds18b20Temp = DS18B20GetTemp_SkipRom();       

        UpdateBleData();

    }

    ReadSensorVal();

}

蓝牙模块上报系统数据:

//更新BLE数据

void UpdateBleData(void)

{

    printf("Temp:%02d\r\n", getTempVal);      

    printf("Rate:%03d\r\n", getRateVal);

    printf("Step:%03d\r\n", stepNumber);   

    printf("Distance:%6.1f\r\n", distance);     

}

此设计提供的资料包含原理图PCB(包含PDF,AD,立创EDA三个版本),源代码,系统框图,主程序流程图,物料清单(包含使用到的器件手册),功能操作说明等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/748102.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

华为云x86架构下部署mysql

华为云x86架构下部署mysql 1. 配置X86架构ESC2. 查看本系统中有没有安装mariadb相关的组件,有则卸载3. 安装mysql4. 启动mysql5. 登录MySQL,修改密码,开放访问权限 1. 配置X86架构ESC 2. 查看本系统中有没有安装mariadb相关的组件&#xff0c…

拥抱数字化未来,如何以费控驱动业务发展?

管理费用是企业运营中仅次于人力成本的第二大可控成本,一般会占到企业年度收入的5%—10%,但多数企业存在费用疏于管理、费用管理制度流于纸面难落地、费用浪费严重等问题。 如果不进行科学管理,有专家表示,估计企业每年至少有10%的…

Java家教系统小程序APP公众号h5源码

让学习更高效,更便捷 🌟 引言:家教新选择,小程序来助力 在快节奏的现代生活中,家长们越来越注重孩子的教育问题。然而,如何为孩子找到一位合适的家教老师,成为了许多家长头疼的问题。现在&…

Flutter笔记(一)- 安装和配置Flutter

一、下载Flutter 访问网址:https://docs.flutter.dev/get-started/install?hlzh-cn 根据电脑所使用的操作系统的平台进行选择。笔者电脑的操作系统为Windows,因此选择如图1-1的Windows图片: 图1-1 Flutter网站(一) …

controller不同的后端路径对应vue前端传递数据发送请求的方式

目录 案例一: 为什么使用post发送请求,参数依旧会被拼接带url上呢?这应该就是param 与data传参的区别。即param传参数参数会被拼接到url后,data会以请求体传递 补充:后端controller 参数上如果没写任何注解&#xff0c…

Vue3抽屉(Drawer)

效果如下图:在线预览 APIs 参数说明类型默认值必传width宽度,在 placement 为 right 或 left 时使用string | number378falseheight高度,在 placement 为 top 或 bottom 时使用string | number378falsetitle标题string | slotundefinedfalse…

sheng的学习笔记-hive框架原理

需要学习的前置知识:hadoop 可参考 sheng的学习笔记-hadoop-CSDN博客 相关网址 官网:http://hive.apache.org 文档:https://cwiki.apache.org/confluence/display/Hive/GettingStarted https://cwiki.apache.org/confluence/display/Hive/…

FPGA SATA高速存储设计

今天来讲一篇如何在fpga上实现sata ip,然后利用sata ip实现读写sata 盘的目的,如果需要再速度和容量上增加,那么仅仅需要增加sata ip个数就能够实现增加sata盘,如果仅仅实现data的读写整体来说sata ip设计比较简单,下面…

华为开发者调试工具使用介绍(MDC)

MDC的开发过程的三大工具:MMC、MDS、Mind Studio,这三个工具完成了开发过程中的配置文件编写、代码编写以及AI模型的开发三个任务。除了开发,MDC还准备了两个调试工具,用于使用过程中数据的查看等。这一些调试工具分别对映射MDC中…

Claude走向开放

Claude的愿景一直是创建能够与人们协同工作并显著提升他们工作流程的人工智能系统。朝着这一方向迈进,Claude.ai的专业版和团队版用户现在可以将他们的聊天组织到项目中,将精选的知识和聊天活动整合到一个地方,并且可以让团队成员查看他们与C…

Redis发布、订阅模式(Pub/Sub)详解

Redis发布、订阅模式(PUB-SUB)详解 Redis的发布订阅(Pub/Sub)机制是一种消息通信模式,用于消息的广播。它允许多个客户端订阅(Subscribe)特定的频道(Channel)&#xff0c…

【unity笔记】八、Unity人物动画介绍

一、效果预览 本内容仅介绍为unity场景中的任务添加简单的动画效果。 二、小试牛刀 2.1 插件准备 在unity 中导入人物模型。常使用的免费人物模型和动画模型有Robot Kyle,Unity-Chan! Model,Basic Motions FREE。 其中Robot Kyle仅支持URP渲染。如…

喂饭级AI神器!免代码一键绘制图表,文本数据秒变惊艳视觉盛宴!

由于目前的AI生成图表工具存在以下几个方面的问题: 大多AI图表平台是纯英文,对国内用户来说不够友好;部分平台在生成图表前仍需选择图表类型、配置项,操作繁琐;他们仍需一份规整的数据表格,需要人为对数据…

盲源信道分离—FastICA算法性能仿真

本案例中使用Matlab软件对FastICA算法的声音分离性能进行了仿真,分别对简单波形的混合信号、不同类型声音的混合信号、同一类型的混合信号这三种情况进行仿真,主要从分离信号的波形形状、串音误差两方面对分离性能进行衡量,仿真结果显示快速I…

APP 自动化测试框架如何设计?

自动化测试框架是为了增强测试效率和准确性而设计的工具。它可以帮助开发人员和测试人员在软件开发周期中自动执行各种测试任务。在本文中,我们将从零开始详细介绍如何设计一个自动化测试框架。 1. 确定测试需求: 在设计测试框架之前,首先需…

AMSR-E/Aqua 第 3 级全球地表土壤水分月平均值 V005 (AMSRE_AVRMO)

AMSR-E/Aqua level 3 global monthly Surface Soil Moisture Averages V005 (AMSRE_AVRMO) at GES DISC AMSR-E/Aqua level 3 global monthly Surface Soil Moisture Standard Deviation V005 (AMSRE_STDMO) at GES DISC 简介 GES DISC 的 AMSR-E/Aqua 第 3 级全球地表土壤水…

springboot + Vue前后端项目(第十九记)

项目实战第十九记 写在前面1. redis安装(windows安装)1.1 获取软件链接地址:1.2 启动redis1.3 测试是否启动成功1.4 通过 Another Redis DeskTop软件可视化查看redis 2. SpringBoot集成redis2.1 引入依赖2.2 注入RedisTemplate2.3 使用redis2.4 redis更新2.5 redis使…

Charles 忽略IP授权 Allow 弹窗

当有新的设备连接到 Charles 时,会出现如下弹框确认是否允许,如果希望允许所有客户端连接不再有提示,可以通过添加模糊IP规则来实现。 配置方法:Proxy > Access Control Settings 中添加 0.0.0.0/0 和 ::/0 即可,…

从0到1实现LLM学习笔记附录B(GPT-4o翻译版)

来源:https://github.com/rasbt/LLMs-from-scratch?tabreadme-ov-file https://www.manning.com/books/build-a-large-language-model-from-scratch

【redis】redis安装

1、安装前准备 1.1环境准备 VMware安装 参考博文:【VMware】VMware虚拟机安装_配置_使用教程_选择虚拟机配置选项,设置dvd镜像为 点击启动虚拟机-CSDN博客 安装centOS的linux操作系统 xshell xftp 参考博文:【Linux】Xshell和Xftp简介_安装_VMwar…