麦斯科技 · 2023年04月16日 · 四川

如何打造自己的树莓派Pi手表

https://www.raspberrypi.com/news/how-to-build-your-own-raspberry-pi-watch/
作者:Ashley Whittaker 2023年4月14日

我们的常驻制造商Toby和我们的文档主管Alasdair都在谈论树莓派RP2040手表的想法。当他们环顾四周,看看是否有其他人已经想出了这个主意并制作了一个时,他们在Tindie上偶然发现了一个基于RP2040的1.28英寸TFT显示屏和手表开发板(https://www.tindie.com/products/adz1122/pi-pico-rp2040-128-inch-tft-display-watch-board/)。

DSC07554-1024x576.jpg

那么,Pi Towers的所有工程师显然太忙了,无法聚焦他们的手表构想,于是他们继续买了一对手表来玩(https://twitter.com/aallan/status/1634647712116142090)。

1.PNG

Tindie的版本售价35.50美元,但如果你有能力体验这种特殊的购物体验,那么在速卖通上可以找到更便宜的同一型号开发板(https://www.aliexpress.com/w/wholesale-rp2040-watch.html?catId=0&initiative_id=SB_20230412015424&SearchText=rp2040+watch&spm=a2g0o.productlist.1000002.0)。

自制技巧

Toby和Alasdair购买的手表分为两部分:一块带屏幕的子板和一块RP2040主板(https://www.raspberrypi.com/products/rp2040/)。这款手表配有表带,但没有电池,所以他们使用了这种便宜的可充电锂聚合物电池(https://www.amazon.co.uk/gp/product/B0BHY31DCW/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1),尽管由于主板上的JST电池连接器尺寸不常见,他们都选择将其拔下,并将电池直接焊接到主板上的触点上,而不是尝试采用奇怪的连接器。

2.PNG

虽然这款手表确实预装了固件,显示了一个简单的表盘,但根本没有任何文档。因此,Alasdair开始进行逆向工程,试图破解更多关于硬件的信息。与此同时,Toby开始设计一款3D打印表壳,其他Raspberry Pi手表爱好者可以自行复制。这种情况下的STL文件可以在Printables上免费获得(https://www.printables.com/model/450477-case-for-raspberry-pi-rp2040-128-inch-tft-display-)。

软件探索

Alasdair仔细查看了固件内部,发现未识别的显示器是GC9A01(https://www.google.com/search?q=gc9a01+display&oq=GC9A01+display&aqs=chrome.0.0i512j0i22i30l3j69i64.3100j0j4&sourceid=chrome&ie=UTF-8),这意味着该显示器可以通过CircuitPython和MicroPython的SPI驱动。他还确定了板上的IMU为QMIC88658(https://datasheet.lcsc.com/lcsc/2108161930_QST-QMI8658C_C2842151.pdf),以及三个面向用户的按钮连接到RP2040上的哪个I/O引脚。

IMG_5521-1024x768.jpg

当他发现他们在Tindie上发现的手表看起来真的很像使用相同1.28英寸显示屏的Waveshare板(https://www.waveshare.com/wiki/RP2040-LCD-1.28)时,事情开始加速,而且只要稍微调整一下引脚连接,Wavesshare示例代码(https://gist.github.com/aallan/8f22a32c73696fe61c4c43d00063faa4)在他们的手表上或多或少是开箱即用的。最后,他偶然发现了手表上附带的固件的GitHub代码(https://github.com/dawigit/picoclock)。对他来说,这是一个停下来的好地方。

Alasdair修改了自己的RP2040手表,使其顶部朝向他的手,因为“这样我在打字时就能正确地看到时间”,这对他来说很特别,但并没有超出我们的预期。

IMG_5523-1024x768.jpg

这是Toby和Alasdair在这篇文章中看到的手表最终版本上使用的代码(https://gist.github.com/aallan/ea16d05f7967d8ab899dfff12833a70f)。如果你尝试过集成手表上的按钮和运动传感器,请提出一些建议,我们期待一款好的升级版。你可以在Alasdair的“Hello World”示例代码(https://gist.github.com/aallan/2e86e36177b42c919697c9d8682e36e8)中找到它们所连接的引脚。

最后,如果你喜欢的学习方式是滚动浏览推特,详细描述Alasdair在完成整个手表制作过程中的整个思维过程,请点击此处(https://twitter.com/aallan/status/1634647712116142090)。

推荐阅读
关注数
5845
内容数
525
定期发布Arm相关软件信息,微信公众号 ArmSWDevs,欢迎关注~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息