資料介紹
描述
這是一個 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次下載
- 基于開源軟件的網絡監測系統
- 分立器件在智能穿戴手表中的應用 363次閱讀
- 震動馬達在手表中的應用分析 444次閱讀
- 智能手表的工作原理和組成 1217次閱讀
- 網絡監控工具有哪些 網絡監控用幾芯網線 1173次閱讀
- 關于FPGA的開源項目介紹 1522次閱讀
- 開源網絡引導固件iPXE正式支持龍架構 673次閱讀
- 前沿開源技術領域的開源大數據一一解讀 1180次閱讀
- 智能手表中的傳感器與相關模塊原理分析 1.7w次閱讀
- NASA的開源軟件是什么?NASA的開源軟件的詳細分析 7444次閱讀
- 智能手表制作步驟及方法 3.5w次閱讀
- 開源神經網絡圖片上色技術解析 解密深度學習自動上色 1.1w次閱讀
- FAST:基于FPGA的SDN交換機開源項目(一) 4718次閱讀
- 解密智能手表的前世今生 說說早期智能手表系統 3947次閱讀
- 淺析影響智能手表造型設計的因素 4264次閱讀
- 可穿戴式智能手表DIY 5406次閱讀
下載排行
本周
- 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次下載 | 免費
評論
查看更多