使用RA6M5开发板的简易热成像仪设计

描述

本项目是使用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官方的推荐的设计工具,这个是免费的,基本功能还是可以的,就是有一些小问题,期待以后能改进。下一步是想通过并口屏去实现显示,可以得到更高的性能,然后是进一步的完善更多的功能,比如录制视频,检测到报表导出等等,这些需要进一步去优化内存资源,还需要耐心的打磨。

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分