亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino Apple Watch

组件和用品

SparkFun Arduino Pro Mini 328 - 3.3V/8MHz
× 1
Adafruit Bluefruit LE - 低功耗蓝牙 (BLE 4.0) - nRF8001突围 - v1.0
× 1
Adafruit 单色 0.96" 128x64 OLED 显示屏
× 1
Adafruit 锂离子聚合物电池 - 3.7v 100mAh
× 1
Micro-USB 连接器
× 1
1M 欧姆 1206 贴片电阻
× 3
带 Sprint 的 20 毫米表带
× 1
USB-A 转 Micro-USB 线缆
× 1
2x5mm 螺丝
× 4
SparkFun LiPo Charger Basic - Micro-USB
× 1
SparkFun FTDI 基本突破 - 3.3V
× 1
50x50mm 铝板
× 1
矩阵或条形板
× 1

必要的工具和机器

烙铁(通用)
3D 打印机(通用)
其他常用工具如锯子、钳子、螺丝刀和刀具

应用和在线服务

Arduino IDE

关于这个项目

我想要一款智能手表,它可以显示 iPhone 的通知,小到可以佩戴,并且有一个至少可以使用一天的可充电电池。我基于 Arduino 创建了自己的 Apple Watch。它是一款基于 Arduino mini pro 的智能手表,通过蓝牙连接到 iPhone。 USB-micro 端口连接到电池,使充电变得轻松简单。前面的电线是触摸按钮,如果您将手指放在上面,它们就会感应到,这使您可以与手表进行交互。

当收到新通知时,手表会自动将时间与 iPhone 上的时间同步。这使得手表更可靠,对 Arduino 的延迟更不敏感。 10 秒后,屏幕将关闭以节省电池电量。如果触摸中间按钮或收到新通知,屏幕会唤醒。

我看到了 Luke Brendt 的页面 (http://lukeberndt.com/2014/ios-notifications-with-arduino/) 并看到他创造了我想要实现的相同目标,但我需要设备更小,可穿戴。我在这个项目中使用的是布伦特的 ANCS Arduino 库。 ANCS 代表 Apple 通知中心服务,Apple 对其进行了如下描述。 “Apple 通知中心服务 (ANCS) 的目的是为蓝牙配件(通过蓝牙低功耗链接连接到 iOS 设备)提供一种简单方便的方式来访问在 iOS 设备上生成的多种通知。”

以下是一个教程,让您可以自己构建这款智能手表。

第 1 步:电气硬件组装

从电路图中可以看出,有许多电线要连接,所有组件都应该靠得很近,这是一个挑战。

经过一些迭代,我想出了这些步骤,使组装更容易。我建议看一下图片,看看我是如何解决连接线的一些问题的。

1. 使用软线将 Bluefruit LE 连接到 Arduino。

2. 为触摸按钮创建电路板并连接引脚。用软线将此板连接到 Arduino。 (管脚与LED二极管切断)

3. 修改OLED显示屏的一些引脚,组装到Arduino上。

以下步骤可以等到代码上传并验证硬件功能正常。

4. 将一根软线接地,使其足够长以到达需要与身体接触的手表背面。 (这是必需的,因为电容式触摸需要接地参考才能正常工作)

5. 使用软线将微型 USB 连接器连接到地和 RAW。查看 USB 微型引脚图,了解接地和正电压应如何连接。 (注意!将正极线从 USB 连接到 RAW 而不是 VCC)。

6. 用软线将电池连接到地和 RAW(注意!将电池的正极线连接到 RAW 而不是 VCC)。

另外,需要为手表定制一个充电器:

1. 剪断 USB 微型电缆。

2. 将 USB 电缆中的红线连接到电池连接器的红线,将 USB 电缆中的黑线连接到电池连接器的黑线。

重要!

请注意,智能手表不能通过普通 USB 微型电缆从 USB 直接使用 5V 充电。需要使用 Li-Po 充电器,否则可能会损坏电池。

评论:

元件之间尽量用胶带隔离,避免短路。

第 2 步:软件

以下库用于智能手表。但是,有些需要一些修改才能使用所用的硬件,这将在下面解释。

图书馆:

- 用于 Arduino 的 ANCS 库 (https://github.com/robotastic/ANCS-Library/tree/master)

- 适用于 Arduino 的蓝牙低功耗 SDK (https://github.com/NordicSemiconductor/ble-sdk-Arduino)

- 用于屏幕的 U8glib (https://github.com/olikraus/u8glib)

- 电容传感库 (https://playground.arduino.cc/Main/CapacitiveSensor?from=Main.CapSense)

修改如下:

1. 库:Arduino ANCS 库,文件:notif.cpp,行:826。 需要更改此设置才能使 Bluefruit 模块正常工作。

aci_state.aci_pins.reset_pin =9; // 改为 9  

为了使时间正确同步,需要执行以下更改以修复库中的一些错误

2. 库: Arduino ANCS 库,文件:ancs_data_source.cpp

  • 用 ancs_data_source.cpp PDF 中的代码替换整个代码 链接
  • 在 ancs_data_source.cpp 的第 217 行添加以下注释行。
case ANCS_NOTIFICATION_ATTRIBUTE_DATE:debug_print(F(", Date:")); // YYYYMMDDTHHMM 日期时间 =(char*)malloc(5); //添加这一行! strncpy(datetime, buffer, 4); 

3. 库:用于 Arduino 的 ANCS 库,文件 ancs_notification.h

  • 用这里的 ancs_notification.h PDF 中的代码替换整个代码 链接 .

Arduino mini pro 缺少板载编程器,因此需要外部编程器。我使用了这个:Sparkfun FTDI (https://www.sparkfun.com/products/9873)。

评论:

附带的 zip 文件夹包含在 Arduino 上运行的代码以及所需的所有库。库修改如上。对 Arduino 代码进行了注释,希望能解释这些功能。

我在尝试使用 Arduino IDE 1.8.3 编译代码时遇到问题,这是由于 GCC 编译器中的已知错误造成的。我下载并安装了 Arduino IDE 1.0.6,并且能够编译和上传代码。

第 3 步:智能手表外壳

画一个足以容纳所有组件的案例,zip 文件夹中附有此项目中使用的案例的 stl 文件。 (表壳设计进行了两次迭代。这就是为什么某些图片中表壳的形状可能会有所不同。)

后盖由旧盒子中的铝板制成。切出一块适合外壳并为螺钉钻孔。对于项目中使用的表壳和腕带,孔之间需要有间隙。如果后盖由导电材料制成,则很好,因为接地线将连接到此后盖。为了在铝板上获得干净和笔直的边缘,我将铝板夹在两块木块之间,并使用金属锯。

3D打印的外壳需要做一些处理,完成了这些步骤:

1. 用细砂纸打磨表壳。

2. 从喷雾罐中涂抹填料,确保它很好地覆盖外壳。

3. 再次用细砂纸打磨表壳。 (可能需要重复第 3 步和第 4 步,直到达到光滑的效果。这些步骤我重复了 3 次。)

4. 用喷雾罐涂上油漆,确保它很好地覆盖外壳。

评论:

按照喷雾罐上的说明进行操作以达到最佳效果。

第四步:最后组装

首先,将触摸按钮插脚插入外壳下方的孔中。将它们向后弯曲并将它们插入外壳的顶部孔中。将电线向下压,使它们贴合良好且光滑。

只需将其余组件向下推,尽量将屏幕放在一个合适的位置。我在对齐机箱中的屏幕时遇到了严重的问题。这取决于组件组装和外壳设计。这就是屏​​幕有点旋转的原因。

将 USB 微型连接器穿过侧面的孔。 (我用胶带将大腿贴合在孔中,让连接器保持在原位。)

将机身接地线焊接到后盖上,并用胶带隔离后盖。用四颗螺丝固定后盖。

第 5 步:如何使用智能手表

智能手表使用起来很简单。只需进入 iPhone 上的蓝牙设置,启用蓝牙,然后查找名为“ANSC rusk”的设备并选择此配对。智能手表和 iPhone 现在已配对,智能手表将收到与 iPhone 上显示的相同的通知。

如果同时触摸中间按钮和右侧按钮,手表将重新启动。如果连接出现问题,这很有用。

要为电池充电,只需插入修改后的 USB 电缆并将其连接到 Li-Po 充电器。

代码

  • Arduino Apple Watch.zip
Arduino Apple Watch.zipArduino
在 zip 文件中,所有修改过的库和代码都可用。
无预览(仅限下载)。

定制零件和外壳

适合所有组件的智能手表外壳。

示意图

连接电路图中的组件

制造工艺

  1. 观看
  2. 使用 Adafruit 1/4 60 Ring Neopixel 的简单挂钟
  3. Arduino Spybot
  4. FlickMote
  5. 自制电视 B-Gone
  6. UnifiedWater v1
  7. 主时钟
  8. 找到我
  9. Arduino Power
  10. 英特尔 Arduino 101 BLE Blynk Tank
  11. Tech-TicTacToe
  12. Arduino Quadruped