Arduino + 3D 打印 DIY 电子手表

网友投稿 2019-09-17 12:43

https://cdn.china-scratch.com/timg/190919/1243444392-0.jpg

MAKER:陳亮/ 译:趣无尽

本期介绍一块由 Arduino 驱动的电子表。项目非常简单,用到了时钟模块、IPS 屏幕、一块 301420 锂电池和 3D 打印外壳,你也可以自选尺寸更小的 Arduino 开发板来实现它。这个项目更大的意义在于完整地介绍了如何将这些部件组合在一起实现电子表的功能。

材料清单

https://cdn.china-scratch.com/timg/190919/12434412N-1.jpg

Arduino 开发板×1
ST7789 1.3“IPS 显示器×1
301420 锂电池×1
锂电池充电板×1
DS3231M RTC芯片×1
RTC电池×1
表带×1
二极管1N5822×1
6毫米M2螺丝×4
铜箔胶带×1
电线×若干

处理屏幕

1、处理开发板和 LCD 显示屏

https://cdn.china-scratch.com/timg/190919/1243442O5-2.jpg
https://cdn.china-scratch.com/timg/190919/12434564P-3.jpg

使用一小块 PET 塑料板将 Arduino 开发板和 IPS 显示器粘在一起。

2、连接 GND
认真阅读显示屏数据表,根据内容连线。

https://cdn.china-scratch.com/timg/190919/124345JL-4.jpg

使用铜箔胶带焊接所有 GND 引脚和显示屏负极引脚,然后将其固定在柔性电路板上。

3、连接电源引脚

https://cdn.china-scratch.com/timg/190919/12434A393-5.jpg

将开发板 GND 引脚连接到铜箔胶带上,将 Vcc 引脚连接到显示屏 Vcc 引脚上。

4、连接显示屏引脚

https://cdn.china-scratch.com/timg/190919/1243462263-6.jpg

连接方式如下:
LCD -> Arduino
LED + -> GPIO 10
SDA -> GPIO 16(MOSI)
SCL -> GPIO 15(SCLK)
RST -> GPIO 18(A0)
DC -> GPIO 19(A1)
CS -> GPIO 20(A2)

移除电源 LED

https://cdn.china-scratch.com/timg/190919/1243461D1-7.jpg
https://cdn.china-scratch.com/timg/190919/12434Jc8-8.jpg
https://cdn.china-scratch.com/timg/190919/12434G5c-9.jpg

因为电源 LED 经常被点亮且会持续消耗超过 1mA 的电量,所以最好将它移除。请小心处理。

连接锂电池

https://cdn.china-scratch.com/timg/190919/12434M917-10.jpg

连接方式如下:
充电板+ve in -> 开发板 J1 连接器(USB插座旁 5V)
充电板-ve in -> 开发板 GND 引脚
充电板电池+ve -> 锂电池+ve -> 1N5822 二极管 -> 开发板排针
充电板电池-ve -> 锂电池-ve

大多数锂电池充电板使用 5V 电源作为输入。该项目中使用的开发板不提供 USB 5V 引脚,但 USB 插座旁的 J1 连接器可以连接到 USB 5V 引脚上。但请注意不要将两个连接器焊接在一起。

连接 RTC 时钟模块

https://cdn.china-scratch.com/timg/190919/12434SQ7-11.jpg
https://cdn.china-scratch.com/timg/190919/12434S918-12.jpg
https://cdn.china-scratch.com/timg/190919/12434WD4-13.jpg

DS3231M 非常小巧,请小心连接到微型电池上,连接方式如下:
DS3231M 引脚 2(电路电压 VCC)->开发板 Vcc
DS3231M 引脚 5(地线 GND)->开发板 GND,MS412FE RTC 电池-ve
DS3231M 引脚 6(电源电压 VBAT )->MS412FE RTC 电池+ve
DS3231M 引脚 7(数据线 SDA)->开发板 GPIO 2(数据线)
DS3231M 引脚 8(控制线 SCL)->开发板 GPIO 3(控制线)

连接运动传感器

https://cdn.china-scratch.com/timg/190919/1243495C8-14.jpg

我使用两个振动传感器作为运动传感器来触发开发板的唤醒引脚,具体请参考我的另一篇文章 https://www.instructables.com/id/Arduino-Watch-Core/。

https://cdn.china-scratch.com/timg/190919/1243495U3-15.jpg
https://cdn.china-scratch.com/timg/190919/1243493007-16.jpg
因为手表没有空间安装两个 5mm 的振动传感器。我用 3mm 振动传感器来替代并进行测试,发现传感器很容易发生错误触发而且电池在一天内耗尽。

随后,我将使用其他方法以避免错误触发唤醒的发生。

编程

https://cdn.china-scratch.com/timg/190919/1243503924-17.jpg

下载并安装 Arduino IDE
https://www.arduino.cc/en/main/software

为 IDE 添加 Sparkfun Pro Micro 支持
https://github.com/sparkfun/Arduino_Boards

记得在 Arduino IDE 中选择正确的开发板型号
Tools -> Board -> SparkFun Pro Micro
Tools -> Processor -> ATmega32U4 (3.3V, 8MHz)

Adafruit RTClib 库
使用 Arduino IDE 库管理器安装 RTClib
https://www.arduino.cc/en/guide/libraries

Arduino GFX 库
为 Arduino IDE 添加 Arduino_GFX 库
https://github.com/moononournation/Arduino_GFX.git

Arduino IDE 中选择 Sketch 菜单 -> Include Library -> Add .ZIP Library… -> 选择下载的库的 zip 文件也可以。

LowPower 库
为 Arduino IDE 添加这个库
https://github.com/rocketscream/Low-Power.git

手表核心代码
在本项目文件库中可以下载
https://make.quwj.com/project/142

使用 Arduino IDE 编译上传 RTClibSetRTC.ino 之后,初始化 RTC 中的时间。然后编译上传 Arduino_Watch.ino 到 Arduino 开发板即可。

3D 打印手表外壳

https://cdn.china-scratch.com/timg/190919/1243505096-18.jpg

图纸文件在本项目文件库可下载:
https://make.quwj.com/project/142

完成

https://cdn.china-scratch.com/timg/190919/1243444392-0.jpg
https://cdn.china-scratch.com/timg/190919/12435140E-20.jpg

这一切完成后,装上表带即可。项目很简单,你也可以根据自己的喜好来进行修改。

比如重新编程、定制手表外壳、添加更多传感器或组件等,使它成为一块多功能的智能手表。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com