电子说
第1步:什么是TTGO T-Watch?
TTGO T-Watch是基于ESP32的手表形状开发套件。 16 MB闪存和8 MB PSRAM都是最高规格。它还内置一个240x240 IPS LCD,触摸屏,micro-SD卡端口,I2C端口,RTC,3轴加速度计和一个自定义按钮。背板也可以切换到其他模块,如LORA,GPS和SIM。
但最重要的是它可以成为一个可用的手表是电力系统。它集成了AXP202多通道可编程电源管理芯片。这是我第一次看到具有I2C可控电源芯片的开发套件!
根据AXP202X_Library接口,您可以控制每个电源通道的开启和关闭,读取电池电量,充电状态甚至直接关闭电源,就像按下电源按钮一样。
参考:
https://github.com/Xinyuan-LilyGO/TTGO-T-Watch
步骤2:简单观看PoC
电源芯片看起来不错,但内置180 mAh的持续时间有多长电池?
由于它设计为手表外观,让我们从一个简单的手表示例开始,作为PoC来检查功率芯片的工作方式。
第3步:设计Watch Face
ESP32是一款功能非常强大的芯片,240 Mhz双核CPU和80 Mhz SPI速度可以设计出非常流畅的显示布局。所以我设计了一个不错的手表面,连续扫描秒针。
然而,设计难度出乎意料的高,不容易在没有眨眼的情况下取下最后一只秒针。我已经尝试了4种额外的方法来制作它。上面的图片显示失败的重绘,仍然是屏幕上未删除的最后一秒像素。设计表面工作有很多话可以说,但在这个项目之外。我可以在下一个教程中详细说明设计之旅,它应该被称为“Arduino Watch Core”。
第4步:设置时间
T-Watch内置RTC芯片,这意味着它可以在开发时保持复位之间的时间。在它可以保留时间之前,我们应该先设置时间。
有多种方式设置时间:
ESP32具有WiFi功能,因此您可以同步时间与NTP
类似于其他电子设备,如数码相机,你可以编写一个用户界面来设置时间
你可以使用GPS背板,那么你可以从卫星获取时间
为了简单起见,它仍然是一种不同的懒惰方式来设置时间,你可以在某个TFT时钟示例中找到这种方式。在Arduino中编译程序时,预处理器定义了2个变量“__DATE__”和“__TIME__”来记录编译时间。我们可以利用这些信息制作一个非常简单的程序来设置RTC时间。
注意:
这个简单的程序总是设置启动时间。但编译时间仅在首次启动时有效,因此一旦设置时间成功,您应该用其他程序覆盖。
参考:
https://gcc.gnu .org/onlinedocs/cpp/Standard-Predef 。..
步骤5:功耗
当手表运行时,显示连续扫描秒针,它消耗的电量略高于60 mA。出于省电原因,它应在一段时间后进入睡眠模式。
如果我关闭LCD背光并呼叫ESP32深度睡眠,则会降至7.1 mA左右。对于180 mAh电池,它只能持续约1天。
我知道LCD芯片消耗的电流约为6 mA。根据ST7789数据手册,有一个进入睡眠模式的命令。但是目前的TFT_eSPI库还没有睡眠模式API。
而且某处还有大约1 mA的耗电量。
步骤6:可编程电源管理芯片
开发套件中有许多芯片,根据他们的数据表,大多数芯片都支持省电模式。但是,并非所有库都暴露了省电模式API。通过检查并调用每个模块进入睡眠模式,这是一个长时间的省电编码。
直接关闭电源如何直接按下电源按钮怎么样? AXP202X_Library可以通过简单地调用shutdown()函数来实现。在关断模式下,它仅消耗略低于0.3 mA。 180毫安时电池可以持续25天!
注意:
我刚刚在6月28日为电池充电,您可以关注我的推文,了解最新的电池状态。
更新:
7月18日电池耗尽,电池可以持续20天。在此期间我每天检查几次,我认为手表在正常使用中可以持续1-2周。
参考:
https://github。 com/lewisxhe/AXP202X_Library/pull/2
步骤7:程序
关注https://github.com/Xinyuan-LilyGO/TTGO-T-手册页安装软件和库的说明。
在GitHub下载源代码:https://github.com/moononournation/TTGO-T-Watch
打开,编译并上传 Set_RTC.ino 更新RTC日期和时间
打开,编译和上传 Arduino-T-Watch-simple.ino
完成!
简单的监视程序将执行:
读取RTC日期和时间
绘制时钟标记(您可以选择循环或方形时钟标记)
显示连续扫描秒针
60秒后关闭电源(或者您可以按住电源按钮以便立即关机)
按电源按钮再次打开
第8步:快乐编程!
TTGO T-手表可以做更多的简单手表,例如
ESP32可以使WiFi和BT无线通信
使用触摸屏面板可以开发更实用的UI
板载三轴加速度计(BMA423),内置步进计数器算法和其他多功能GS ensor
可更换的背板可以添加LORA,GPS,SIM功能
I2C端口可以扩展更多功能
步骤9: Arduino-T-Watch-GFX
Arduino-T-Watch简单需要按住微小的电源按钮才能唤醒并且LCD初始介绍很少秒延迟。所以用户体验不太好。
我已经添加了另一个名为Arduino-T-Watch-GFX的程序来改善这一点。此程序更改为使用Arduino_GFX显示库,它可以告诉显示器进入睡眠模式以节省电量。因此,当ESP32进入轻度睡眠状态时,它现在消耗的电流低于3 mA。此外,它现在可以触摸屏幕触发唤醒。 ESP32唤醒和显示睡眠比整个重启过程快得多,你可以看到上面的视频几乎是即时响应。
全部0条评论
快来发表一下你的评论吧 !