【RT-Thread作品秀】基于 lvgl 的漏電保護(hù)裝置校驗(yàn)儀 UI 界面設(shè)計(jì)
作者:趙加文
概述
低壓漏電引起的各種安全事故已經(jīng)嚴(yán)重影響到生產(chǎn)生活,威脅到生命財(cái)產(chǎn)安全。而解決這一現(xiàn)象的設(shè)備就是漏電保護(hù)開(kāi)關(guān),漏電保護(hù)開(kāi)關(guān)的漏報(bào)率、誤報(bào)率是很關(guān)鍵的參數(shù),因此有必要對(duì)漏電保護(hù)開(kāi)關(guān)的性能進(jìn)行測(cè)試。因此,漏電保護(hù)裝置校驗(yàn)儀是很有必要的。
開(kāi)發(fā)環(huán)境
硬件:ART-Pi 開(kāi)發(fā)板,正點(diǎn)原子 480*272 4.3寸 RGB 屏幕
RT-Thread版本:4.0.3
開(kāi)發(fā)工具及版本:
RT-Thread Studio 2.0.0 :編寫(xiě) 編譯 調(diào)試 下載代碼
STM32CubeMX 6.1.0:
codeBlocks 20.03:用于在 PC 機(jī)上進(jìn)行 lvgl 模擬
MCU_Font V2.0: 用于轉(zhuǎn)換中文,然后使得中文能夠在 lvgl 中顯示
RT-Thread使用情況概述
在 UI 設(shè)計(jì)的整個(gè)過(guò)程中,使用到 RT-Thread 的部分主要有以下幾個(gè)方面:
內(nèi)核部分: 動(dòng)態(tài)線程,信號(hào)量
組件部分: PIN 設(shè)備、I2C 設(shè)備、TOUCH 設(shè)備框架、LCD 設(shè)備框架、finsh 組件
軟件包部分:littlevgl2rtt、gt9147
硬件框架
軟件框架說(shuō)明
系統(tǒng)整體流程圖:
軟件模塊說(shuō)明
整個(gè)UI 系統(tǒng)設(shè)計(jì)所遵循的是 lvgl 圖形庫(kù)的一個(gè)回調(diào)函數(shù)的機(jī)制,將各個(gè)事件與對(duì)應(yīng)的操作所綁定起來(lái),當(dāng)滑動(dòng)滑條時(shí)對(duì)應(yīng)的滑條的回調(diào)函數(shù)就會(huì)被觸發(fā),那么就會(huì)執(zhí)行滑條回調(diào)函數(shù)的內(nèi)容,當(dāng)滑動(dòng)點(diǎn)擊文本框時(shí),文本框?qū)?yīng)的回調(diào)函數(shù)就會(huì)被觸發(fā),進(jìn)而創(chuàng)建鍵盤(pán)的控件,通過(guò)鍵盤(pán)輸入所需要的數(shù)據(jù)。
演示效果
圖片展示:
演示視頻:
比賽感悟
這次參賽,之前還沒(méi)有使用過(guò) RT-Thread studio 這個(gè)集成開(kāi)發(fā)環(huán)境,這次在使用 ART-Pi 的時(shí)候全程是使用 RT-Thread studio 這個(gè)開(kāi)發(fā)環(huán)境,在使用的過(guò)程中也碰到了很多問(wèn)題,有時(shí)候明明配置了相關(guān)組件,但是保存之后,并沒(méi)有代碼添加到工程里?,F(xiàn)在也沒(méi)有弄明白問(wèn)題出在哪里,雖然存在著這里問(wèn)題,但是在使用的過(guò)程中,還是非常的方便,整個(gè)開(kāi)發(fā)過(guò)程就如同搭積木一樣方便,與 RTT操作系統(tǒng)貼合的非常的緊密。
除此之外,便是在使用 lvgl 的過(guò)程中碰到了很多的問(wèn)題,現(xiàn)在網(wǎng)上的教程基本是 lvgl v6 版本的教程,關(guān)于 lvgl v7 版本的教程很少,而且 v6版本與 V7 版本的 API 相差很大,不能按照 V6 版本來(lái)使用 V7 ,在這個(gè)過(guò)程中摸索了好多,同時(shí)也感受到了 lvgl 的魅力,使用在嵌入式系統(tǒng)上是非常不錯(cuò)的選擇。