历史上的今天
今天是:2024年09月29日(星期日)
2021年09月29日 | 基于51单片机的蓝牙计步器设计
2021-09-29 来源:eefocus
一.硬件方案
本设计选用单片机STC89C52作为系统控制芯片,通过蓝牙模块把单片机处理的数据传输到手机APP上,这样更能清楚看到检测的效果。整机工作电流只有1-1.5mA,实现超低功耗。采集的步数,路程,卡路里及运动状态用手机APP显示。
主要由51单片机最小系统+ADXL345加速度传感器+lcd1602液晶电路+蓝牙模块电路+呼吸灯电路+电源电路组成;如图:

二.设计功能
(1)通过ADXL345检测步数,然后通过蓝牙模块将步数,路程,卡路里及运动状态实时传输到手机。
(2)有动态呼吸灯指示走路情况。
(3)液晶lcd1602实时显示步数,路程,卡路里及运动状态,运动状态分stand、lie、walk、run。
(4)手机通过蓝牙可实时显示当前行走的状态、步数、里程及消耗的能量。
三.设计原理图
(1)原理图主要采用AD软件进行设计,如图:

(2)PCB图如下:

四.软件设计
(1)程序流程图

(2)主程序源码
void main (void)
{
Init_Timer0(); //定时器0初始化
UART_Init();
LCD_Init(); //初始化液晶
DelayMs(20); //延时有助于稳定
LCD_Clear();
Init_ADXL345(); //清屏
if(Single_Read_ADXL345(0X00)==0xe5) //读出的数据为0XE5,表示正确
{
DelayMs(5);
}
else
{
DelayMs(3);
}
led=1;
while (1) //主循环
{
if(ReadAdxl345==1) //定时读取adxl345数据
{
BuShuCheck(); //检测步数
sprintf(dis1,"B:%04d J:%4.1fm ",BuShu/2,JuLi); //打印
LCD_Write_String(0,0,dis1);//显示
sprintf(dis2,"%7.2fcal ",KaLuLi); //打印
LCD_Write_String(0,1,dis2);//显示
if(statFlag == 0)//站着状态
{LCD_Write_String(11,1,"Stand");}
else if(statFlag == 1)躺着状态
{LCD_Write_String(11,1,"Lie ");}
else if(statFlag == 2)//跑着状态
{LCD_Write_String(11,1,"Run ");}
else if(statFlag == 3)//走着状态
{LCD_Write_String(11,1,"Walk ");}
}
if(ReportFlag==1) //2s
{
ReportFlag=0;
sprintf(dis0,"*B:%04d",BuShu/2); //上报步数
SendStr(dis0,7);
sprintf(dis0,"J:%04.1fm",JuLi); //上报距离
SendStr(dis0,7);
sprintf(dis0,"K:%07.2fcal",KaLuLi); //上报卡路里
SendStr(dis0,12);
if(statFlag == 0)//站着状态
{SendStr("Stand#",6);}
else if(statFlag == 1)躺着状态
{SendStr("Lie #",6);}
else if(statFlag == 2)//跑着状态
{SendStr("Run #",6);}
else if(statFlag == 3)//走着状态
{SendStr("Walk #",6);}
SendStr("rn",2);
}
}
}
史海拾趣
|
大家新年好,欢迎加入Google android的qq群:54011153 大家新年好,欢迎加入Google android的qq群:54011153。欢迎访问:http://www.loveandroid.com 谢谢。… 查看全部问答> |
|
以下是今年TI杯电子设计大赛发布的主要仪器和清单,各位大侠针对元器件和仪器发表一下想法,能出什么样的题目勒? 1、基本仪器清单 50MHz(以上)双通道数字示波器 双路可调直流稳压电源 函数信号发生器(0.1Hz~20MHz,具有外调制功能) ...… 查看全部问答> |
|
【二】【FPGA助学系列—技巧篇】OrCAD与FPGA软件协同设计 replyreload += \',\' + 1486336;现在的很多PCB工具和FPGA开发软件都有附带的接口,可以相互转换。将PCB设计软件中的管脚转换成FPGA的约束文件,或者再FPGA调整之后再次导入PCB。建议大家在对FPGA管脚的IO命名时采用既符合PCB工具又符合FPGA设计工 ...… 查看全部问答> |
|
【Cortex-A9开发板】迅为Exynos4412开发板扩展GPS应用的方法 利用GPS定位卫星,在全球范围内实时进行定位、导航的系统,称为全球卫星定位系统,简称GPS。GPS导航系统的组成如下:1、路径引导:引导用户沿着所规划的路径行驶;2、人机接口:提供友好的界面允许用户与系统进行人机交互;3、无线通讯模块:允许用户 ...… 查看全部问答> |
|
TFT的驱动,一直在关心,最初接触到三星的2440,在规模小的单片机中并未发现,STM32F1等中虽然可以驱动TFT,但并非扫描方法。而F4以后就真正实现了TFT的扫描式驱动。 有些应用 ...… 查看全部问答> |




