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