|
工程文件和项目源码如下:
(终结版不覆铜)STM32F103VET6 蓝牙 2.0寸TFT.rar
(275.97 KB, 下载次数: 328)
智能手表源码.7z
(11.29 MB, 下载次数: 308)
基于STM32F103VET6的智能手表,开放源代码,电路原理图,系统采用STM32F103VET6(主控芯片)+uCOS(操作系统)-III+emwin5.24(图形界面)+MPU6050(三轴加速度传感器)+BC04(蓝牙模块)+GPRS+DS18B20。
湿度那个就没做啦
现在简单介绍一下它的功能。功能简介:
1.具有手表功能,可以查看当前日期、时间、以及环境的温度和湿度。
2.可以对当前的使用者运动的情况进行检测,检测运动的步数,运动时间以及运动过程中所消耗的体内能量情况。
3.可以检测当前使用者是否发生摔倒的情况,若摔倒则会以手机短信的形式发送到另一台固定的手机号码上。
4.可以进行家电控制的功能,控制空调的开关,温度以及模式,控制大灯,房间,厨房灯的开关和亮度。
5.可以设置当前整个手表系统的环境,设置日期、时间、计步的灵敏度、蓝牙开关、报警开关、以及屏幕的背光亮度,背光时长。
废话不多说,现在先上几张作品图。
1.发个外观图,这个是时间界面,首先先要说明,我在这里发某一个宝链接并不是打广告,只是方便让大家做的时候更容易找到所需要的元器件。这个屏幕选用,ili9342。2.0寸,320*240的液晶屏。
GPRS模块,它具有基站定位的功能。
2.计步界面(对应上面功能叙述2,下面同)
3.报警界面
4.蓝牙控制家电界面
5.系统设置界面
界面设计的挺人性化的,想必大家一看界面就知道是怎么操作的啦。
接下来就是系统的原理图,这里的图片看不清楚,大家有兴趣的话可以下载PDF文件来看看。
主程序预览:
- #include "include.h"
- FATFS fs[2];
- int main(void)
- {
- OS_ERR err;
- GUI_Init();
- GUI_Clear();
- BUTTON_SetDefaultSkin (BUTTON_SKIN_FLEX);
- PROGBAR_SetDefaultSkin (PROGBAR_SKIN_FLEX);
- SCROLLBAR_SetDefaultSkin (SCROLLBAR_SKIN_FLEX);
- SLIDER_SetDefaultSkin (SLIDER_SKIN_FLEX);
- HEADER_SetDefaultSkin (HEADER_SKIN_FLEX);
-
- // delay_init();
- // DS18B20_Init();
- // disk_initialize(0);
- // f_mount(0, &fs[0]);
- // BMP_Decode(0,0,BACKPICUTE);
- Rtc_Init();
- Touch_Init();
- TIM2_InitConfiguration(1000);
- TIM6_InitConfiguration(0);
- delay_init(1);
- Bluetooth_Init();
- GPRS_Init();
- OSInit(&err);
- OSTaskCreate((OS_TCB *)&AppTaskStart_TCB, /* Create the start task */
- (CPU_CHAR *)"App Task Start",
- (OS_TASK_PTR )AppTaskStart,
- (void *)0,
- (OS_PRIO )APP_TASK_START_PRIO,
- (CPU_STK *)&AppTaskStart_Stk[0],
- (CPU_STK_SIZE)APP_TASK_START_STK_SIZE / 10,
- (CPU_STK_SIZE)APP_TASK_START_STK_SIZE,
- (OS_MSG_QTY )0,
- (OS_TICK )0,
- (void *)0,
- (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
- (OS_ERR *)&err);
- OSTaskCreate((OS_TCB *)&App_INIT_TASK_TCB, /* Create the start task */
- (CPU_CHAR *)"Peripheral_Init_TASK",
- (OS_TASK_PTR )Peripheral_Init_TASK,
- (void *)0,
- (OS_PRIO )APP_INIT_PRIO,
- (CPU_STK *)&App_INIT_TASK_Stk[0],
- (CPU_STK_SIZE)APP_INIT_TASK_STK_SIZE / 10,
- (CPU_STK_SIZE)APP_INIT_TASK_STK_SIZE,
- (OS_MSG_QTY )0,
- (OS_TICK )0,
- (void *)0,
- (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
- (OS_ERR *)&err);
- OSTaskCreate((OS_TCB *)&App_Touch_TASK_TCB, /* Create the start task */
- (CPU_CHAR *)"Touch_TASK",
- (OS_TASK_PTR )Touch_TASK,
- (void *)0,
- (OS_PRIO )APP_Touch_PRIO,
- (CPU_STK *)&App_Touch_TASK_Stk[0],
- (CPU_STK_SIZE)APP_Touch_TASK_STK_SIZE / 10,
- (CPU_STK_SIZE)APP_Touch_TASK_STK_SIZE,
- (OS_MSG_QTY )0,
- (OS_TICK )0,
- (void *)0,
- (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
- (OS_ERR *)&err);
-
-
- OSTaskCreate((OS_TCB *)&App_MPU6050_TASK_TCB, /* Create the start task */
- (CPU_CHAR *)"MPU6050_TASK",
- (OS_TASK_PTR )MPU6050_TASK,
- (void *)0,
- (OS_PRIO )APP_MPU6050_PRIO,
- (CPU_STK *)&App_MPU6050_TASK_Stk[0],
- (CPU_STK_SIZE)APP_MPU6050_TASK_STK_SIZE / 10,
- (CPU_STK_SIZE)APP_MPU6050_TASK_STK_SIZE,
- (OS_MSG_QTY )0,
- (OS_TICK )0,
- (void *)0,
- (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
- (OS_ERR *)&err);
-
- OSTaskCreate((OS_TCB *)&App_Display_TASK_TCB, /* Create the start task */
- (CPU_CHAR *)"Display_TASK",
- (OS_TASK_PTR )Display_TASK,
- (void *)0,
- (OS_PRIO )APP_Display_PRIO,
- (CPU_STK *)&App_Display_TASK_Stk[0],
- (CPU_STK_SIZE)APP_Display_TASK_STK_SIZE / 10,
- (CPU_STK_SIZE)APP_Display_TASK_STK_SIZE,
- (OS_MSG_QTY )0,
- (OS_TICK )0,
- (void *)0,
- (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
- (OS_ERR *)&err);
- OSTaskCreate((OS_TCB *)&App_GPRS_TASK_TCB, /* Create the start task */
- (CPU_CHAR *)"GPRS_TASK",
- (OS_TASK_PTR )GPRS_TASK,
- (void *)0,
- (OS_PRIO )APP_GPRS_PRIO,
- (CPU_STK *)&App_GPRS_TASK_Stk[0],
- (CPU_STK_SIZE)APP_GPRS_TASK_STK_SIZE / 10,
- (CPU_STK_SIZE)APP_GPRS_TASK_STK_SIZE,
- (OS_MSG_QTY )0,
- (OS_TICK )0,
- (void *)0,
- (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
- (OS_ERR *)&err);
- OSTaskCreate((OS_TCB *)&App_Backlight_TASK_TCB, /* Create the start task */
- (CPU_CHAR *)"Backlight_TASK",
- (OS_TASK_PTR )Backlight_TASK,
- (void *)0,
- (OS_PRIO )APP_Backlight_PRIO,
- (CPU_STK *)&App_Backlight_TASK_Stk[0],
- (CPU_STK_SIZE)APP_Backlight_TASK_STK_SIZE / 10,
- (CPU_STK_SIZE)APP_Backlight_TASK_STK_SIZE,
- (OS_MSG_QTY )0,
- (OS_TICK )0,
- (void *)0,
- (OS_OPT )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
- (OS_ERR *)&err);
-
- OSStart(&err);
- while(1);
- }
- int fputc(int ch, FILE *f)
- {
- USART_SendData(USART3,(u8) ch);
- while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET);
- return ch;
- }
复制代码
|
评分
-
查看全部评分
|