该交互检测装置以GD32F310开发板为核心,由迪文智能屏充当交互式桥梁,并结合数字式传感器的使用来实现。
之所以由迪文智能屏充当交互式桥梁是因为,它是一款触摸式的智能屏,能快速完成高质量的界面设计,且可以通过串行通讯来交换信息。
在这里其使用的界面形式如图1和图2所示,其中的显示界面主要由于显示当前的系统设计,设置界面则是用于设置或调整系统时间。
在信息交换过程中,所涉及的串行通讯内容参见“UART的应用”一贴。
图1 显示界面 图2 设置界面
1)时间显示
由于迪文智能屏并没有独立的电子时钟计时功能,故所显示的系统时间是由开发板的片内RTC来完成,并由串口发送到显示屏来显示。
关于RTC的使用,可参考“RTC的使用”的帖子,向显示屏发送时间值的形式如图3所示。其中“30 38 3A 33 35 3A 34 36”就表示所要显示的时间为“08:35:46”,而“5A A5 0B 82 10 20”则是向变量地址10 20发送数据以更新显示内容。
图3 发送时间值
2)检测值显示
该装置所涉及的检测目标是环境的温度、气压及光照强度。所使用的传感器是温度大气压传感器BMP085和光照强度传感器BH1750,其实现的方法可以参考“传感器检测”的帖子,这里就不再详细介绍。
向显示屏发送光照值的形式如图4所示,其中“5A A5 05 82 12 04”的作用是向变量地址1204发送数据“03 E8”,即光照值为1000 lx。
图4发送光照值
3)参数设置
我们不但可以通过发送数据来更新显示内容,还可以从显示屏读取数据,这样就可以实现参数的设置。
以读取日期的设置值为例,其指令为“5A A5 04 83 10 00 05”。在返回的数据中,“32 30 32 32 2D 30 33 2D 30 36”即为日期值“2022-03-06”,见图5所示。
图5 读取日期变量
若使用指令“5A A5 04 83 10 20 04”,则可读取时间变量的数据,其中“31 30 3A 33 30 3A 30 30”位时间值“10: 30:00”,见图6所示。
图6读取时间变量
这样就可完成一个交互式检测装置的制作,当然还可以利用迪文智能屏的波形显示功能将检测的数据直接以波形曲线的形式显示出来,这里就不再详细予以介绍。总之,GD32F310开发板在使用方面还是十分顺手的,有利用提高开发的效率。
|