本項目是使用RA6M5開發板搭載RTThread系統+LVGL圖形庫實現的一個簡易熱成像儀。其中傳感器使用的是mlx90640,屏幕是320*240的電容觸摸屏,整個交互由觸摸完成。
01功能介紹
本項目使用野火的RA6M5開發板作為主控板,外擴了一個轉接板,將開發板上面的排針轉換成Arduino UNO接口,最后是一塊Arduino的屏幕擴展板,通過SPI和I2C進行屏幕控制和觸摸控制。
功能上目前支持最多5點測溫,其中1個點是最大值跟蹤點,剩余4個是手動測量點,手動測量點可以通過觸摸拖動對應的測量點進行測量點位的選擇,并且實現了拍照功能和圖片瀏覽器功能,圖片瀏覽功能可以瀏覽拍攝的測溫圖片。
02經驗分享
在開發過程中遇到的最大問題就是RAM不足。
本來計劃是使用全屏(即320*240)來做整體功能,但是由于RAM空間不足(圖形相關的基本空間是320*240*2*3=460KBytes,所以基本沒有系統任務等其他的空間了),所以整體尺寸只能往下調,使用的是280*210。
libbmp庫按320*240來算所需的緩存需要320*240*4=300KB,這又更進一步增加了內存的壓力,所以使用了分步處理圖片數據,是的內存占用降低到w*4,w是寬度,如果w=320,則需要1280Bytes內存。
03照片分享
320*240時的實際圖片
五點測溫圖
調整為280*210后
04軟件實現
軟件設計分2步,第一步是通過GUI Guider設計想要的界面,相關教程可以去NXP論壇找,第二步是封裝GUI相關的接口及實現對應的業務邏輯。
其中UI相關的切換、控件隱藏和顯示等都是通過GUI Guider進行設計的,添加少量代碼就可以了,然后導出之后就改吧改吧,這部分最大的工作量是總結了一個測溫光標的控件,此控件通過線和標簽控件組合而成。
業務邏輯上面就是主界面的時候讀取傳感器的數據并做相關的處理,然后調用GUI的API進行顯示,如果到了文件瀏覽界面,就會讀取SD卡的文件,生成bmp的列表,點擊相應的項就會加載對應的圖片,如果是設置界面,就會讀取參數,配置更新的換就會更新參數,當前就一個參數,就是測溫點的個數。
05小結
通過本次活動,學習了M33單片機,相對M4還是要復雜一些,需要多學習學習。然后是學習了GUI Guider的使用,相對LVGL官方的推薦的設計工具,這個是免費的,基本功能還是可以的,就是有一些小問題,期待以后能改進。下一步是想通過并口屏去實現顯示,可以得到更高的性能,然后是進一步的完善更多的功能,比如錄制視頻,檢測到報表導出等等,這些需要進一步去優化內存資源,還需要耐心的打磨。
審核編輯:湯梓紅
-
傳感器
+關注
關注
2564文章
52666瀏覽量
764223 -
mcu
+關注
關注
146文章
17869瀏覽量
361101 -
開發板
+關注
關注
25文章
5564瀏覽量
102704 -
熱成像儀
+關注
關注
1文章
79瀏覽量
14095
原文標題:【瑞薩RA MCU創意氛圍賽作品賞析】項目20——便攜式熱成像儀
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
基于RA6M5開發板的電子墨水屏消息站案例解析

評論