我们重视您的隐私
通过点击「允许所有 Cookie」,代表您同意在您的设备上存储 Cookie 以增强网站浏览体验、分析网站使用情况并协助我们的营销和网站效能优化工作。您可以在我们的隐私权政策中找到有关于此的更多信息。
此前在介绍智能显示器产品时,我们主要聚焦于产品本身的功能与特性,而较少从客户终端主机的角度说明如何控制智能显示器。本文以仪表为例,介绍如何通过实体控制器和主机(Arduino)进行数据传输,并将数据更新至智能显示器模块,实现仪表显示与控制端数据联动。
本示例采用 4.3 英寸 CAN Bus 智能显示器,通过主机控制 240 度仪表显示。主机采用 Arduino Mega 2560 开发板,并搭配 CAN Bus Shield 和旋转角度传感器。所需组件如下:

1.1 新建项目,并在 GUI Builder 中选择 4.3 英寸显示器的空白模板。

1.2 在 Resource 面板中设置 Background Style 0,并选择黑色背景图片。

1.3 在 Gauge Edit 窗口中设置指针的旋转角度。
►首先,选择 Gauge Style 6,然后单击 Modify 按钮。

►选择后,Gauge Editor 窗口中会显示仪表预览,如下图所示。

►勾选 "Show Details",可查看更多与指针旋转相关的设置参数。

►可通过 Degree 区域中的 +/- 按钮调整指针的最小和最大角度,如下图所示。

►Value Range 由最小值和最大值组成。当通过 CAN Bus 接收到数值时,系统会将其映射至指针的最小和最大旋转角度。

►完成仪表设计后,可向右拖动 Test Value 滑块检查显示效果。随着 Test Value 增大,指针角度也会随之增加,直至达到设定的最大值和最大角度。

2.1 完成上述设置后,切换至 Page Info 页面,并将 Gauge Style 6 拖动至屏幕中央。
2.2 通过 USB2CAN 将 PC 与智能显示器连接,然后依次单击 "Connect Device" 和 "Upload the Project" 图标。GUI Builder 会将图片资源及页面设置上传至智能显示器模块,如下图所示:


2.3 屏幕将从启动画面切换至操作画面。当 4.3 英寸 CAN Bus 智能显示器出现如下画面时,表示项目已成功上传。


3.1 切换至 GUI Builder 的 Page 页面。根据 CANopen 架构定义,Gauge Style 6 的索引对应 object 0(0x2000)。在 Arduino 主机编程时,需要记录对象的索引。通过已知索引,可以轮询或修改对应对象的状态,具体可参考下方示例代码。
3.2 Arduino 主机可通过 "ConfigSmartDisplay" 函数设置 object 0 的类型、x/y 位置、样式、配置参数及背景图片。也可以不通过 Arduino 主机进行额外配置,由智能显示器读取板载 Flash 中已有的对象数据(由 GUI Builder 上传),并将已配置的对象显示在屏幕上。


3.3 当 Arduino 主机检测到旋转角度传感器的数值变化时,会通过 CANopen 将对应数值发送至智能显示器。
请参考以下程序中的关键命令结构 ID 和 sub-index。该程序用于根据旋转角度传感器接收到的数值变化,更新仪表数值(object index 0)。

有关上述程序的更多详细信息,请参考以下 GitHub 代码库:https://github.com/Smart-Display-Series/SmartDisplay_CANbus_Arduino_Examples。下方视频展示了实际硬件配置及运行效果。
免费试用 WINSTAR GUI Builder。 填写申请表,即可通过电子邮件获取 GUI Builder 下载链接。
通过点击「允许所有 Cookie」,代表您同意在您的设备上存储 Cookie 以增强网站浏览体验、分析网站使用情况并协助我们的营销和网站效能优化工作。您可以在我们的隐私权政策中找到有关于此的更多信息。