Re: [器材] 使用Arduino製作烘豆機控制盒-Part3 LCD螢幕顯示
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
另外為了讓螢幕面板不要更新頻繁,造成數值不斷浮動顯示,我依樣使用millis()進行控制 if(lcd_time==0)
lcd_time=millis();
if( (millis()-lcd_time)>500){
/*u8g2的程式碼*/ }
lcd_time==0;
這樣一來螢幕就會一秒更新一次顯示內容,比較不會讓人眼花撩亂
另外原本我還打算加入MP3語音模組進行溫度的播報,不過買了兩顆MP3模組,一顆燒壞,一顆本身就是壞的,上網詢問後大家評價這塊模組很容易故障、焊接錯誤,所以最後就乾脆不做這個部分的功能了,當然這些小功能製作並不困難,有興趣的可以自行搜尋Arduino、MP3,利用if-else或switch這些簡單的判斷函式就能做出語音播報系統了。
基本上軟體的部分就到這裡告一段落,之後會開始講關於硬體製作與規劃的過程
-----待續-----
--
豪猛
胡先生別再無意義噓了,趕快去還錢吧 拿PTT ID去借錢
網借錢這種操作也難怪你就這樣了
$
所以到底在虛啥
他在邊緣人版針對某人瘋狂亂噓文貼一堆莫名其妙的東西,就同時被3、4個人檢舉 我是其中一個,從此只要我發文他就在下面亂噓一通,精神狀況很不好吧,惹到他的都會被他無意義瘋狂追殺 還跑去借錢網貼自己個資跟PTT ID用來"擔保"自己不會欠錢不還(原來PTT ID這麼有用?) 總之這個人怪怪的,有點可憐
秘密
幫推
直接用TC4或PID 台達電DTA 改一下接artisan 也可直接控
哇塞 自己動手做烘豆機 佩服
推推精神
11
Re: [器材] 使用Arduino製作烘豆機控制盒-Part4 機殼規劃與安裝其實現在看來文章有點本末倒置,因為我是作好了才開始寫這篇文章,所以有點倒敘了,應該是首先要決定硬體的部分,我參考了阿黃的控制盒,要有溫度輸入、瓦斯表輸入、風扇控制、瓦斯點火器需要110V輸出,插座有幾個,分別是馬達、冷卻風扇、電燈(壞了,不重要) 所以一開始就先買一些基本硬體,再稍微研究過瓦斯的壓力傳送器是電流式之後買了一個電流轉電壓的模組(那時候還不知道DCbox DC51已經魂歸離恨天) 稍微排列一下,瓦斯點火器用2pin航空接頭(110v)、DB9作單片機的輸出,確定實坪登錄後就可以開始挑選機殼畫面板開孔了,於是畫了第一版的機殼7
Re: [器材] 使用Arduino製作烘豆機控制盒-Part8 PCB Layout做好之後不少人問我怎麼用麵包板不用PCB呢,以前雖然學過一點皮毛,但都忘得差不多 了,好在EAGLE帳號還在那就試著畫畫看吧 這幾天以來畫了好幾個版本,一開始不帶電源的基礎版本,後來增加了一堆接口的版本 想到我還沒有5V電源呢,為什麼不用板載的5V呢? 因為mega2560 pro這張板子上的5V似乎 不夠穩定,會造成LCD螢幕嚴重閃爍8
Re: [器材] 使用Arduino製作烘豆機控制盒-Part6 Artisan連線一切都好了之後,就是上機連線電腦做測試,這時我才發現他無法連線跟Artisan溝通 原本以為是程式的問題,但理論上也該在Artisan上顯示出爐溫(ET)豆溫(BT)才對。 後來爬文才知道,似乎是Arduino Mega2560這張板子的問題導致他無法順利連線Artisan Artisan按下開始之後,要再將Arduino Mega2560 Reset才「有機會」連上9
[心得] 如何開啟10位元顯示(高位元色深討論)「如何開啟10位元顯示」 完整圖文請移駕到下方網址看,這邊我盡量節錄一些重點(BBS限制) 介紹 目前常見的數位影像,大多數都使用8-bit 色彩深度,作為軟、硬體的標準規格。5
[器材] 使用Arduino製作烘豆機控制盒-Part1製作動機 我家某位天才烘豆師,在清潔KENT500烘豆機的時候把量測瓦斯的「壓力傳送器」線拔掉 了,於是這位電子麻瓜就一不做二不休的將拔出來的線材一股腦塞回去,啪滋一聲,只有 單片機受傷的世界就完成了,基於死馬當活馬醫的情形下,壓力傳送器也在後面的測試中 試中灰飛煙滅…6
[心得] Samsung Flip 3 外螢幕使用最近翻一些國外的網站發現Flip 3也是有一些外螢幕的使用方式 先提一個比較基本的外螢幕動圖 先到手機設定中的封面螢幕-時鐘樣式-背景圖像中 可以選擇要顯示在外螢幕的畫面 點進去後會發現無法選擇影片,此時使用gif檔案即可5
[情報] 神人利用 iOS 16.1 漏洞無越獄成功修改 iPhone 系統字型【新聞/情報來源】 電腦王阿達(目前看到唯一的中文新聞介紹) 原網址: (原始未刪減的網址,未提供者水桶60日) 【新聞/情報內容】(國外文章請附上簡單翻譯)4
[求助] 筆電外接螢幕問題拍謝 小弟電腦知識薄弱 問個問題 我手上有台acer商務筆電 型號是TMP414-51-55Z5 因為工作需要 想使用雙螢幕 但是筆電螢幕又有點小 所以想外接兩部螢幕 但是我從沒試過三螢幕 上網查了一些舊文章 如果硬體不支援的話還得外接顯卡 於是我開始研究硬體如下: