设为首页
收藏本站
找回密码
开启辅助访问
登录
注册
只需一步,快速开始
首页
BBS
在线充值
搜索
工控币获得方法
联系方式
搜索
搜索
本版
帖子
用户
工控论坛
»
首页
›
电子技术
›
STM32/8
›
基于ADXL345+STM32的智能手环心率计步器体温显示程序+原 ...
返回列表
发新帖
基于ADXL345+STM32的智能手环心率计步器体温显示程序+原理图
[复制链接]
69
|
0
|
2020-5-20 22:12:22
|
显示全部楼层
|
阅读模式
本设计由STM32F103C8T6单片机核心板电路+ADXL345传感器电路+心率传感器电路+温度传感器+lcd1602电路组成。
1、通过重力加速度传感器ADXL345检测人的状态,计算出走路步数、走路距离和平均速度。
2、通过心率传感器实时检测心率,通过温度传感器检测温度。
3、lcd1602实时显示步数、距离和平均速度、心率以及温度值。
源码:
stm32 adxl345完整codes.7z
(200.08 KB, 售价: 5 工控币)
2020-5-20 22:10 上传
点击文件名下载附件
基于STM32的智能运动手环原理图:
sch原理图.zip
(98.08 KB, 售价: 5 工控币)
2020-5-20 22:07 上传
点击文件名下载附件
部分源码片段:
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include <stdio.h>
#include "timer.h"
#include "key.h"
#include "exti.h"
#include "adxl345.h"
#include "lcd1602.h"
#include "ds18b20.h"
unsigned char ReadAdxl345; //定时读取adxl345数据
unsigned char ErrorNum=0; //记录错误次数
unsigned char CheckNum=0; //检测次数
char dis0[16];//液晶数组显示暂存
char dis1[35];
unsigned int xlTab[5];//心率数组
unsigned char count=0; //心率滤波计数
unsigned int xinLater=0;// 心率延时处理
unsigned int xinLv =0; //心率值
unsigned int BuShu=0;//步数
unsigned int Normal_num=0; //正常次数
unsigned int Error_num=0; //倾斜次数
unsigned int disBuShu = 0; //显示步数
float disJuLi = 0;//显示距离
float temperature; //温度
unsigned char readTemp = 0; //读取温度标志
int main(void)
{
delay_init(); //延时函数初始化
uart_init(9600); //串口初始化为9600
TIM3_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); //显示
}
}
}
复制代码
心率
,
体温
,
手环
,
adxl345
,
stm32
,
stm32
相关帖子
•
STM32F407+OOP+FSM设计思想
•
STM32做平衡小车全套sch原理图pcb电路图文件 C程序代码 BOM表
•
STM32实现U盘功能 USB_Mass_Storage源码
•
STM32串口的LIN从模式代码
•
基于stm32和soem的EtherCAT主站代码
•
STM32+LabVIEW的USB数据采集与显示源程序
•
STM32示波器程序ILI9341_IO模拟源程序+Proteus仿真
•
STM32F407 FLAC软解压 源程序
•
用PROTEUS8.9仿真实现STM32 ADC一路连续转换,值显示在LCD12864上
•
Proteus实现stm32单片机的闪烁灯实验程序
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
路漫漫
194
主题
199
帖子
74
积分
初级会员
初级会员, 积分 74, 距离下一级还需 426 积分
初级会员, 积分 74, 距离下一级还需 426 积分
工控币
74
加好友
发消息
回复楼主
返回列表
电子技术综合讨论
单片机嵌入式
EDA设计仿真
STM32/8
51单片机
上位机开发及系统管理
Labview
Multisim仿真
图文推荐
350W开关电源原理图及PCB图 元件参数封装图 完整资料可量产
2021-04-04
STM32做平衡小车全套sch原理图pcb电路图文件 C程序代码 BOM表
2021-04-01
三菱FX系列PLC与变频器MODBUS ASCII通信示例程序和文档
2021-03-31
三菱FX2N PLC与三菱变频器ModbusRTU协议通讯应用教程和示例程序
2021-03-31
电镀生产线S7-200 PLC程序带注释
2021-03-25
热门排行
1
LIS3DH中文数据手册
2
STM32F407+OOP+FSM设计思想
3
有偿求iFIX 5.9英文版授权
4
求IFIX5.9授权文件
5
威纶通触摸屏对应的位地址怎么写
6
卡尔曼(kalman)滤波演示程序 c#源码
7
三菱FX5U 以太网CC-LINK BASIC总线控制伺服
8
VC2017+OPENCV4.30实现机器人与传感器的手
9
CISCO QSGMII接口介绍,介绍sgmii接口与QSG
10
西门子STEP7 modbus 软件包分享