当前位置:首页 > 物联网 > 可穿戴设备
[导读] 说到可穿戴设备,我们一般首先想到的就是智能手表。买一个时尚的智能手表当然不错,但作为一个创客,你也可以选择和我一样自己做一个!   我给这个DIY

说到可穿戴设备,我们一般首先想到的就是智能手表。买一个时尚的智能手表当然不错,但作为一个创客,你也可以选择和我一样自己做一个!



 

我给这个DIY的智能手表起名为RetroWatch,整个项目基于Android和Arduino开发板,项目的所有软硬件设计都是开源的。你可以在GitHub下载源码或贡献自己的力量。另外值得一提的是RetroWatch已经支持u8glib了,它让你可以选择任何你想用的屏幕(包括OLED),而屏幕所占用的RAM也能变得更少。

第一步:系统结构设计

如上图所示,RetroWatch的结构比较简单:硬件平台基于Arduino,上面只有一个控制按钮。另外,我还开发了基于安卓系统的应用,让手表可以通过蓝牙和安卓设备进行连接,这样我们就可以通过RetroWatch查看安卓设备上的RSS推送和系统通知了。

第二步:组件准备

因为我们要做的是一个智能手表,确保各个组件的小巧也是关键之一。

Arduino微控制器

我选择的是最小巧的Arduino,ProMini,这是一个UnoR3的轻量级版本。上面甚至没有USB接口芯片,所以还需要额外准备一个USB转UART模块。这款Arduino有两个工作电压不同的版本(3.3v/5v),我选择的是3.3V的版本,因为蓝牙模块和显示屏都支持3.3V,3.7V的LiPo电池也能正常使用。

3.3V版本的Arduino的工作频率为8MHz,5V版本的工作频率为16MHz,但8MHz足够使用了。

一般ArduinoProMini的核心处理器件是ATmega328单片机,其RAM为2KB;而只配置有1KBRAM的ATmega128的Arduino版本是不够用的。

蓝牙

HC~06蓝牙模块比较常见。其中有一款带有一个接口板,上面包含一个重置按钮和一个LED,但体积也相对较大。鉴于接口板对本项目没多大意义,还额外增加了成本,所以这里选择的不带接口板的HC~06。

显示屏

我们需要一块足够小、功耗足够低的显示屏。我最后选择了Adafruit的0.96英寸的128&TImes;64OLED显示屏,支持I2C,SPI,可以很方便地和Arduino进行连接。我这里选用的是I2C和SSD1306驱动芯片。

电池

我的选择是3.7VLiPo电池,容量为140mAh。一般使用可坚持7小时。同样,选择电池的尺寸很重要。

其它

除了线材等组件之外,还需要用到一颗10kΩ电阻(用于按钮连接)。

第三步:组装

整个系统的硬件结构连接图如下所示:

蓝牙连接Arduino:

VCC~3.3V

GND~GND

TX~D2

RX~D3

OLED连接Arduino:

GND~GND

VCC~VCC

SDA~A4(模拟引脚4)

SCL~A5(模拟引脚5)

如果使用的是SPI接口,则可以参考Adafruit教程按如下方式连接:

D1:MOSI~ArduinoD11(MOSI)

D2:MISO~ArduinoD12(MISO)(可选)

D0:CLK~ArduinoD13(SCK)

DC:DC(数据命令)~ArduinoD8(或其它)

CS:CS(芯片选择)~ArduinoD10(SS)

RES:RESET~ArduinoD9(或其它)

按钮:

连接方式如图,注意这里要用到一个10kΩ电阻。

电池连接Arduino:

正极~RAW

负极~GND

USB转UART模块连接Arduino:

3.3V~VCC

TXD~RXD

RXD~TXD

GND~GND

安装尺寸如下:

第四步:编译Arduino代码并上传

已经做好的Arduino项目可以在GitHub上下载。下载好了之后别急着编译,还需要先配置一下开发环境。

安装图形驱动:

首先需要安装图形处理库Adafruit_SSD1306和Adafruit-GFX-Library,这样才能在OLED上显示图像。(在某些开发环境下,Adafruit库会与Robot_xxx库产生冲突;如果发生了这种情况,备份Robot_xxx库后将其从库文件夹中删除。)

警告:如果你使用的是带SH1106驱动的OLED,那就在GitHub上下载Adafruit_SH1106驱动。

另外,本项目也支持u8glib了,你可以在其官方主页下载支持Arduino的版本。

复制位图图像头文件:

将RetroWatchArduino文件夹中的bitmap.h文件复制到路径/Arduino安装文件夹/Arduino/hardware/libraries/RetroWatch。如果没有这样的路径,可以自己创建。

修改源代码:

打开ArduinoIDE并载入RetroWtchArduino.ino。如果你使用的引脚和本教程不一样,需要对引脚定义进行修改:

SoftwareSerialBTSerial(9,8);//蓝牙TX,RX连接引脚

intbuttonPin=5;//按钮引脚

display.begin(SSD1306_SWITCHCAPVCC,0x3C);//OLEDI2C地址,使用你的地址替换Ox3D

如果你使用的是u8glib,那么就载入RetroWatchArduino_u8glib.ino文件,然后注意以下代码:

U8GLIB_SSD1306_128X64u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);//根据你选用的显示屏进行修改

SoftwareSerialBTSerial(2,3);//蓝牙TX,RX连接引脚

intbuttonPin=5;//按钮引脚

如果你使用的是Adafruit的图形库,并有使用到OLED的Reset引脚,那就将OLED的Reset和Arduino的D8引脚相连,当然也可以自定义:

#defineOLED_RESET8

Adafruit_SSD1306display(OLED_RESET);

编译和上传:

以上步骤完成之后编译上传,成功之后显示屏上面会显示RetroWatchArduinoLogo和AdafruitLogo。Logo之后屏幕会显示00:00,如下图所示:

第五步:安卓软件及其源代码

因为Android4.3之后的版本才支持从应用读取通知信息,所以请确保你的安卓设备安装的是Android4.3或更新的系统版本。但如果你使用的是低于4.3的版本,可以使用另一个阉割版的应用:能够通过智能手表接收通知,但无法读取内容。应用源代码可以在GitHub上查看,也可以直接通过GooglePlayStore进行安装(RetroWatch或适合低版本系统的RetroWatchLE)。

安卓软件安装之后检查一下系统是否授予了其读取通知的权限。

接下来打开手机蓝牙,将安卓手机和Arduino的蓝牙进行配对。然后在RetroWatch软件中选择连接好的Arduino,界面上显示“Connected”即表示连接成功。

点击菜单,选择DatatransfertoWatch(传输数据到手表),然后设备会用过蓝牙将时间和信息传输到智能手表。

因为手表硬件的性能有限,很多功能我们需要通过安卓应用实现,手表本身的主要功能是显示。在安卓应用中,你可以设置可推送消息(仅支持英文字符显示)和状态通知(手机电池电量和信号强度等)的类型,也可以推送应用中订阅的RSS(可以订阅天气RSS,用来在手表上显示天气)。更新每30分钟同步一次。

另外,应用中还提供了65个不同的显示图标,你可以自己定义设置。

第六步:手表功能介绍

安装就绪之后就该探索一下我们的智能手表了。智能手表的系统按照以下模式工作:

启动显示:显示Logo,手表启动。

时钟显示:显示与之相连的安卓手机上的时间。另外,时间的显示还可以修改,目前提供了模拟显示、数字显示和混合显示三种模式。如果你点击一下按钮,则手表进入紧急信息显示模式。如果10分钟内没有什么数据更新和操作,则显示界面会切换到待机界面。

紧急信息显示:当用户点击按钮或有新的紧急信息输入时,手表进入这一模式。用户可以再次点击按钮查看下一条信息,10秒不操作,手表也会自动显示下一条信息。信息显示完成之后,手表切换到普通信息显示。因为RAM只有2KB,非常小。所以该智能手表最多存储3条紧急信息,多于3条时则自动删除最旧的信息。

普通信息显示:紧急信息展示完成之后手表会继续展示普通信息,点击按钮或5秒不操作就显示下一条信息。信息显示完成之后,手表切换回时钟显示。普通信息最多存储7条。

待机显示:如果10分钟内没有什么数据更新和操作,显示界面会切换到待机界面。在这一模式下,手表界面仅显示指示符(可在安卓应用中选择)和hh:mm模式的时间,其功耗也降低了。在待机模式下点击按钮或收到新信息,手表进入时钟显示模式。

下面是工作过程演示视频:

第七步:外部结构制作

你可以自己手工制作一个简单的包装:

也可以下载3D文件制作一个造型炫酷的手表:

当然,你完全可以选择不戴手表,做个桌面提醒器也不错:

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

【2026年10月9日,德国慕尼黑讯】全球功率系统和物联网领域的半导体领导者英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)与mPTech进一步深化合作,为其新一代可穿戴设备打造安全、便捷的支付体...

关键字: 智能手表 NFC 消费电子

株式会社村田制作所(以下简称“村田”)开发出了实现微小0201英寸尺寸(0.6mm×0.3mm)(1)的“LLD系列”(以下简称“本产品”)。该产品属于3端子低ESL(2)片式多层陶瓷电容器(3)(以下简称“3端子电容器...

关键字: 智能手表 电容器 PCB

2026 年 9 月 24 日,中国北京讯 - 全球半导体解决方案供应商瑞萨电子(TSE:6723)今日宣布推出SLG46801,这是一款提供WLCSP及STQFN封装的GreenPAK可配置混合信号器件。该9焊球WLC...

关键字: 智能手表 运动手环 VR眼镜

智能手表电池就 300–500 mAh,屏幕常亮 + 心率 + GNSS 一开,峰值能冲到 200 mA,待机却要压到 μA 级——PMIC 如果只盯着"路数够不够",不盯轻载效率和时序,续航直接砍三分之一。下面这套在...

关键字: 智能手表 低功耗设计 PMIC

在智能手表(Wear OS / RTOS平台)中,休眠(Sleep / Stop / Standby)模式的选择与切换策略直接决定待机续航。同一颗MCU(以STM32L4+ nRF5340双核典型组合为例),不同休眠深度...

关键字: 智能手表 低功耗设计

小时候,我曾梦想制作自己的智能手表。那时我对工程、电子或3D设计一无所知,但我的想象力却充满了各种创意。于是,作为一个孩子,我用纸板制作了一只手表。它并不是真正能正常使用的表,但它给了我更多珍贵的东西——快乐、兴奋,以及...

关键字: 智能手表 微控制器 树莓派 RP2040

作为创客,我们常常会看到满堆的损坏电子设备,等待着被重新利用。与其直接丢弃这些废弃物品,我决定将一部旧的、损坏的智能手表改造成一个功能齐全、小巧如钥匙扣的游戏主机。我的目标是打造一个体积微小却极具娱乐性的装置,同时通过回...

关键字: 智能手表 ESP32 Arduino

负责发展蓝牙™技术的国际标准组织蓝牙技术联盟(Bluetooth SIG)正式推出全新的“蓝牙™市场数据平台”(Bluetooth® market dashboard)。该平台是一个交互式在线资源,通过集中化的数据分析,...

关键字: 蓝牙 智能手表 AR

项目介绍:本项目展示了基于小智AI聊天机器人的一款简单硬件实现方案,采用了 ESP32-S3 N16R8 模块、单个麦克风和扬声器、两个按钮、电容式触摸屏以及内置的 AXP2101 电源管理芯片。

关键字: 智能手表 AI AXP2101

在智能穿戴设备向高精度定位场景渗透的趋势下,UWB(超宽带)技术凭借厘米级定位精度成为智能手表实现室内导航、健康监护等功能的理想选择。然而,复杂人体环境与动态运动场景对UWB系统的硬件校准精度与软件算法鲁棒性提出严苛挑战...

关键字: UWB 智能手表 室内定位系统
关闭