Coffee 板


LINE

LCD螢幕顯示 在LCD的選擇上,原本我是考慮LCD1602,但數了一下字數,似乎有點侷限 轉而考慮LCD2004,國外不少TC4的用家就是使用1602、2004來做為螢幕顯示 https://i.imgur.com/8ctMwzR.jpg
於是我用EXCEL對LCD2004排版之後如下 https://i.imgur.com/g7KIFO6.jpg
似乎還是很擁擠阿 因此到後來看到了128x64的ST7920後我就轉而投向這塊便宜又強大的面板了,顯示部分我使用U8G2函示庫來建立整個畫面的構成,U8G2是一個可玩性高、支援螢幕豐富的函示庫,就算要用中文顯示也能支援、自製字庫(儘管ST7920的函示庫本身也支援部分中文) 對於U8G2有興趣的可以參考下列幾篇文章,都有非常詳細的說明,利用文章裡教的一些函式慢慢堆疊出屬於自己風格的畫面 https://blog.jmaker.com.tw/u8g2-oled/ https://atceiling.blogspot.com/2020/12/arduino102u8g2.html https://www.twblogs.net/a/5d207eeabd9eee1e5c83a6bb 不過很怪異的是,我在使用U8G2顯示中文卻失敗了,但是同樣的程式跑在SSD1306 OLED卻是可行的,不確定是出了什麼樣的問題,好在我本身就不考慮使用中文顯示,畢竟太佔空間了,而且讓人覺得不夠「有趣」,為了讓畫面更有「藝術氣息」,我使用圖形來代替爐溫、豆溫、風門、瓦斯 利用EXCEL「設計」之後,再到這個網站一個個點出要發亮的區域,就會出現圖片的陣列囉 https://www.block.tw/t2b https://i.imgur.com/c0mm9yQ.jpg
然而到後來我才知道,原來這些顯示的陣列,跟顯示出來後的畫面會左右相反,所以做好之後又手動一列列修改,才完成最後的圖標陣列,然後這裡也出現了另一個BUG,就是風車圖案不能放在太下面的位置,否則就會在他的正下方中央,出現一個亮點,非常詭異的BUG卻也無法解釋,反正只要不把風車放在最下方就可以了。 另外ST7920分為藍光白字,跟黃光黑字兩款,我買的是藍光白字,所以畫面要反黑,應該是這樣 https://i.imgur.com/mJAABce.jpg
測試一下顯示效果 https://i.imgur.com/5nserfC.jpg
在來回到軟體的部分,必須宣告你使用了哪一塊板子 U8G2_ST7920_128X64_F_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* CS=*/ 10, /* reset=*/ 8); 其中SW 好像是代表 軟體模擬SPI,這時候你可以自訂任意腳位,像我使用了44、42、46,reset不接,所以我的宣告是 U8G2_ST7920_128X64_F_SW_SPI u8g2(U8G2_R0, /* clock=E*/ 46, /* data=R/W*/ 44, /* CS=RS*/ 42, /* reset=*/ U8X8_PIN_NONE ); 接下來只要在程式裡面宣告自己要使用的圖形陣列,利用u8g2的函式一個個繪畫出來就完成了,然後我會把不需要更新的部分(框架)放在u8g2.firstPage();需要更新的放在do{}while ( u8g2.nextPage() );之間,看起來很複雜沒有關係,其實只要把範例程式修改一番就可以創造自己的頁面了,排版的部分就是按計算機,計算一個字佔了幾個寬度,然後try and error,不斷的微調。 程式碼的部分 https://i.imgur.com/pMPF56G.jpg
最後改字形、加了各種框限排版出來的結果 https://i.imgur.com/qwUawef.png
當然最終都是不斷調整的,我打算把KENT500的字樣改成時間顯示,左側溫度改成ROR顯示、右側濕度是風門濕度,當然這些部分還沒做出來,不過就算做失敗也問題不大,畢竟這些花里胡俏的東西其實用處不大只是為了填補面板,不然Artisan都是有這些資訊的顯示的。 另外為了讓螢幕面板不要更新頻繁,造成數值不斷浮動顯示,我依樣使用millis()進行控制 if(lcd_time==0) lcd_time=millis(); if( (millis()-lcd_time)>500){ /*u8g2的程式碼*/ } lcd_time==0; 這樣一來螢幕就會一秒更新一次顯示內容,比較不會讓人眼花撩亂 另外原本我還打算加入MP3語音模組進行溫度的播報,不過買了兩顆MP3模組,一顆燒壞,一顆本身就是壞的,上網詢問後大家評價這塊模組很容易故障、焊接錯誤,所以最後就乾脆不做這個部分的功能了,當然這些小功能製作並不困難,有興趣的可以自行搜尋Arduino、MP3,利用if-else或switch這些簡單的判斷函式就能做出語音播報系統了。 基本上軟體的部分就到這裡告一段落,之後會開始講關於硬體製作與規劃的過程 -----待續----- --
QR Code



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.248.201.15 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Coffee/M.1636860986.A.C71.html ※ 編輯: plzza0dogs (111.248.201.15 臺灣), 11/14/2021 11:43:30
1F:噓 celtics1997: 豪猛 11/14 11:42
2F:→ plzza0dogs: 胡先生別再無意義噓了,趕快去還錢吧 拿PTT ID去借錢 11/14 11:52
3F:→ plzza0dogs: 網借錢這種操作也難怪你就這樣了 11/14 11:52
4F:噓 celtics1997: $ 11/14 11:54
5F:→ kazzoi: 所以到底在虛啥 11/14 16:42
他在邊緣人版針對某人瘋狂亂噓文貼一堆莫名其妙的東西,就同時被3、4個人檢舉 我是其中一個,從此只要我發文他就在下面亂噓一通,精神狀況很不好吧,惹到他的都會被他無意義瘋狂追殺 還跑去借錢網貼自己個資跟PTT ID用來"擔保"自己不會欠錢不還(原來PTT ID這麼有用?) 總之這個人怪怪的,有點可憐
6F:噓 celtics1997: 秘密 11/14 16:51
※ 編輯: plzza0dogs (111.248.201.15 臺灣), 11/14/2021 17:28:12
7F:推 mangobearx: 幫推 11/15 08:03
8F:→ bearq258: 直接用TC4或PID 台達電DTA 改一下接artisan 也可直接控 11/15 11:21
9F:推 xhung: 哇塞 自己動手做烘豆機 佩服 11/17 17:27
10F:推 asd56445: 推推精神 01/24 23:10







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP