赞
踩
随着社会的发展,人们的物质生活水平日渐提高,人们也越来越关注自己的健康。智能手环作为一种测量仪器,可以计算行走的步数和消耗的能量,所以人们可以定量的制定运动方案来健身,并根据运行情况来分析人体的健康状况,因而越发流行。便携式智能手环是适应市场需求的设计,使用起来简单方便。
主要由STM32F103C8T6单片机最小系统板+LCD1602液晶显示模块+ADXL345计步器模块+心率监测模块+DS18B20温度传感器+HC-05蓝牙模块+电源开关构成;
PCB图如下:
三.软件设计
主程序源码
- /****************主函数***************/
- 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); //显示
- APP_Update();
- }
- }
- }
链接:https://pan.baidu.com/s/1yaqX9xToSgFOcXJmkAMfrQ?pwd=a7h1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。