stm32单片机的智能手环-心率-步数-距离-体温-蓝牙监控

 一.硬件方案

         随着社会的发展,人们的物质生活水平日渐提高,人们也越来越关注自己的健康。智能手环作为一种测量仪器,可以计算行走的步数和消耗的能量,所以人们可以定量的制定运动方案来健身,并根据运行情况来分析人体的健康状况,因而越发流行。便携式智能手环是适应市场需求的设计,使用起来简单方便。
        主要由STM32F103C8T6单片机最小系统板+LCD1602液晶显示模块+ADXL345计步器模块+心率监测模块+DS18B20温度传感器+HC-05蓝牙模块+电源开关构成;

PCB图如下:

二.设计功能

  • LCD1602液晶显示屏显示当前测量步数、距离、心率和体温数据;
  • 心率传感器采集当前的心率数据,如果手指放置心率传感器,单片机采集传感器的数据,计算出当前心率数据;
  • ADXL345三轴加速度传感器监测实时空间位置,如果当前位置出现变化,并符合走路姿势,皆可算出当前步数和距离;
  • 温度传感器为接触式型传感器,如果将传感器握在手心,即可测量出当前体温;
  • 除了显示屏可显示当前的测量数据外,也可通过蓝牙连接手机APP,在APP上实时显示当前的数据。

三.软件设计

        主程序源码

/****************主函数***************/
int main(void)
{ delay_init();         //延时函数初始化    uart_init(9600);     //串口初始化为9600TIM3_Int_Init(49,7199);//50ms    EXTIX_Init();    // 初始化外部中断LED_Init();          //初始化与LED连接的硬件接口KEY_Init();      //初始化按键Lcd_GPIO_init();  //初始化lcd引脚Lcd_Init();      //初始化lcd屏幕delay_ms(200);Init_ADXL345();if(Single_Read_ADXL345(0X00)==0xe5)  {delay_ms(5);}else{delay_ms(3);}while(1){if(ReadAdxl345== 1)   //定时读取adxl345数据{ReadAdxl345= 0;ReadData_x();              //三轴检测函数CheckNum++;if((temp_Y>450)||(temp_Y<-450)) //查看正常次数     {Normal_num++;  //正常次数++}else{Error_num++;//倾斜次数}if((Error_num!=0)&&(Normal_num!=0))//检测到步数{BuShu++;   //步数脉冲量++Error_num=0;    //清除一个周期检测Normal_num=0;}}if(disFlag==1)     //显示标志{disFlag = 0;readTemp++;  //定时计数if(readTemp >= 8)//约800ms处理一次数据 温度{readTemp =0;//重新计数temperature=(float)DS18B20_Get_Temp()/10;  //缩小10倍为实际值      }disBuShu = BuShu/2;  //显示步数disJuLi = disBuShu*0.45;//显示距离sprintf(dis0,"X:%03d/min %4.1f C",xinLv,temperature);//打印Lcd_Puts(0,0,(unsigned char *)dis0);  //显示Lcd_1Put(14,0,0xdf);//显示符号sprintf(dis1,"BS:%03d JL:%4.1fm  ",disBuShu,disJuLi);//打印Lcd_Puts(0,1,(unsigned char *)dis1);  //显示APP_Update();}  }                          
}  

链接:https://pan.baidu.com/s/1yaqX9xToSgFOcXJmkAMfrQ?pwd=a7h1 
 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

7.(数据结构)堆

7.1 相关概念 堆&#xff08;Heap&#xff09;在计算机科学中是一种特殊的数据结构&#xff0c;它通常被实现为一个可以看作完全二叉树的数组对象。以下是一些关于堆的基本概念&#xff1a; 数据结构&#xff1a; 堆是一个优先队列的抽象数据类型实现&#xff0c;通过完全二叉树…

AI工具新革命:从ChatGPT到Sora,生成式AI改变世界

这个春节着实精彩&#xff0c;“春山学”吃透了&#xff0c;不如把目光移向OpenAI又一重磅产品——文生视频大模型Sora。智能新纪元已然开启&#xff0c;因为正如周鸿祎所说&#xff1a;“,Sora的诞生意味着AGI&#xff08;通用人工智能&#xff09;的实现将从10年缩短到1年。”…

.netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项

1、SqlSugarCore 相关 1.1 主项目添加数据&#xff0c;否则会报数据库连接错误&#xff1a; <InvariantGlobalization>false</InvariantGlobalization> <PropertyGroup><TargetFramework>net8.0</TargetFramework><Nullable>enable</…

二维码(CTF)misc

知识点&#xff1a;文件剥离zip密码爆破 用到了fcrackzip工具&#xff1a; -b :采用爆破的方式 -c :采用什么类型的密码&#xff0c;1 数字类型 a 小写字母 A 大写字母 ‘aA1’ 大小写字母数字混合等 -l :指定密码的位数 -u :过滤掉不正确的密码记录&#xff1b;只显示正…

前端不传被删记录的id怎么删除记录,或子表如何删除记录

1.删除主表相关子表所有记录 2.再保存一次前端传来的记录 3.如果子表是通过先生成空记录&#xff0c;再put修改模式&#xff0c;可以在执行1和2两步后再拿模板集合和当前现有子表集合套两个for循环对比判断&#xff0c;count记录模板记录和子表记录每次循环重合次数&#xff…

C# winfroms使用socket客户端服务端代码详解

文章目录 1️⃣ 通信相关说明1.1服务端与客户端1.2 信息发送原理1.3 信息接收原理 2️⃣ socket代码2.1 客户端代码2.2 服务端代码 3️⃣ 定时任务处理报文3.1 Timers定时任务 优质资源分享 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_4315141…

滚雪球学Java(71):深入剖析Java中的ArrayBlockingQueue底层实现与源码分析

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java SE相关知识点了&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好…

每日leetcode--全排列II

问题描述 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给定一个可能包含重复元素的整数数组 nums&#xff0c;编写一个函数来返回所有不重复的全排列 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a;…

vue3 globalData 的使用方法

直接上教程 .新创建一个data.js它可以和main.js平级也可以在store文件夹下面都行&#xff0c;无非就是引用的时候前缀多一个单词少一个单词这样 data.js: 从vue上面引入reactive &#xff0c;然后它可以创建一个也可以创建两个可以任意名称 A或B或C都可以 //data.js import…

SpringMVC 学习(一)之 SpringMVC 介绍

目录 1 MVC 介绍 2 SpringMVC 介绍 2.1 SpringMVC 特点 2.2 SpringMVC 的核心组件 2.3 SpringMVC 执行流程 3 参考文档 1 MVC 介绍 MVC (Model View Controller) 是一种设计思想&#xff0c;它将应用程序分为三大组件&#xff1a;模型 (Model)、视图 (View)、控制器 (Con…

用TensorRT-LLM跑通chatGLM_6B模型

零、参考资料 NVIDIA官网 THUDM的Github NVIDIA的Github 一、构建 TensorRT-LLM的docker镜像 git lfs install git clone https://github.com/NVIDIA/TensorRT-LLM.git cd TensorRT-LLM git submodule update --init --recursive sudo make -C docker release_build sudo m…

在openEuler中通过KVM可视化安装华为FusionCompute的VRM节点

一、说明 本文是华为FusionCompute云平台配置的延续&#xff0c;是在CNA&#xff08;ComputingNode Agent&#xff0c;计算节点代理&#xff09;主机安装配置完成后&#xff0c;详细安装VRM&#xff08;Virtual Resource Manager&#xff0c;虚拟资源管理器&#xff09;节点的…

「JavaSE」String类3:字符串常量池

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;快来卷Java啦 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 字符串常量池 &#x1f349;常量池&#x1f349;字符串常量池&#x1f349;intern 方法 &#x1f349;常量池 在Java程序中&…

微服务-Alibaba微服务nacos实战

1. Nacos配置中心 1.1 微服务为什么需要配置中心 在微服务架构中&#xff0c;当系统从一个单体应用&#xff0c;被拆分成分布式系统上一个个服务节点后&#xff0c;配置文件也必须跟着迁移&#xff08;分割&#xff09;&#xff0c;这样配置就分散了&#xff0c;不仅如此&…

*MYSQL--索引--内部原理

MYSQL的索引根据功能,主要有三大类型: 1.HASH索引 2.二叉树 3.BTREE索引 一:HASH索引 1.内部原理: 在设置了某列为索引列之后,并且开始或者将要在相应索引列创建数据的时候,系统通过某种算法 F(X) 自动计算出来一个十六进制的哈希值,这个哈希值能够对应相应的字段值 所以…

数据之巅:揭秘企业数据分析师如何成为企业的决策智囊

引言 在数字化浪潮中&#xff0c;企业数据分析师已成为企业决策的重要支撑。他们如同探险家&#xff0c;在数据的丛林中寻找着能够指引企业前行的宝贵信息。本文将深入剖析企业数据分析师的角色、挑战与成就&#xff0c;带你领略这个充满智慧与激情的职业风采。 一、从数字到智…

28-k8s集群中-StatefulSets控制器(进阶知识)

一、statefullsets控制器概述 1&#xff0c;举例 假如&#xff0c;我们有一个deployment资源&#xff0c;创建了3个nginx的副本&#xff0c;对于nginx来讲&#xff0c;它是不区分启动或者关闭的先后顺序的&#xff0c;也就是“没有特殊状态”的一个服务&#xff0c;也成“无状…

【Java】图形、图像与音频(实验十二)

一 、Component组件类中有一个public void paint( Graphics g)绘画方法&#xff0c;只要用户自定义的类继承了此组件类或其子类并重写了paint()方法&#xff0c;当用户自定义的类被实例化后&#xff0c;此时java运行环境就会开启一个新线程来自动调用并执行用户自定义类中的pai…

树莓派更新源,以及安装wiringPi库

1、更换树莓派&#xff08;Raspberry Pi 3B&#xff09;软件源 更换树莓派&#xff08;Raspberry Pi 3B&#xff09;软件源为国内镜像源_树莓派3b更换国内源-CSDN博客 2、安装wiringPi库 安装wiringPi库在树莓派上&#xff0c;可以按照以下步骤进行操作&#xff1a; a.首先&…

十四届蓝桥杯国赛考试计算思维 U10 组真题和答案

答案在底部 第一题 恐龙乐园的规划图中有 n 个小岛,m 座小桥,每座桥连接两个小岛。 下图是 n=5,m=8 的一个例子: 希希发现,如果拆除一些桥,仍然能使任何两个小岛都互通。最多可以拆除( )座 桥。 A. n-m B. m-n C. m-m-1 D. m-n+1 第二题