迪文智能屏
直播中

dql2016

8年用户 342经验值
擅长:模拟技术 测量仪表 嵌入式技术 处理器/DSP 测量仪表 嵌入式技术 模拟技术 处理器/DSP
私信 关注
[经验]

【迪文COF结构智能屏试用体验】三、项目报告之室内空气质量检测

一、前言
之前体验过不少图形系统方案,比如emWin、miniGUI、QT,串口屏的主要特点在于开发简单,无需学习复杂的GUI细节,只需要会读写串口数据即可。迪文的这款COF智能串口屏除了传统串口屏的功能外,还提供了一个额外的高性能51单片机核心给用户使用,拥有常见的i2c、uart、can等通信接口和GPIO,可以说是非常给力了, 对于一些应用场景可以直接省掉一颗MCU。经过一段时间的摸索和逛迪文论坛,并在热心的迪文工程师的指导下,终于学会了这款串口屏的基本应用,完成了项目开发。
本次设计的是基于迪文串口屏的室内空气质量检测项目,利用迪文串口屏的用户51单片机核通过uart接口与盛思锐SEK-SVM40模块通信,读取到 VOC指数、相对湿度和温度,并使用DGUS_V7.634设计UI界面,一个界面用于展示读取的数据,另一个界面用于显示参数曲线。若通过GPIO驱动继电器控制风机等设备,可扩展空气净化器等应用项目。

我们呼吸的空气是健康生活的基础:近年来,清洁的空气成为诸多重视健康生活人士的新需求,如何得到清洁的室内空气,其中最重要的环节就是测量与改善空气质量。
最重要的空气质量指标有VOC(挥发性有机化合物)和温湿度。VOC 是在室温或更高温度下蒸发的含碳物质。短期接触会导致刺激、头晕或哮喘恶化;长期接触则可能会导致肺癌或损害肝脏、肾脏或神经系统。40-60%的相对湿度是人类理想的舒适度范围。极度干燥的空气会刺激呼吸道,而过分潮湿的空气会导致冷凝,进而引发霉菌滋生,其他影响可能包括头痛甚至偏头痛。


二、UI设计
项目需要显示VOC指数、温湿度3个参数和曲线。因此设计了2个页面,准备好背景图,主页参数显示背景图:
00_背景.png
曲线显示背景图:
01_曲线.png
然后在第一个界面上添加数据变量控件、变量图标显示控件基础触控控件,在第二个界面上添加数据变量控件、基础触控控件动态曲线控件,开发流程在官方文档《T5L DGUSII 应用开发指南20220124.pdf》中写的十分详细了,即使有疑问的地方在迪文官方论坛也能找到答案。
3个数据变量控件:
屏幕截图 2022-04-09 211354.png
3个动态曲线控件:
屏幕截图 2022-04-09 211457.png
在第三个界面上添加基础触控控件:
屏幕截图 2022-04-09 211440.png
其中多通道曲线显示稍微研究下手册也很容易实现:
屏幕截图 2022-04-09 211807.png
两个通道的例子:
屏幕截图 2022-04-09 211826.png
举一反三,三个通道就依次在后面添加通道号、数据长度个数、要显示的数据就行了。

三、c51单片机程序设计
项目中用到串口2作为日志打印用,串口5和传感器模块通信,官方文档《迪文 T5L ASIC应用开发指南.pdf》详细介绍了用户c51单片机核的开发方法,在迪文论坛也有官方或者网友分享的参考例程,上手还是十分简单的。
屏幕截图 2022-04-09 211726.png
串口收发这里就不再赘述了,按照前文介绍的思路,三通道曲线显示函数封装如下:
  1. void t5l0_write_3chart(unsigned short x,unsigned short y,unsigned short z)
  2. {
  3.         #define CHART_ADDR 0x310
  4.         #define CHART_NUM2 3
  5.         #define POINT_NUM 1
  6.         
  7.         #define CH0 0
  8.         #define CH1 1
  9.         #define CH2 2
  10.         unsigned char cmd[6+POINT_NUM*2+8]={0x5a,0xa5,CHART_NUM2,0x00};
  11.         cmd[4]=CH0;
  12.         cmd[5]=POINT_NUM;
  13.         cmd[6]=(unsigned char)(x>>8);
  14.         cmd[7]=(unsigned char)x;
  15.         
  16.         cmd[8]=CH1;
  17.         cmd[9]=POINT_NUM;
  18.         cmd[10]=(unsigned char)(y>>8);
  19.         cmd[11]=(unsigned char)y;
  20.         
  21.         cmd[12]=CH2;
  22.         cmd[13]=POINT_NUM;
  23.         cmd[14]=(unsigned char)(z>>8);
  24.         cmd[15]=(unsigned char)z;
  25.         
  26.         write_dgusii_vp(CHART_ADDR,cmd,3+POINT_NUM+4);
  27. }


四、总结&项目演示
c51工程:
T5L0_Test.rar (669.62 KB)
(下载次数: 7, 2022-4-9 22:00 上传)

GUI工程:
dwin_test.rar (2.58 MB)
(下载次数: 13, 2022-4-9 22:00 上传)


迪文这款屏体验十分优秀,不管是GUI开发还是51核单片机开发,官方都有详细的资料和论坛资源支持,对于玩过单片机、MCU、MPU的人来说上手十分简单。
由于疫情管控等原因,时间仓促,来不及体验这款屏的其它资源比如ADC、CAN,希望后续抽空体验完全。


串口2日志打印效果:
屏幕截图 2022-04-09 210749.png

视频演示:




VID_20220409_210553

回帖(1)

小刘

2022-4-11 00:29:32
11111
举报

更多回帖

发帖
×
20
完善资料,
赚取积分