【RT-Thread作品秀】家庭照明控制系統(tǒng)
作者:汪文龍
概述
普通的照明系統(tǒng)開關(guān)太多,整合到一處會方便一些
開發(fā)環(huán)境
硬件:ART PI
RT-Thread版本: 4.0.2
開發(fā)工具及版本:RTT studio
RT-Thread使用情況概述
內(nèi)核: main進(jìn)程,touchgfx進(jìn)程,messagequeue,
組件:touch設(shè)備驅(qū)動程序
軟件包:ft5426驅(qū)動包
硬件:IIC
庫:TouchGFX Library
硬件框架
ART PI開發(fā)板,引腳A1, A2,A3,A6,A7灌流方式驅(qū)動5個LED燈珠。燈珠共陽。
軟件框架說明
RTT和TouchGFX初始化完成后,每當(dāng)屏幕上的滑塊滑動,都會調(diào)用相應(yīng)的回調(diào)函數(shù)。在回調(diào)函數(shù)里改變相應(yīng)燈珠的PWM值
軟件模塊說明
TouchGFX:在touchgfxdesigner里創(chuàng)建五個滑塊,并且設(shè)置相應(yīng)的 interaction。生成的虛函數(shù)在xxxviewbase.hpp, 將這個虛 函數(shù)在 xxxview.hpp里繼承,xxxview.cpp里實(shí)現(xiàn)即可。
PWM調(diào)光:由于嘗試使用PWM設(shè)備不成功,這里使用的是軟件調(diào)光。開 一條進(jìn)程刷就行。
演示效果
演示視頻:
比賽感悟
這次比賽, 是我第一次接觸RTT這款國產(chǎn)操作系統(tǒng)。在此之前,我使用過,ucos,freertos,和cmsis封裝過的freertos。在內(nèi)核方面的區(qū)別,印象比較深刻的也只有RTT的消息隊(duì)列多了一個發(fā)送緊急消息,這個功能在實(shí)際應(yīng)用中應(yīng)該是非常有效的。另一個區(qū)別是隊(duì)列類的內(nèi)核對象可以按優(yōu)先級排列出隊(duì)。其實(shí)總體來說,RTT內(nèi)核和其他的操作系統(tǒng)感覺差別不大。讓我感到驚艷的是RTT的生態(tài)環(huán)境太好了,適配了那么多的驅(qū)動,有那么多活躍的大佬在為我們這些入門小白服務(wù),給RTT的“客服”們點(diǎn)贊。
當(dāng)然,問題也是有的,比如RTT在配置env控制臺中未出現(xiàn)的選項(xiàng)時候,就比較頭痛。我的項(xiàng)目里需要用到PWM,Kconfig文件修改卡了我好幾天,最終還是選擇放棄,pwm用進(jìn)程實(shí)現(xiàn)(幸好不是什么非常精準(zhǔn)的pwm控制)。希望RTT可以在這方面優(yōu)化一下,簡化一下操作。
PS:源碼在Gitee里,鏈接已經(jīng)放上了。
電路過于簡單,五顆用引腳驅(qū)動的LED。在代碼里一目了然。就不放了。
感謝RTT交流群里大佬,kk,王海靖,李子木,私聊不回,感謝你們的幫助。