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

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>適合3.7電子紙顯示器的時鐘

適合3.7電子紙顯示器的時鐘

2023-02-03 | zip | 0.03 MB | 次下載 | 免費

資料介紹

描述

加速

電子紙屏幕特別適合顯示時間較長后才發生變化的內容。所以我認為時鐘非常適合這款 3.7" 電子紙顯示器。

注意:該軟件處于 BETA 階段,被認為是第一個運行的版本。我分享它是為了讓您可以擴展、改進它或使用它的一部分,并使其與非常相似的項目兼容。

通過 SPI 接口連接到 ESP32 的顯示器由GxEPD2 庫驅動,字體由 U8g2_for_Adafruit_GFX 庫提供,其方法在 GxEPD2 的圖片循環(分頁繪圖)中工作。

時間信息從設置中的公共 ntp 網絡時間協議)服務器接收,然后復制到 updateTime() 中名為 timeinfo 的時間結構(struct tm)。誠然,我在編程方面的知識為零,因此可以更有效、更智能地對時間同步進行編程。我使用 strftime 函數為時、分和秒生成三個字符串,然后將它們轉換回整數。一旦開始,此時的秒數就會從時鐘通常等待的分鐘數中減去,直到它將時間更新為下一分鐘并刷新顯示。這意味著假設時間正好是 11:11:50,時鐘只會等待 10 秒,然后切換到下一分鐘。

這是幾秒鐘的樣子:

?

char timeSek[3];
strftime(timeSek,3, "%S", &timeinfo);
int s = atoi(timeSek);
startMillis -= s * 1000;

?

此外,時間以 12 小時格式的表達式表示除了默認情況下以 24 小時格式顯示的完整小時數)。0點和12點都印成“Twelfe o'clock”。當然,您必須使 Words(int h, int m) 函數中的數字和單詞適應您的語言。為了將時間信息轉換為字符串,我使用 sprintf()連接數字和其他單詞并將它們保存到全局 char 數組(在范圍內初始化包含時間短語的 char 數組會更好嗎?)。然而,數字需要很大的閃存大小。

例子:

?

else if (m <= 30){
sprintf(words,"%s past%s", nums[m], nums[h % 12]);
} 

?

顯示文本的實際功能與 GxEPD2 庫的示例非常相似。請注意,文本始終位于中間,而 y 坐標是字符的底部(例如“g”向下超出該 y 坐標)。由于我后來決定實現字體在兩種不同大小之間切換,具體取決于時間的表達時間,部分窗口將始終設置為涵蓋字體大小和顯示的完整寬度的大小。如 showClock() 所示,我確保部分窗口的坐標是八的倍數。我不確定哪些坐標必須符合此規則,這就是為什么我將所有坐標四舍五入為 8 的倍數(請看下面的代碼)。字體 (const uin8_t) 作為指針傳遞給函數 void showText(char name[], const uint8_t *font)。

坐標 (0, 0) 在左上角。Y 從上到下遞增。

在顯示時鐘()中:

?

int px = rx - r;//middlepoint-radius
px = px - (px % 8);//round down to multiple of eight 
int py = ry - r;
py = py - (py % 8);  
int pw = r*2;pw = pw - (pw % 8) + 8 * 2;//roundupint 
ph = r*2;ph = ph - (ph % 8) + 8 * 2;

?

如果您的面板不支持部分刷新,請將該行更改為 display.setFullWindow()。為了清潔顯示器,這種完全刷新每隔一小時就會發生一次。

為了打印模擬時鐘,我使用了 sin() 和 cos() 。所有參數均采用徑向單位。例如,分鐘時鐘指針每分鐘移動 1/30 π ,相當于 6 度 = 360 度/60。該庫使繪制直線和圓成為可能。

時鐘指針末端的坐標:

?

const float pi = PI
float ah = (float)h * 1/6.0000000 * pi + (float)m * (1/360.0000000 * pi);
float am = m * 1/30.00000000 * pi; 
int shx = round(sin(ah) * ((float)r-8) / 1.600);
int shy = round(cos(ah) * ((float)r-8) / 1.600);
int smx = round(sin(am) * ((float)r-8));
int smy = round(cos(am) * ((float)r-8));

?

我試圖使 showClock 函數具有可擴展性,因此至少在某種程度上您應該能夠更改圓形時鐘的位置和半徑。

當然,這個項目可以用另一個與 GxEPD2 庫兼容的電子紙面板來制作。

我認為這個項目的結果非常好。但是,在軟件方面還有很多需要改進的地方。更好的解決方案還應該具有深度睡眠功能。結合需要很少能量的電子紙技術,時鐘可以在電池上運行很長時間。

我希望我能給你一些啟發。

------許可:------------------------------------

辛格杰姆

GNU 許可證:查看所有原始代碼:GxEPD2:https://github.com/ZinggJM/GxEPD2。提供使用和修改示例的庫 GxEPD2 的作者

https://github.com/ZinggJM/GxEPD2/blob/master/LICENSE

---------------------------------------------- ------

奧利弗·克勞斯

BSD 許可證:查看所有原始代碼:https://github.com/olikraus/U8g2_for_Adafruit_GFX。U8g2 字體庫的作者。參見確切的 c。注意事項:

https://github.com/olikraus/U8g2_for_Adafruit_GFX/blob/master/LICENSE

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

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  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元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  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十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費