资料介绍
描述
这是一个 TTGO T1 板,它是一个 ESP32 供电的开发板,具有 ST7789V 1.14 英寸显示屏。
这是这个委员会的一个很酷的项目,一个“互联网时钟”。
我一直想做一个时钟项目,因为它需要在一个小巧紧凑的外形中塞满很多东西。
例如,要运行时钟,我们需要一个 LiPo 电池并为该电池充电,我们需要在其上使用某种充电电路。时钟还需要深度睡眠模式,以防止电池持续放电。
充电电路具有过充电和过放电功能,可以保护电池免受这两个问题的影响,此处可以使用的一种 IC 是 TP4056,它非常适合此类任务。
但是 TTGO T1 已经有一个电池管理 IC,所以我们真的不需要制作任何复杂的电路,我们也不需要在这个板上添加一个外部显示器,因为它已经有一个非常强大的板载显示器。
此外,此设置不需要 PCB。
即使是钟体,我也会制作一个定制的外壳,上面有腕带插槽。
无论如何,让我们开始这个小型构建的主要部分 - 编辑 ESP32 时钟示例草图。
但即使在此之前,这些都是你需要的这个小建筑的东西_
- TTGO T显示板
- 稳定的 Wifi 连接
- 以及您所在国家/地区的 UTC。(从这里找到您所在国家/地区的 UTC )
在开始这个项目之前,您需要在 Arduino IDE 上安装 ESP32 Boards 核心,这是必要的。从这里安装它们 - https://github.com/espressif/arduino-esp32
这是我们将用作基本草图的通用互联网时钟草图。
#include <WiFi.h>
#include "time.h"
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASS";
const char* ntpServer = "pool.ntp.org";
const long gmtOffset_sec = 3600;
const int daylightOffset_sec = 3600;
void printLocalTime()
{
struct tm timeinfo;
if(!getLocalTime(&timeinfo)){
Serial.println("Failed to obtain time");
return;
}
Serial.println(&timeinfo, "%A, %B %d %Y %H:%M:%S");
}
void setup()
{
Serial.begin(115200);
//connect to WiFi
Serial.printf("Connecting to %s ", ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println(" CONNECTED");
//init and get the time
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
printLocalTime();
//disconnect WiFi as it's no longer needed
WiFi.disconnect(true);
WiFi.mode(WIFI_OFF);
}
void loop()
{
delay(1000);
printLocalTime();
}
我们的目标是在 TTGO 的显示器上显示串行监视器中的时间,为此,我们必须在此草图中更改几行代码。
- 我们首先在这个草图中添加我们的 SSID 和密码。
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASS";
- 现在我们必须添加可以从这里找到的 gmtOffset_sec。例如,我住在印度,这里的格林威治标准时间是 +5:30。
- +5:30 秒是 19800 秒,所以我们在 GMT 偏移量中添加 19800
const long gmtOffset_sec = 19800;
接下来是夏令时偏移设置,如果您所在的国家/地区有夏令时,则根据该时间(以秒为单位)进行设置,如果没有,则将其设置为零。
const int daylightOffset_sec = 0;
从这里了解夏令时。
这将是最终的草图(不完全是最终的,这只是用于串行打印的时间)
#include <WiFi.h>
#include "time.h"
const char* ssid = "xxxxxx";
const char* password = "pppppp";
const char* ntpServer = "pool.ntp.org";
const long gmtOffset_sec = 19800;
const int daylightOffset_sec = 0;
void printLocalTime()
{
struct tm timeinfo;
if(!getLocalTime(&timeinfo)){
Serial.println("Failed to obtain time");
return;
}
Serial.println(&timeinfo, "%A, %B %d %Y %H:%M:%S");
}
void setup()
{
Serial.begin(115200);
//connect to WiFi
Serial.printf("Connecting to %s ", ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println(" CONNECTED");
//init and get the time
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
printLocalTime();
//disconnect WiFi as it's no longer needed
WiFi.disconnect(true);
WiFi.mode(WIFI_OFF);
}
void loop()
{
delay(1000);
printLocalTime();
}
- 插入您的 TTGO 板
- 在董事会经理中选择合适的董事会
- 选择正确的端口
- 点击上传
- 现在打开串行监视器,您将看到当前时间以 1 秒的间隔重复打印。
如果您的时间不正确,那么这可能是因为 UTC 偏移量和夏令时偏移量错误。
现在,这是基本的互联网时间草图,为了在 TTGO T1 板上显示它,我们只需要使用一个简单的函数,让我们在 TTGO 的显示器上显示任何内容。
但在此之前,您需要安装此库,这是我们执行此任务所需的 TFT 显示库。
我们首先添加TFT_eSPI 库和在显示器上打印任何内容所需的其他重要代码行。
这是主要草图
#include // Graphics and font library for ST7735 driver chip
#include
#include
#include "time.h"
const char* ssid = "xxxxxx"; //add your WIFI Credentials
const char* password = "pppppp";
const char* ntpServer = "pool.ntp.org";
const long gmtOffset_sec = 19800; //UTC Offset!
const int daylightOffset_sec = 0;
TFT_eSPI tft = TFT_eSPI(); // Invoke library, pins defined in User_Setup.h
#define TFT_BLACK 0x0000 // black
void setup(void) {
tft.init();
tft.setRotation(1);
Serial.begin(115200);
Serial.printf("Connecting to %s ", ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println(" CONNECTED");
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
printLocalTime();
WiFi.disconnect(true);
WiFi.mode(WIFI_OFF);
}
void loop() {
delay(1000);
printLocalTime();
}
void printLocalTime()
{
struct tm timeinfo;
if(!getLocalTime(&timeinfo)){
Serial.println("Failed to obtain time");
return;
}
tft.fillScreen(TFT_BLACK);
tft.setCursor(0, 0, 2);
tft.setTextColor(TFT_WHITE,TFT_BLACK);
tft.setTextSize(1);
tft.println(&timeinfo, "%A");
tft.setCursor(0, 20, 2);
tft.setTextColor(TFT_WHITE,TFT_BLACK);
tft.setTextSize(1);
tft.println(&timeinfo, "%B %d %Y");
tft.setCursor(0, 40, 2);
tft.setTextColor(TFT_WHITE,TFT_BLACK);
tft.setTextSize(1);
tft.println(&timeinfo,"%H:%M:%S");
}
将此草图上传到您的 TTGO 板上,这将是结果-
至于电池,我使用了一个 3.7V 500mA Lipo 电池,这是我从一个旧项目中抢救出来的。
此外,我们可以通过将这行代码从 1 更改为 2 来更改字体的大小。
tft.setTextColor(TFT_WHITE,TFT_BLACK);
tft.setTextSize(1); //Change it to 2
tft.println(&timeinfo, "%A");
我必须将 LiPo 电池的连接线更改为 TTGO T1 板随附的较小连接线。
这是这个手表项目的基本设置。
接下来是为此设置设计一个主体。为此,我将使用 Fusion360。
定制车身概念
我为 TTGO 板设计了这个 Body,看起来像 M5StickC 板,这个 TTGO 板的 3D 模型是从grabcad 用户 MIMOSA下载的
目前,我还没有决定这个项目的腕带,我可能也会为这个项目购买通用皮革表带。
这是第 2 部分的全部内容,这个手表项目的基本设置是这样的,一个 TTGO T 显示板与一个 LiPo Cell 相连,它在其显示屏上显示当前时间和日期,这一切都很好地封装在一个 3D 打印体中.
结果
请继续关注这个手表项目的第 2 部分,我会回来的!
- M5StickC PNG手表开源设计
- Arduino手表开源硬件
- 心形手表开源硬件
- OLED智能手表开源
- 使用ESP32 TTGO T Display设计网络收音机
- TTGO 32智能手表开源项目
- TTGO ESP32基板开源分享
- 手电筒手表顶部开源
- PCB手电筒手表底部开源
- Ttgo Tcall继电器模块开源
- TTGO TDisplay计算器
- TTGO颜色选择器
- Open-Watch:开源手工智能手表
- 开源网络协议分析器WireShark软件下载 15次下载
- 基于开源软件的网络监测系统
- 智能手表的工作原理和组成 129次阅读
- 网络监控工具有哪些 网络监控用几芯网线 802次阅读
- 关于FPGA的开源项目介绍 1161次阅读
- 开源网络引导固件iPXE正式支持龙架构 513次阅读
- 前沿开源技术领域的开源大数据一一解读 1005次阅读
- 苹果新款智能手表测试版曝光 3380次阅读
- 智能手表中的传感器与相关模块原理分析 1.6w次阅读
- NASA的开源软件是什么?NASA的开源软件的详细分析 7186次阅读
- 智能手表制作步骤及方法 3.5w次阅读
- 开源神经网络图片上色技术解析 解密深度学习自动上色 1.1w次阅读
- FAST:基于FPGA的SDN交换机开源项目(一) 4531次阅读
- 2016中国智能手表品牌排行榜 7154次阅读
- 解密智能手表的前世今生 说说早期智能手表系统 3735次阅读
- 浅析影响智能手表造型设计的因素 3976次阅读
- 可穿戴式智能手表DIY 5116次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多