本文转载自程序员极客实验室
还记得Pebble和索尼的墨水屏手表吗?
△图源:Wikipedia/SONY
现在,开源的墨水屏智能手表Watchy来了!
先来一睹为快,“PCB裸奔”风、“钢铁直男”风,以及注塑风……
△左图为改装版:Calculateur(图源:jochen)
对这些都无感?
没关系,开发者开源了用于3D打印的模型文件,用户可以定制自己想要的手表外观。
就像之前举办的设计比赛中这些作品:
此外,还有各种风格的表盘可供选择:
同样支持修改和自己创作,官网中给出了相当详细的教程:
不少技术宅网友已经忍不住下手了,其中不乏硬核玩家。
不得不说,颜值这块儿拿捏的死死的~
硬件准备
那么,这块表的内部构造是怎样的呢?
首先,开发者选择了超低功耗的GDEH0154D67作为屏幕,这是一块分辨率200x200的1.54英寸墨水屏,采用SPI接口,售价不到40元。
各个硬件在图中一目了然:
其中,微控制器选择的是乐鑫ESP32-PICO-D4模块(下图红色部分),ESP32芯片集成了2.4G无线和蓝牙功能。
主要的硬件和功能还包括:
• Silabs出品的USB转UART模块CP2104(下图U3),便于随时随地进行编程;
• 超小型、三轴、低重力加速度传感器BMA423(下图U4),用于运动追踪和手势检测;
• 售价20元左右的实时时钟DS3231(下图U6),支持日历和闹钟功能;
• 用于振动的迷你电机1020;
• 4个触觉按钮K2-1114SA-A4SW-06。
• 200mAh的3.7V锂电池402030和天线SWRA117D。
想从零开始的朋友,可以通过官网的图表清单,查看详细的物料。
此外,开发者还给出了原理图:
软件部分
搞定硬件部分,就要解决软件方案了。
开发者已经把所用框架封装进Watchy.h ,制作者从GitHub中即可获取。
其中还提供了一个简单的C++ Arduino API,能够在方向感应和计步方面,简化BMA423传感器读数。
图形显示部分采用的是GxEPD2,这是一个用于SPI墨水屏的Arduino显示库,依赖于绘制图像和文本的Adafruit GFX库。
计时部分则采用了支持DS3231实时时钟的DS3232RTC,同样来自Arduino。
这块表的标准版售价为59美元,折合人民币不到380元,组装后你就可以得到一块可佩戴的PCB手表(加钢化膜)了。
如果想要阳极氧化铝外壳,则需要另付315元。