資料介紹
描述
這是一個(gè) TTGO T1 板,它是一個(gè) ESP32 供電的開發(fā)板,具有 ST7789V 1.14 英寸顯示屏。
這是這個(gè)委員會(huì)的一個(gè)很酷的項(xiàng)目,一個(gè)“互聯(lián)網(wǎng)時(shí)鐘”。
我一直想做一個(gè)時(shí)鐘項(xiàng)目,因?yàn)樗枰谝粋€(gè)小巧緊湊的外形中塞滿很多東西。
例如,要運(yùn)行時(shí)鐘,我們需要一個(gè) LiPo 電池并為該電池充電,我們需要在其上使用某種充電電路。時(shí)鐘還需要深度睡眠模式,以防止電池持續(xù)放電。
充電電路具有過充電和過放電功能,可以保護(hù)電池免受這兩個(gè)問題的影響,此處可以使用的一種 IC 是 TP4056,它非常適合此類任務(wù)。
但是 TTGO T1 已經(jīng)有一個(gè)電池管理 IC,所以我們真的不需要制作任何復(fù)雜的電路,我們也不需要在這個(gè)板上添加一個(gè)外部顯示器,因?yàn)樗呀?jīng)有一個(gè)非常強(qiáng)大的板載顯示器。
此外,此設(shè)置不需要 PCB。
即使是鐘體,我也會(huì)制作一個(gè)定制的外殼,上面有腕帶插槽。
無論如何,讓我們開始這個(gè)小型構(gòu)建的主要部分 - 編輯 ESP32 時(shí)鐘示例草圖。
但即使在此之前,這些都是你需要的這個(gè)小建筑的東西_
- TTGO T顯示板
- 穩(wěn)定的 Wifi 連接
- 以及您所在國家/地區(qū)的 UTC。(從這里找到您所在國家/地區(qū)的 UTC )
在開始這個(gè)項(xiàng)目之前,您需要在 Arduino IDE 上安裝 ESP32 Boards 核心,這是必要的。從這里安裝它們 - https://github.com/espressif/arduino-esp32
這是我們將用作基本草圖的通用互聯(lián)網(wǎng)時(shí)鐘草圖。
#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();
}
我們的目標(biāo)是在 TTGO 的顯示器上顯示串行監(jiān)視器中的時(shí)間,為此,我們必須在此草圖中更改幾行代碼。
- 我們首先在這個(gè)草圖中添加我們的 SSID 和密碼。
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASS";
- 現(xiàn)在我們必須添加可以從這里找到的 gmtOffset_sec。例如,我住在印度,這里的格林威治標(biāo)準(zhǔn)時(shí)間是 +5:30。
- +5:30 秒是 19800 秒,所以我們?cè)?GMT 偏移量中添加 19800
const long gmtOffset_sec = 19800;
接下來是夏令時(shí)偏移設(shè)置,如果您所在的國家/地區(qū)有夏令時(shí),則根據(jù)該時(shí)間(以秒為單位)進(jìn)行設(shè)置,如果沒有,則將其設(shè)置為零。
const int daylightOffset_sec = 0;
從這里了解夏令時(shí)。
這將是最終的草圖(不完全是最終的,這只是用于串行打印的時(shí)間)
#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 板
- 在董事會(huì)經(jīng)理中選擇合適的董事會(huì)
- 選擇正確的端口
- 點(diǎn)擊上傳
- 現(xiàn)在打開串行監(jiān)視器,您將看到當(dāng)前時(shí)間以 1 秒的間隔重復(fù)打印。
如果您的時(shí)間不正確,那么這可能是因?yàn)?UTC 偏移量和夏令時(shí)偏移量錯(cuò)誤。
現(xiàn)在,這是基本的互聯(lián)網(wǎng)時(shí)間草圖,為了在 TTGO T1 板上顯示它,我們只需要使用一個(gè)簡單的函數(shù),讓我們?cè)?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é)果-
至于電池,我使用了一個(gè) 3.7V 500mA Lipo 電池,這是我從一個(gè)舊項(xiàng)目中搶救出來的。
此外,我們可以通過將這行代碼從 1 更改為 2 來更改字體的大小。
tft.setTextColor(TFT_WHITE,TFT_BLACK);
tft.setTextSize(1); //Change it to 2
tft.println(&timeinfo, "%A");
我必須將 LiPo 電池的連接線更改為 TTGO T1 板隨附的較小連接線。
這是這個(gè)手表項(xiàng)目的基本設(shè)置。
接下來是為此設(shè)置設(shè)計(jì)一個(gè)主體。為此,我將使用 Fusion360。
定制車身概念
我為 TTGO 板設(shè)計(jì)了這個(gè) Body,看起來像 M5StickC 板,這個(gè) TTGO 板的 3D 模型是從grabcad 用戶 MIMOSA下載的
目前,我還沒有決定這個(gè)項(xiàng)目的腕帶,我可能也會(huì)為這個(gè)項(xiàng)目購買通用皮革表帶。
這是第 2 部分的全部內(nèi)容,這個(gè)手表項(xiàng)目的基本設(shè)置是這樣的,一個(gè) TTGO T 顯示板與一個(gè) LiPo Cell 相連,它在其顯示屏上顯示當(dāng)前時(shí)間和日期,這一切都很好地封裝在一個(gè) 3D 打印體中.
結(jié)果
請(qǐng)繼續(xù)關(guān)注這個(gè)手表項(xiàng)目的第 2 部分,我會(huì)回來的!
- M5StickC PNG手表開源設(shè)計(jì)
- Arduino手表開源硬件
- 心形手表開源硬件
- OLED智能手表開源
- 使用ESP32 TTGO T Display設(shè)計(jì)網(wǎng)絡(luò)收音機(jī)
- TTGO 32智能手表開源項(xiàng)目
- TTGO ESP32基板開源分享
- 手電筒手表頂部開源
- PCB手電筒手表底部開源
- Ttgo Tcall繼電器模塊開源
- TTGO TDisplay計(jì)算器
- TTGO顏色選擇器
- Open-Watch:開源手工智能手表
- 開源網(wǎng)絡(luò)協(xié)議分析器WireShark軟件下載 15次下載
- 基于開源軟件的網(wǎng)絡(luò)監(jiān)測(cè)系統(tǒng)
- 智能手表的工作原理和組成 129次閱讀
- 網(wǎng)絡(luò)監(jiān)控工具有哪些 網(wǎng)絡(luò)監(jiān)控用幾芯網(wǎng)線 802次閱讀
- 關(guān)于FPGA的開源項(xiàng)目介紹 1161次閱讀
- 開源網(wǎng)絡(luò)引導(dǎo)固件iPXE正式支持龍架構(gòu) 513次閱讀
- 前沿開源技術(shù)領(lǐng)域的開源大數(shù)據(jù)一一解讀 1005次閱讀
- 蘋果新款智能手表測(cè)試版曝光 3380次閱讀
- 智能手表中的傳感器與相關(guān)模塊原理分析 1.6w次閱讀
- NASA的開源軟件是什么?NASA的開源軟件的詳細(xì)分析 7186次閱讀
- 智能手表制作步驟及方法 3.5w次閱讀
- 開源神經(jīng)網(wǎng)絡(luò)圖片上色技術(shù)解析 解密深度學(xué)習(xí)自動(dòng)上色 1.1w次閱讀
- FAST:基于FPGA的SDN交換機(jī)開源項(xiàng)目(一) 4531次閱讀
- 2016中國智能手表品牌排行榜 7154次閱讀
- 解密智能手表的前世今生 說說早期智能手表系統(tǒng) 3735次閱讀
- 淺析影響智能手表造型設(shè)計(jì)的因素 3976次閱讀
- 可穿戴式智能手表DIY 5116次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多