找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 18534|回复: 31
打印 上一主题 下一主题
收起左侧

STM32F103VET6的智能手表制作,开放源代码 原理图

  [复制链接]
跳转到指定楼层
楼主

工程文件和项目源码如下:
(终结版不覆铜)STM32F103VET6 蓝牙 2.0寸TFT.rar (275.97 KB, 下载次数: 325)
智能手表源码.7z (11.29 MB, 下载次数: 305)


基于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文件来看看。


主程序预览:

  1. #include "include.h"
  2. FATFS fs[2];


  3. int main(void)
  4. {

  5.         OS_ERR err;        
  6.         GUI_Init();        
  7.         GUI_Clear();
  8.         BUTTON_SetDefaultSkin    (BUTTON_SKIN_FLEX);
  9.         PROGBAR_SetDefaultSkin   (PROGBAR_SKIN_FLEX);
  10.         SCROLLBAR_SetDefaultSkin (SCROLLBAR_SKIN_FLEX);
  11.     SLIDER_SetDefaultSkin    (SLIDER_SKIN_FLEX);
  12.         HEADER_SetDefaultSkin    (HEADER_SKIN_FLEX);
  13.         
  14.                                                         //        delay_init();
  15.                                                         //        DS18B20_Init();
  16.                                                         //        disk_initialize(0);
  17.                                                         //        f_mount(0, &fs[0]);
  18.                                                         //        BMP_Decode(0,0,BACKPICUTE);
  19.         Rtc_Init();
  20.         Touch_Init();
  21.         TIM2_InitConfiguration(1000);
  22.         TIM6_InitConfiguration(0);
  23.         delay_init(1);
  24.         Bluetooth_Init();
  25.         GPRS_Init();
  26.         OSInit(&err);
  27.     OSTaskCreate((OS_TCB     *)&AppTaskStart_TCB,               /* Create the start task                                */
  28.                  (CPU_CHAR   *)"App Task Start",
  29.                  (OS_TASK_PTR )AppTaskStart,
  30.                  (void       *)0,
  31.                  (OS_PRIO     )APP_TASK_START_PRIO,
  32.                  (CPU_STK    *)&AppTaskStart_Stk[0],
  33.                  (CPU_STK_SIZE)APP_TASK_START_STK_SIZE / 10,
  34.                  (CPU_STK_SIZE)APP_TASK_START_STK_SIZE,
  35.                  (OS_MSG_QTY  )0,
  36.                  (OS_TICK     )0,
  37.                  (void       *)0,
  38.                  (OS_OPT      )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
  39.                  (OS_ERR     *)&err);
  40.         OSTaskCreate((OS_TCB     *)&App_INIT_TASK_TCB,               /* Create the start task                                */
  41.                  (CPU_CHAR   *)"Peripheral_Init_TASK",
  42.                  (OS_TASK_PTR )Peripheral_Init_TASK,
  43.                  (void       *)0,
  44.                  (OS_PRIO     )APP_INIT_PRIO,
  45.                  (CPU_STK    *)&App_INIT_TASK_Stk[0],
  46.                  (CPU_STK_SIZE)APP_INIT_TASK_STK_SIZE / 10,
  47.                  (CPU_STK_SIZE)APP_INIT_TASK_STK_SIZE,
  48.                  (OS_MSG_QTY  )0,
  49.                  (OS_TICK     )0,
  50.                  (void       *)0,
  51.                  (OS_OPT      )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
  52.                  (OS_ERR     *)&err);
  53.         OSTaskCreate((OS_TCB     *)&App_Touch_TASK_TCB,               /* Create the start task                                */
  54.                  (CPU_CHAR   *)"Touch_TASK",
  55.                  (OS_TASK_PTR )Touch_TASK,
  56.                  (void       *)0,
  57.                  (OS_PRIO     )APP_Touch_PRIO,
  58.                  (CPU_STK    *)&App_Touch_TASK_Stk[0],
  59.                  (CPU_STK_SIZE)APP_Touch_TASK_STK_SIZE / 10,
  60.                  (CPU_STK_SIZE)APP_Touch_TASK_STK_SIZE,
  61.                  (OS_MSG_QTY  )0,
  62.                  (OS_TICK     )0,
  63.                  (void       *)0,
  64.                  (OS_OPT      )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
  65.                  (OS_ERR     *)&err);        
  66.                                  
  67.                                  
  68.         OSTaskCreate((OS_TCB     *)&App_MPU6050_TASK_TCB,               /* Create the start task                                */
  69.                  (CPU_CHAR   *)"MPU6050_TASK",
  70.                  (OS_TASK_PTR )MPU6050_TASK,
  71.                  (void       *)0,
  72.                  (OS_PRIO     )APP_MPU6050_PRIO,
  73.                  (CPU_STK    *)&App_MPU6050_TASK_Stk[0],
  74.                  (CPU_STK_SIZE)APP_MPU6050_TASK_STK_SIZE / 10,
  75.                  (CPU_STK_SIZE)APP_MPU6050_TASK_STK_SIZE,
  76.                  (OS_MSG_QTY  )0,
  77.                  (OS_TICK     )0,
  78.                  (void       *)0,
  79.                  (OS_OPT      )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
  80.                  (OS_ERR     *)&err);
  81.         
  82.         OSTaskCreate((OS_TCB     *)&App_Display_TASK_TCB,               /* Create the start task                                */
  83.                  (CPU_CHAR   *)"Display_TASK",
  84.                  (OS_TASK_PTR )Display_TASK,
  85.                  (void       *)0,
  86.                  (OS_PRIO     )APP_Display_PRIO,
  87.                  (CPU_STK    *)&App_Display_TASK_Stk[0],
  88.                  (CPU_STK_SIZE)APP_Display_TASK_STK_SIZE / 10,
  89.                  (CPU_STK_SIZE)APP_Display_TASK_STK_SIZE,
  90.                  (OS_MSG_QTY  )0,
  91.                  (OS_TICK     )0,
  92.                  (void       *)0,
  93.                  (OS_OPT      )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
  94.                  (OS_ERR     *)&err);        
  95.         OSTaskCreate((OS_TCB     *)&App_GPRS_TASK_TCB,               /* Create the start task                                */
  96.                  (CPU_CHAR   *)"GPRS_TASK",
  97.                  (OS_TASK_PTR )GPRS_TASK,
  98.                  (void       *)0,
  99.                  (OS_PRIO     )APP_GPRS_PRIO,
  100.                  (CPU_STK    *)&App_GPRS_TASK_Stk[0],
  101.                  (CPU_STK_SIZE)APP_GPRS_TASK_STK_SIZE / 10,
  102.                  (CPU_STK_SIZE)APP_GPRS_TASK_STK_SIZE,
  103.                  (OS_MSG_QTY  )0,
  104.                  (OS_TICK     )0,
  105.                  (void       *)0,
  106.                  (OS_OPT      )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
  107.                  (OS_ERR     *)&err);        

  108.         OSTaskCreate((OS_TCB     *)&App_Backlight_TASK_TCB,               /* Create the start task                                */
  109.                  (CPU_CHAR   *)"Backlight_TASK",
  110.                  (OS_TASK_PTR )Backlight_TASK,
  111.                  (void       *)0,
  112.                  (OS_PRIO     )APP_Backlight_PRIO,
  113.                  (CPU_STK    *)&App_Backlight_TASK_Stk[0],
  114.                  (CPU_STK_SIZE)APP_Backlight_TASK_STK_SIZE / 10,
  115.                  (CPU_STK_SIZE)APP_Backlight_TASK_STK_SIZE,
  116.                  (OS_MSG_QTY  )0,
  117.                  (OS_TICK     )0,
  118.                  (void       *)0,
  119.                  (OS_OPT      )(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),
  120.                  (OS_ERR     *)&err);        

  121.                                  
  122.         OSStart(&err);
  123.         while(1);
  124. }

  125. int fputc(int ch, FILE *f)
  126. {
  127.         USART_SendData(USART3,(u8) ch);
  128.         while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET);
  129.         return ch;
  130. }
复制代码



评分

参与人数 2黑币 +11 收起 理由
bwginfo + 10
行百里 + 1 很给力!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏24 分享淘帖 顶4 踩
回复

使用道具 举报

沙发
ID:185016 发表于 2017-3-31 10:44 | 只看该作者
太好了,我需要资料
回复

使用道具 举报

板凳
ID:105206 发表于 2017-4-11 15:48 | 只看该作者
谢谢楼主的无私奉献,学习了。
回复

使用道具 举报

地板
ID:110780 发表于 2017-4-12 17:38 | 只看该作者
群主里面的资料好像不全啊
回复

使用道具 举报

5#
ID:130231 发表于 2017-4-25 23:22 | 只看该作者
很给力
回复

使用道具 举报

6#
ID:147231 发表于 2017-5-24 09:21 | 只看该作者
楼主好棒
回复

使用道具 举报

7#
ID:191785 发表于 2017-5-25 14:32 | 只看该作者
楼主很好。谢谢分享!
回复

使用道具 举报

8#
ID:79874 发表于 2017-5-26 16:46 | 只看该作者
xiexie 下来学习学习
回复

使用道具 举报

9#
ID:205182 发表于 2017-5-26 18:27 | 只看该作者
谢谢,学习了!
回复

使用道具 举报

10#
ID:210722 发表于 2017-6-13 10:54 | 只看该作者
怎么下载啊,没有分啊
回复

使用道具 举报

11#
ID:284472 发表于 2018-3-9 13:14 | 只看该作者
有用有用
回复

使用道具 举报

12#
ID:293203 发表于 2018-3-17 16:11 | 只看该作者
thanks
回复

使用道具 举报

13#
ID:299897 发表于 2018-3-31 14:21 | 只看该作者
楼主您好,可以留个联系方式吗
回复

使用道具 举报

14#
ID:118589 发表于 2018-3-31 17:47 | 只看该作者
学习一下,支持楼主
回复

使用道具 举报

15#
ID:214152 发表于 2018-4-20 14:18 | 只看该作者
感觉很高级的样子
回复

使用道具 举报

16#
ID:265406 发表于 2018-6-13 11:08 | 只看该作者
谢谢   如果能用就更感谢了,这是我好好学习的动力
回复

使用道具 举报

17#
ID:401214 发表于 2018-9-22 09:23 | 只看该作者
学习了
回复

使用道具 举报

18#
ID:158812 发表于 2018-9-22 10:58 | 只看该作者
手表怎么也得用低功耗产品把,用STM32L1
回复

使用道具 举报

19#
ID:276828 发表于 2018-10-8 12:34 | 只看该作者
谢谢   如果能用就更感谢了,这是我好好学习的动力
回复

使用道具 举报

20#
ID:280764 发表于 2018-10-13 11:03 | 只看该作者
这个好,做个标记
回复

使用道具 举报

21#
ID:416867 发表于 2018-10-31 15:21 | 只看该作者
为什么没有pcb呢
回复

使用道具 举报

22#
ID:263750 发表于 2018-11-1 17:48 | 只看该作者
有没有更全一点的资料,比如PCB图
回复

使用道具 举报

23#
ID:416867 发表于 2018-11-10 18:58 | 只看该作者
大神,为什么原理图的封装也没有,也没有编号
回复

使用道具 举报

24#
ID:400629 发表于 2018-11-16 23:21 来自手机 | 只看该作者
楼主技术好牛呀!
回复

使用道具 举报

25#
ID:74143 发表于 2018-11-23 16:30 | 只看该作者
支持楼主的分享。
回复

使用道具 举报

26#
ID:343925 发表于 2019-1-7 15:05 | 只看该作者

很给力
回复

使用道具 举报

27#
ID:594090 发表于 2019-8-2 13:37 | 只看该作者
感谢,正需要这个
回复

使用道具 举报

28#
ID:448158 发表于 2019-9-10 18:30 | 只看该作者
非常感谢楼主分享 ,正好想学这个
回复

使用道具 举报

29#
ID:671279 发表于 2019-12-24 13:21 | 只看该作者
真的大佬敢于面对秃头的人生,敢于直视细小的代码
回复

使用道具 举报

30#
ID:671279 发表于 2019-12-25 16:20 | 只看该作者
能发下设计方案嘛
回复

使用道具 举报

31#
ID:542130 发表于 2020-11-3 14:58 | 只看该作者
请问楼主最后出来的时间误差大么
回复

使用道具 举报

32#
ID:850396 发表于 2022-12-5 14:28 | 只看该作者
谢谢楼主的无私奉献。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表