資料介紹
描述
這是一個 TTGO T1 板,它是一個 ESP32 供電的開發(fā)板,具有 ST7789V 1.14 英寸顯示屏。
這是這個委員會的一個很酷的項目,一個“互聯(lián)網(wǎng)時鐘”。
我一直想做一個時鐘項目,因為它需要在一個小巧緊湊的外形中塞滿很多東西。
例如,要運行時鐘,我們需要一個 LiPo 電池并為該電池充電,我們需要在其上使用某種充電電路。時鐘還需要深度睡眠模式,以防止電池持續(xù)放電。
充電電路具有過充電和過放電功能,可以保護電池免受這兩個問題的影響,此處可以使用的一種 IC 是 TP4056,它非常適合此類任務(wù)。
但是 TTGO T1 已經(jīng)有一個電池管理 IC,所以我們真的不需要制作任何復(fù)雜的電路,我們也不需要在這個板上添加一個外部顯示器,因為它已經(jīng)有一個非常強大的板載顯示器。
此外,此設(shè)置不需要 PCB。
即使是鐘體,我也會制作一個定制的外殼,上面有腕帶插槽。
無論如何,讓我們開始這個小型構(gòu)建的主要部分 - 編輯 ESP32 時鐘示例草圖。
但即使在此之前,這些都是你需要的這個小建筑的東西_
- TTGO T顯示板
- 穩(wěn)定的 Wifi 連接
- 以及您所在國家/地區(qū)的 UTC。(從這里找到您所在國家/地區(qū)的 UTC )
在開始這個項目之前,您需要在 Arduino IDE 上安裝 ESP32 Boards 核心,這是必要的。從這里安裝它們 - https://github.com/espressif/arduino-esp32
這是我們將用作基本草圖的通用互聯(lián)網(wǎng)時鐘草圖。
#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 的顯示器上顯示串行監(jiān)視器中的時間,為此,我們必須在此草圖中更改幾行代碼。
- 我們首先在這個草圖中添加我們的 SSID 和密碼。
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASS";
- 現(xiàn)在我們必須添加可以從這里找到的 gmtOffset_sec。例如,我住在印度,這里的格林威治標準時間是 +5:30。
- +5:30 秒是 19800 秒,所以我們在 GMT 偏移量中添加 19800

const long gmtOffset_sec = 19800;
接下來是夏令時偏移設(shè)置,如果您所在的國家/地區(qū)有夏令時,則根據(jù)該時間(以秒為單位)進行設(shè)置,如果沒有,則將其設(shè)置為零。
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 板
- 在董事會經(jīng)理中選擇合適的董事會
- 選擇正確的端口
- 點擊上傳
- 現(xiàn)在打開串行監(jiān)視器,您將看到當(dāng)前時間以 1 秒的間隔重復(fù)打印。
如果您的時間不正確,那么這可能是因為 UTC 偏移量和夏令時偏移量錯誤。
現(xiàn)在,這是基本的互聯(lián)網(wǎng)時間草圖,為了在 TTGO T1 板上顯示它,我們只需要使用一個簡單的函數(shù),讓我們在 TTGO 的顯示器上顯示任何內(nèi)容。
但在此之前,您需要安裝此庫,這是我們執(zhí)行此任務(wù)所需的 TFT 顯示庫。
我們首先添加TFT_eSPI 庫和在顯示器上打印任何內(nèi)容所需的其他重要代碼行。
這是主要草圖
#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 板上,這將是結(jié)果-
至于電池,我使用了一個 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 板隨附的較小連接線。
這是這個手表項目的基本設(shè)置。
接下來是為此設(shè)置設(shè)計一個主體。為此,我將使用 Fusion360。
定制車身概念
我為 TTGO 板設(shè)計了這個 Body,看起來像 M5StickC 板,這個 TTGO 板的 3D 模型是從grabcad 用戶 MIMOSA下載的
目前,我還沒有決定這個項目的腕帶,我可能也會為這個項目購買通用皮革表帶。
這是第 2 部分的全部內(nèi)容,這個手表項目的基本設(shè)置是這樣的,一個 TTGO T 顯示板與一個 LiPo Cell 相連,它在其顯示屏上顯示當(dāng)前時間和日期,這一切都很好地封裝在一個 3D 打印體中.
結(jié)果
請繼續(xù)關(guān)注這個手表項目的第 2 部分,我會回來的!
- M5StickC PNG手表開源設(shè)計
- Arduino手表開源硬件
- 心形手表開源硬件
- OLED智能手表開源
- 使用ESP32 TTGO T Display設(shè)計網(wǎng)絡(luò)收音機
- TTGO 32智能手表開源項目
- TTGO ESP32基板開源分享
- 手電筒手表頂部開源
- PCB手電筒手表底部開源
- Ttgo Tcall繼電器模塊開源
- TTGO TDisplay計算器
- TTGO顏色選擇器
- Open-Watch:開源手工智能手表
- 開源網(wǎng)絡(luò)協(xié)議分析器WireShark軟件下載 15次下載
- 基于開源軟件的網(wǎng)絡(luò)監(jiān)測系統(tǒng)
- 分立器件在智能穿戴手表中的應(yīng)用 363次閱讀
- 震動馬達在手表中的應(yīng)用分析 444次閱讀
- 智能手表的工作原理和組成 1217次閱讀
- 網(wǎng)絡(luò)監(jiān)控工具有哪些 網(wǎng)絡(luò)監(jiān)控用幾芯網(wǎng)線 1173次閱讀
- 關(guān)于FPGA的開源項目介紹 1522次閱讀
- 開源網(wǎng)絡(luò)引導(dǎo)固件iPXE正式支持龍架構(gòu) 673次閱讀
- 前沿開源技術(shù)領(lǐng)域的開源大數(shù)據(jù)一一解讀 1180次閱讀
- 智能手表中的傳感器與相關(guān)模塊原理分析 1.7w次閱讀
- NASA的開源軟件是什么?NASA的開源軟件的詳細分析 7444次閱讀
- 智能手表制作步驟及方法 3.5w次閱讀
- 開源神經(jīng)網(wǎng)絡(luò)圖片上色技術(shù)解析 解密深度學(xué)習(xí)自動上色 1.1w次閱讀
- FAST:基于FPGA的SDN交換機開源項目(一) 4718次閱讀
- 解密智能手表的前世今生 說說早期智能手表系統(tǒng) 3947次閱讀
- 淺析影響智能手表造型設(shè)計的因素 4264次閱讀
- 可穿戴式智能手表DIY 5406次閱讀
下載排行
本周
- 1PFC電路與BOOST電路設(shè)計實例分享
- 1.83 MB | 12次下載 | 4 積分
- 2世平基于靈動微 SPIN560C 的低壓無刷電機應(yīng)用方案
- 10.93 MB | 11次下載 | 免費
- 3電源測試報告-基于 國民技術(shù) N32L406 和杰華特 JW3376+3330 的 BMS 方案
- 6.47 MB | 11次下載 | 免費
- 4PWM控制器的控制方法
- 0.39 MB | 3次下載 | 4 積分
- 5電流檢測芯片F(xiàn)P135應(yīng)用說明
- 1.24 MB | 3次下載 | 免費
- 6全面解讀被動式與主動式PFC電路
- 1.27 MB | 1次下載 | 4 積分
- 7HC88L051F4低功耗芯片規(guī)格書
- 4.76 MB | 1次下載 | 免費
- 8CIU32D655x5數(shù)據(jù)手冊
- 2.14 MB | 1次下載 | 免費
本月
- 1常用電子元器件使用手冊
- 2.40 MB | 52次下載 | 免費
- 2高功率密度碳化硅MOSFET軟開關(guān)三相逆變器損耗分析
- 2.27 MB | 33次下載 | 10 積分
- 3PFC電路與BOOST電路設(shè)計實例分享
- 1.83 MB | 12次下載 | 4 積分
- 4世平基于靈動微 SPIN560C 的低壓無刷電機應(yīng)用方案
- 10.93 MB | 11次下載 | 免費
- 5電源測試報告-基于 國民技術(shù) N32L406 和杰華特 JW3376+3330 的 BMS 方案
- 6.47 MB | 11次下載 | 免費
- 6USB拓展塢PCB圖資料
- 0.57 MB | 11次下載 | 免費
- 7MS1826 HDMI 多功能視頻處理器數(shù)據(jù)手冊
- 4.51 MB | 9次下載 | 免費
- 8HAL9303線性霍爾效應(yīng)傳感器技術(shù)手冊
- 0.70 MB | 9次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935134次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191424次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183352次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81600次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73818次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App






創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論