電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>互聯(lián)網(wǎng)OLED時鐘開源分享

互聯(lián)網(wǎng)OLED時鐘開源分享

2022-10-20 | zip | 0.08 MB | 次下載 | 2積分

資料介紹

描述

介紹

這是我第一個使用 OLED 顯示模塊的項目,我想到的第一個想法是制作一個 OLED 時鐘。我對 OLED 技術(shù)很著迷,因為它結(jié)構(gòu)緊湊,功耗更低,不需要背光,并且與 LCD 相比可以顯示深黑色。此外,Adafruit 庫提供了幾個功能,可在制作 OLED 相關(guān)項目時提供簡單性。在這個項目中,OLED 顯示屏以數(shù)字和模擬時鐘樣式提供日期、日期和時間。

由于 NodeMCU 內(nèi)置了 ESP8266 WiFi 模塊,我決定使用 NTP 服務(wù)器來獲取準(zhǔn)確的時間,而不是使用額外的 RTC 模塊。作為一個優(yōu)勢,用戶無需手動設(shè)置時間,因為 NodeMCU 與 NTP 服務(wù)器同步,前提是它可以通過 WiFi 訪問互聯(lián)網(wǎng)。

網(wǎng)絡(luò)時間協(xié)議 (NTP) - NTP 是一種標(biāo)準(zhǔn) Internet 協(xié)議 (IP),用于同步連接到網(wǎng)絡(luò)的計算機時鐘。

在我的程序中,我指定了 NTP 服務(wù)器的地址,因為"asia.pool.ntp.org" 它返回亞洲分區(qū)時間。我從 NTP 服務(wù)器收到的時間比我的國家(即印度)慢 5:30 小時,所以我必須將我的偏移時間(在代碼中)設(shè)置為 19800(5 小時 30 分鐘 = 19800 秒)以獲得正確的時間。

顯示模擬式時鐘

我在制作模擬風(fēng)格時鐘時使用了三角概念。

基本邏輯是根據(jù)時間計算時鐘的指針(小時、分鐘和秒)要移動的角度,并使用角度的正弦和余弦函數(shù)來獲得位移的 x、y 坐標(biāo)。中心坐標(biāo)和位移的 x、y 坐標(biāo)之間繪制一條線可以提供時鐘的正確指針移動。

我們知道秒針每 60 秒移動 360 度。所以 1 秒鐘,秒針移動 360/60=6 度。同樣,分針每分鐘移動 360/60 分鐘 = 6 度,時針每小時移動 360/12 小時 = 30 度。時鐘圓的中心坐標(biāo)和半徑是固定的。從下圖中,使用正弦和余弦函數(shù),我們可以獲得時鐘的位移 x 和 y 坐標(biāo)。

在這個例子中,考慮秒針在第一象限的 30 度。因此,經(jīng)過的秒數(shù)是 30/6 = 5 秒,即:秒針指向時針 1。要找到 x 坐標(biāo)中的位移,我們需要計算 AB 的長度,即 r*Sin(30 )。同樣,對于 y 坐標(biāo)位移,我們需要計算 OB 的長度,即 r*Cos(30),其中 'r' 是圓的半徑。

?

poYBAGNPRB-AbwRJAACTMQrjxEA161.png
在第一象限繪制秒針
?

?

使用中心坐標(biāo)和位移坐標(biāo),可以使用 Adafruit GFX 庫函數(shù)繪制一條指示秒針的線

void drawLine(x_center,y_center,x_center + r*sin(angle),y_center - r*cos(angle), color);

在第一象限,隨著時鐘從 0 度移動到 90 度(即從 0 到 15 秒),x 坐標(biāo)應(yīng)保持增加,y 坐標(biāo)應(yīng)保持減少。這就是我使用 + r*sin(angle) and的原因- r*cos(angle)。

由于 IDE 使用弧度來計算三角正弦和余弦(請參見此處),因此我將角度乘以 0.0174533(如 1 度 = 0.0174533 弧度)以將其轉(zhuǎn)換為弧度,結(jié)果將在 -1 和 1 之間。

雖然我相信這種語法只適用于第一象限,但當(dāng)我也嘗試使用其他象限時,我注意到一個完整的順時針旋轉(zhuǎn)(位移坐標(biāo)沒有符號變化)。不同象限中正弦和余弦符號的變化可能是因素(需要弄清楚)。

同樣的概念也被用于指示分針和時針。

上傳代碼

該代碼需要在 IDE 上安裝以下庫-

1. Fabrice Weinberg 的NTPClient 。

2. Adafruit 的 Adafruit SSD1306 。

3. Adafruit 的 Adafruit GFX 庫。

在將源代碼上傳到 NodeMCU 之前,請確保在源代碼中輸入 WiFi 路由器的SSID密碼。

這是該項目的最終演示。

?

?


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

評論

查看更多

下載排行

本周

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

本月

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

總榜

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