智能焊臺的軟體菜單、界面切換如何來實現?

2022-01-28 嵌入式大雜燴

關注「嵌入式大雜燴」,選擇「星標公眾號」一起進步!

前陣子收到了正點原子贈送的T100智能焊臺以及DS100數字示波器,目前經過個人實際體驗,總體感覺非常優秀,如下:

1、正點原子T100智能焊臺體驗

將T100智能焊臺做了一下簡單組裝,然後開啟了一波操作和焊接:

個人體驗總結如下:

2、正點原子T100智能焊臺菜單框架

但是,作為軟體工程師,我更有興趣的是,它的界面是如何實現的?因為界面操作也是整個產品中非常重要的一部分,如下:

Q1.界面切換的軟體設計思路

關於界面的切換的設計思想,可以參考如下文章:

C語言表驅動法編程實踐(精華帖,建議收藏並實踐)

C語言映射表在嵌入式串口解析、UI設計中的應用(值得收藏並實踐的精華帖)

Q2.多語言版本的軟體設計思路

如上,之前有小夥伴問過我一個問題,如何來設計多語言版本呢?正常面向全球出貨的電子產品,那麼它一定逃不過多語言版本,不同國家由於語言不同,導致上面顯示的內容不一樣,對於不同語言我們可以採用一個二維指針數組的方式來實現,第一維表示具體是哪國的語言,第二維表示具體要顯示什麼內容,例如:

const u8* Mulit_Language[3][LANGUAGE_NUM]=
{
  {
    "0.退出",
    "1.步進設置",
    "2.休眠溫度",
    "3.休眠時間",
    "4.待機時間",
    "5.自動關機",
    "6.參數選擇",
    "7.溫度校準",
    "8.輸出電源",
    "9.輸出開關",
    "10.蜂鳴器",
    "11.語言選擇",
    "12.恢復出廠",
  },
  {
    "0.Exit",
    "1.Step Set",
    "2.Sleep Temp",
    "3.Sleep Time",
    "4.Stdby Time",
    "5.Auto P_Off",
    "6.Param Sel",
    "7.Temp Calib",
    "8.Output Cur",
    "9.Output ON",
    "10.Beep ON",
    "11.Language",
    "12.Restore",
  },
  //後面還可以繼續拓展別的語言
};

Q3.滑動菜單列表的軟體設計思路

先來觀察下這個界面包含什麼信息:

最上面是帶填充色的標題顯示,右邊是一個滾動條,然後中間區域有一個指向當前項的手的圖標還有具體的字符串項,當操作旋鈕時,對應的項則被填充背景色,且對應項的字符串的前景色也發生改變,根據這個思路,我們可以得到設計軟體應該有的一些信息:

2.這個菜單列表具體有多長,包含了多少個菜單列表項5.菜單列表項顯示的內容,具體每一項要顯示什麼東西6.當選中這個菜單項以後,按確認鍵後要觸發什麼操作?7.菜單之間的切換,分級,列表的話就有前、後的關係

接下來,將這些信息就可以抽象為一個結構體ListItem:

typedef struct ListItem
{   
  //菜單顯示時光標位置
 int8_t  item_cursor; 
  //菜單包含項目數
 uint8_t item_count;
  //顯示菜單的狀態 是否選中
 uint8_t item_is_select;
  //菜單項目選中的ICO數據地址
 const uint8_t *item_ico_display; 
  //菜單項目沒選中的ICO數據地址
 const uint8_t *item_ico_un_display; 
  //菜單列表顯示的文本內容
 const uint8_t *item_display_text;
  //跳轉到對應的功能菜單
 void (*Jump_Menu)(void); 
  //切換到上一級菜單列表項
 struct ListItem* prev_item_list; 
  //切換到下一級菜單列表項
 struct ListItem* next_item_list; 
}List_Item_Typedef;

這裡我們採用的是雙向鍊表的設計思想對這個菜單進行維護和更新,根據這個結構體,繼續完成一個菜單列表的控制函數與具體的結構體變量還有滾動條關聯起來即可,關於滾動條我們需要單獨去設計一個控制項,由於篇幅原因,這裡就不實現了;詳細的設計過程寫起來稍微有些複雜,我可以在後期單獨用小熊派出一個專題來實現這個過程,並進行詳細的講解。

3、開源的GUI框架

現在GUI框架設計趨向於成熟,有很多大神也在Github和Gitee上開源了不少優秀的GUI框架,經過簡單的移植(GUI是純軟體實現,只要硬體支持的操作就可以套用),我們可以擁有很多基礎控制項,比如按鈕,進度條,圖標,曲線等等,其中著名的有STemWin、LVGL、TouchGFX等等,但是針對正點原子T100焊臺,其實只需要能夠繪製單色的GUI框架即可,對於單色的GUI框架,我們在碼雲上可以輕鬆找到:

還有類似的:

針對單色顯示屏的 GUI 解決方案SimpleGUI

正點原子也有類似的產品,界面與T100智能焊臺類似,原始碼也是開源的,詳情可以訪問正點原子資料下載中心查看:

http://www.openedv.com/docs/tool/solder/solder.html

當然,你還能搜索到更多相關的資源,通過學習這些資源你會發現,其實設計思想都差不多,只要掌握其中一個,了解其設計思想,相信有朝一日你也可以擼一個適合自己項目的GUI框架,關於菜單切換和界面實現,我之前也開源了一些項目,如下,有興趣可自行學習或研究:

談談嵌入式應用軟體人機界面開發的菜單框架編寫

開源作品:基於RT-Thread 智慧農業監測系統產品級開發

TencentOS tiny危險氣體探測儀產品級開發

基於TencentOS tiny雲印表機&智能達特甲醛探測系統

4、開源的T12烙鐵控制器

至於具體功能,比如焊臺裡PID算法是怎麼處理的,功能是如何交互的,在碼雲上有位大佬,這位大佬現在還在讀研究生,但已經能自己通過STM32把一把烙鐵給造出來了,詳細可以訪問他的碼雲參考他的設計思路:

https://gitee.com/Cai-Zi/STM32_T12_Controller?_from=gitee_search


猜你喜歡:


在公眾號聊天界面回復1024,可獲取嵌入式資源;回復 m ,可查看文章匯總。

相關焦點

  • 正點原子T100智能焊臺-試用-拆機測評
    T100,正好體驗一下,跟我來吧!       自從收到原子哥消息:智能焊臺申請測評通過的時候,我就懷著忐忑的心態等待著,中間也查找了很多智能焊臺的資料,了解了原子哥公司的設計理念及現有的產品,官方網站:http://www.alientek.com,裡面可以點開官方商城進行購買,非常方便。
  • 智能電視直播軟體哪款好?三款穩定APP推薦
    現在越來越多的人購買智能電視,而智能電視可以安裝第三方軟體的功能讓很多人可以不花錢就能觀看新聞、電視劇、體育賽事直播,這樣不但省掉了一部分有線電視的費用,第三方直播軟體畫面更加清晰,可以觀看幾百甚至上千個頻道。那麼有哪些電視直播軟體比較好用呢?且看我慢慢道來。第一款:小鷹直播
  • 智能電視裝什麼軟體可以看電視直播,一個軟體搞定所有
    【天極網IT新聞頻道】各品牌的智能電視都內置應用市場,但自帶的應用軟體數量有限,所以需要下載第三方直播軟體。而目前市面上的直播軟體優劣不一,眾多用戶不知道如何選擇。但其實,一個軟體就能搞定所有需求。
  • 「原型設計」如何利用Axure實現下拉子菜單?
    Axure RP是一款專業的快速原型設計工具,讓我們能夠快速設計並創建出應用軟體或Web頁面的具備高保真和交互能力的原型。通過原型設計,不但能更好地與客戶進行交流確認,也能明確地給開發人員以成品效果作為開發指導。本文介紹如何透過這款工具實現下拉子菜單功能的原型設計。
  • 【知識分享】儀表菜單切換
    小編,行車電腦信息怎麼切換?……在,在,小編來也。今天,小編又當一回老師,一次教會你們儀表菜單切換、清零。3、若要進入儀表菜單設置選項界面,短按確認鍵進入車輛設置界面進行車輛設置。切換鍵:短按切換不同行車電腦界面、各菜單項或其子菜單,切換過程是單向逐一的。清零/設置鍵:短按用於進入菜單設置及子菜單,或菜單項的選中及設定;長按用於內容清零。
  • 20個智能電視上必安裝的軟體~~
    1.當貝市場      當貝市場之前的文章中有介紹過,這裡再簡單介紹下.當貝市場是一款專為智能電視和安卓電視盒量身打造的TV端應用商店,平臺上的應用資源十分豐富,基本可實現輕鬆下載海量視頻應用、精品軟體和電視遊戲,並且還提供了電視優化、深度清理、文件管理、跨平臺傳輸等實用功能。
  • 《原神》主菜單界面圖標功能是什麼 菜單界面圖標功能介紹
    導 讀 原神主菜單界面圖標功能是什麼?
  • [Android軟體]橙色直播v2.0,可安裝在電視盒子/智能電視上的APP
    有需求什麼軟體或者素材的童鞋也可以在底部留言。網站:soul88.com,支持請在最後點下「好看」。經過多個安卓電視直播APP對比,橙色直播屬於比較優秀的,擁有超清電視直播源,全程無廣告,包括退出界面,橙色直播的框架用的是HDP的框架,而HDP本身會獲取IMEI,所以橙色直播也會獲取相應權限(取消APP會閃退)!
  • 最強電視直播軟體:小薇直播TV版使用技巧匯總
    在這些優質的第三方影視直播軟體中,小編今天要給大家推薦一款最新上架便受到智能電視用戶一致好評的電視直播軟體 - 《小薇直播》小薇直播是一款全聚合直播軟體,使用非常方便快捷,運行於智能電視盒或者智能電視。應用附帶有300+個直播頻道,24小時專人維護,帶有7天國內衛視回看,電視在線收藏等貼心功能。
  • 軟體測試 | Fiddler抓包工具教學與界面菜單的詳解+實戰應用《三》
    ☝學測試領資料,技術交流,掃碼入群☝版本說明:Fiddler一共2個版本,一個是Fiddler2,一個是Fiddler4,兩個版本沒有太大的區別,系統底層支持是不一樣的,Framework版本不同(.net版本)Fiddler4支持win8以上Fiddler2支持winXP(.netk只有2.X版本)、win7
  • 【沙發管家】小米電視4S裝機必備軟體推薦,免費看高清直播
    75英寸小米電視4S內置小愛同學,大人小孩都會用,詮釋智能電視的意義。除此之外,結合小米強大的IOT生態鏈所擁有的海量智能硬體產品,內置的小愛同學也可以實現聯動,讓大屏電視成為智能家居生活的入口。但是小米電視想要觀看電視直播以及免費的電影點播,還是需要通過安裝第三方軟體來實現。
  • 【自學成才2021.2.6】焊臺是什麼_什麼牌子的焊臺好
    焊臺的用途非常廣泛,從常見的電子家電維修到電子集成電路和晶片都會應用到焊臺作為焊接工具,但最常用於電子工廠PCB電路板的錫焊。  前為了保護環境,各國已經禁止使用含鉛的焊錫線,這就提高了焊接溫度,因為無鉛錫線比有鉛錫線熔點提高了。對焊臺的溫度補償,升溫及回溫速度有了更高的要求升溫及回溫速度是決定生產效率的一個重要指標,所以選擇一款好的焊臺,就要看他的溫度控制能力。
  • 如何調整字體大小,簡易模式咋切換?掃清老人使用智能機基本障礙
    那問題來了,智慧型手機操作繁瑣,父母輩文化程度不高,又老眼昏花記性差,難上手成為他們使用智慧型手機的攔路虎。這個時候該是考驗做子女的孝心了,趁著感恩節臨近,快來看下「小飛談數碼」我分享的手機小技巧,教他們學會使用智能機。我先分享下智慧型手機字體設置和簡易模式切換方法。
  • 如何實現後臺管理系統的權限路由和權限菜單
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫前言本文是繼 前端如何一鍵生成多維度數據可視化分析報表 實戰的最後一篇文章, 主要介紹如何實現後臺管理系統的權限路由和權限菜單.
  • 背景去色保留局部色彩,突出主體實現同一效果,三種軟體三種方法
    以人物照為例,要將背景去色、保留人物顏色的工具與方法有很多,例如用宇宙最強的電腦端PS即可實現上述效果,然而下文要與大家分享的是手機端最強大的兩款修圖APP以及一款最有趣味性的玩圖軟體。同一效果不同軟體的實現方法,看看你更喜歡哪種操作?
  • 【沙發玩機】智能電視觀看本地視頻如何加載字幕文件?
    在今天的【沙發玩機】中,小編要來給大家講一講如何在智能電視/網際網路機頂盒上播放視頻時加載本地字幕文件~隨著智能電視的不斷發展,越來越多的娛樂功能被開發出來,即使是傳統的非智能電視只要接上電視盒子便可以一樣聽音樂、玩遊戲、看網頁… 然而對於絕大多數用戶而言,觀看高清視頻仍然是如今電視最主要的功能。
  • 多樣解鎖/動態滑屏 步步高vivo S1界面解析(全文)_vivo S1_手機...
    在移動網際網路競爭激烈的今天,市面上同質化嚴重的智慧型手機究竟如何才能吸引用戶的眼光、最終脫穎而出呢?想必這應該會是所有手機廠商需要考慮的問題。而對於普通消費者而言,產品的市場定位、性價比、手機外形、作業系統則是他們在購機前需要仔細斟酌的。
  • 2017年電視盒子八款精品軟體推薦!
    如何便捷的尋找、安裝這類APP應用就成了最為頭疼的問題。  時值2017新的一年開始,小編下面就為大家推薦幾款口碑爆棚、功能全面、資源豐富的電視APP應用,讓你的盒子與眾不同!影視快搜是一款非常強大的聚合類視頻直播軟體,專為安卓系統的智能電視和智能盒子設計,一鍵安裝,播放流暢不卡頓。能看直播,也能全網搜影視資源,這麼好用的視頻軟體也是沒誰了!二、應用類1、當貝市場(精品應用商店)
  • 上新日|Start11 開始菜單還原美化工具,Win 10 菜單也能變 11 風格
    大家周五好呀~ 本周上架的是一款 Windows 系統美化增強工具:Start11。
  • 高清範首測:海美迪首款語音小盒子芒果嗨Q H6如何實現人機互動?
    首頁圖標還可以實現移動功能,選中一個圖標,再按住遙控器的菜單鍵,然後左右移動相應圖標,再次按菜單鍵,將此應用放在想要的位置處就完成移動功能了。,語音智能控制       芒果嗨Q H6盒子最大的特色就是語音遙控,藍牙遙控器不僅實現靈活遙控,還能實現語音控制,對於老人和小孩這樣的群體也可以簡單使用。