精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>TTGO網(wǎng)絡(luò)手表開源分享

TTGO網(wǎng)絡(luò)手表開源分享

2022-11-15 | zip | 0.44 MB | 次下載 | 2積分

資料介紹

描述

這是一個(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è)小建筑的東西_

在開始這個(gè)項(xiàng)目之前,您需要在 Arduino IDE 上安裝 ESP32 Boards 核心,這是必要的。從這里安裝它們 - https://github.com/espressif/arduino-esp32

  • 所以首先,打開 SimpleTime 草圖,它可以在Example>ESP32>Time>SimpleTime中找到

這是我們將用作基本草圖的通用互聯(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
?
?
?
pYYBAGNxjTuAbE7CAAL4aME9jV0364.jpg
?
1 / 2
?
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é)果-

?
?
?
?
1 / 2
?

至于電池,我使用了一個(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。

定制車身概念

?
?
?
?
1 / 3
?

我為 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ì)回來的!


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)