自制一块有灵魂的户外运动手表,Hello WatchT !
做这块手表是绝对好玩,所有硬件的东西,小巧精致我都觉得比较有意思,都想尝试制作一下。这个手表的设计初衷是看到了一个 Arduino 的开源项目:WatchX,有兴趣的朋友可以了解这个项目。于是我觉得我也可制作一款类似,但是却完全不同的手表。类似体现在总统的设计思路类似:都是在PCB上集成且采用尼龙编织表带;但同时又完全不同:芯片方案和传感器完全不一样。
概述
在我自己设计的手表中,我使用 STM32F401CC
作为核心芯片,打在 ADXL345
三轴加速度计,板载 BMP180
气压计,外加一颗震动反馈马达。在这个设计里,我希望三轴加速度计可以帮助我实现运动感知和计步,气压计可以帮我实现海拔和温度测量,毕竟我自定义这是一款户外手表,那么气压跟海拔就是必须的选择。在此基础上行,手表必备的功能包括了时间、秒表和基本的操控。
这些,通过软件我都可以相对轻松的实现。
这个手表前后做了两个版本,第一个版本没有蜂鸣器,第二个版本加了蜂鸣器。目前第一个版本的手表板我只留了裸板做纪念,没有焊接屏幕和电池。
第一版(裸板)和第二版。
好玩的功能
主要介绍下第二版,因为第二版是第一把的升级,增加了蜂鸣器外设,修改了三速度计方案,把 AXDL345
换成了 LIS3DH
,在体积上更小,集成度也相对更高。第二版的基本外设包括:
- 四个可编程用户按钮;
- 板载UART调试串口;
- 基于
TP4057
的锂电池充电方案,通过一个MOS管可以在 USB 和电池之间自动切换电源; - 一颗BMP180气压计,同时可以测量温度;
- 一颗震动马达,提供震动反馈;
- 一颗板载的蜂鸣器;
- 一颗可编程LED(LED逆向使用可以作为光线传感器);
- OLED显示屏,分辨率 128×64,单色;
基于这些外设可做什么?其实很多!首先,这是一块手表,其次,这是一块户外运动手表。所以可以实现且已实现的功能如下:
- 计步器,类似小米手环;
- 秒表;
- 定时器;
- 海拔高度计;
- 温度计;
- 姿态感应器(可做抬手亮屏);
- 高度差测量;
- 水平仪;
- 等等等…
设计
依然使用Eagle PCB进行原理图和PCB设计,前后有两个版本,下图为第一个版本。
后来改版做了第二个版本。
实物
因为板载了加速度计,所以可以急于加速度做触碰亮屏等功能,相当于检测此时手指有没有点击手表,因为点击相当于碰撞,碰撞会导致加速度计的瞬时值异常,通过检测这种异常就可以实现手指触碰,这也就是为什么小米手环一代可以没有按钮,但依然可以东莞手指点击手环来实现配对等功能的原因,总之这是一个很有用也很好玩的功能。
这是第一版的主板,现在是留纪念。
资料
这里给出原理图,喜欢的朋友可以酌情参考。