全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > LED照明 >

【Z站推荐】EsDA MPC-ZC1 入门(二)—— LED 控制

时间:2022-08-19 10:37

人气:

作者:admin

标签: LED 

导读:继上一篇章EsDAMPC-ZC1入门(一)——软件安装,本章节以最简单的LED控制例程来介绍AWFlow应用流图的基本开发过程。整个教程通过5个步骤,演示了节点添加、配置、连线等基本开发过程...

继上一篇章 EsDA MPC-ZC1 入门(一)——软件安装,本章节以最简单的 LED控制例程来介绍 AWFlow 应用流图的基本开发过程。

整个教程通过5个步骤,演示了节点添加、配置、连线等基本开发过程,实现了LED点亮, 闪烁, 流水灯等功能。


1a964206-1f58-11ed-9ade-dac502259ad0.jpg Step.1搜索LED节点

可通过搜索框,快速定位到 LED 节点。

1aa374d0-1f58-11ed-9ade-dac502259ad0.png

每一个节点都有对应的帮助文档,详细介绍了节点的属性、输入参数、输出数据、行为特性和对应例程。

1ab71c9c-1f58-11ed-9ade-dac502259ad0.png1. LED节点属性

  • 名称(Name):节点名称,可用于索引查找本节点;
  • 显示名称(Display Name):用于画布上显示的名称,仅做显示;
  • 设备名称(Device Name):用于索引硬件 LED 设备,通常由目标板提供枚举选项;
  • 初始状态(Initial State):LED 初始状态,on(亮)或 off(灭)。

2. LED输入参数

  • payload(负载数据):指示 LED 的状态参数,0(灭),1(亮),2(反转);
  • timer(闪烁周期):当本参数存在时,LED 进入闪烁模式,并按照参数值,周期性闪烁;
  • device_name(设备名称):通常用于多 LED 控制时,匹配指定 LED 设备;
  • fast_blink(闪烁次数):当使能 timer 功能,此参数可用于设置闪烁参数。

所有节点的输入参数皆由上级节点输出提供,通常为 msg 对象携带的对应属性参数。

3. LED输出数据LED 为 sink 类型节点,不对外输出。

相关的节点类型介绍可参考《AWFlow节点开发指南》

https://awstudio.zlg.cn/pro/docs/awstudio_docs/AWFlow_Node_Develop_Guide/

1a964206-1f58-11ed-9ade-dac502259ad0.jpg Step.2添加LED节点

LED 节点推拽至画布上,完成节点添加。

1ad2744c-1f58-11ed-9ade-dac502259ad0.png

双击画布上的 LED 节点,打开节点配置界面。

1ae3a032-1f58-11ed-9ade-dac502259ad0.png

此处选择 led_red 设备,对应板载的红色LED,并将初始状态配置为 on,然后点击完成。

属性说明可以参考 LED 节点属性章节。

1a964206-1f58-11ed-9ade-dac502259ad0.jpg Step.3 下载流图

点击请选择目标板,选中目标板通信接口(AWFlow Designer 后台会自动检测符合AWFlow 通信标准的通信接口)。1afe922a-1f58-11ed-9ade-dac502259ad0.png

点击下载流图按钮。

1b093766-1f58-11ed-9ade-dac502259ad0.png

下载完成。

1b35293e-1f58-11ed-9ade-dac502259ad0.png

此时可以看到板子的红色LED已经亮起,这是因为我们配置了LED的初始状态为on,所以当LED节点被加载时,会点亮对应的LED。

1b4011c8-1f58-11ed-9ade-dac502259ad0.png

虽然LED已经成功点亮,但是仅使用 LED 节点并不能实现复杂的状态控制功能,我们需要进一步添加其他节点来实现复杂业务。


1a964206-1f58-11ed-9ade-dac502259ad0.jpg Step.4添加业务

大多数带有业务的数据流,都会根据系统中的一些事件来做出响应的,一般以一个 pump 类型的节点作为起始点,通过此节点接收系统事件来触发数据流执行,这里我们以 1秒反转一次LED状态作为业务。我们需要添加一个 timer 节点,利用 timer 节点产生的周期事件来触发数据流执行,同时推动一个 fscript 脚本节点来向 LED 节点输入反转的命令。

关于timer、fscript节点的介绍可参考《AWFlow节点使用手册》

https://awstudio.zlg.cn/pro/docs/AWFlow/

添加timer节点

1b6d620e-1f58-11ed-9ade-dac502259ad0.png

添加fscript节点

1b800ca6-1f58-11ed-9ade-dac502259ad0.png

编辑fscript节点

1b8c03bc-1f58-11ed-9ade-dac502259ad0.png

如图片所示:

  • 添加 timer、fscript 节点,并进行连线;

编辑 fscript 节点脚本。

msg.payload = 2
  • 可参考LED 输入参数

timer节点默认以 1 秒为周期,触发数据流运行,向fscript传递定时计数值,此处fscript节点并未使用timer的计数值,仅利用其周期事件来向LED节点发送反转命令。

1b96ed04-1f58-11ed-9ade-dac502259ad0.png

下载流图

重复Step.3 下载流图的步骤,下载最新流图,可以看到板载红色LED整以1秒的周期进行反转。

1ba0fa6a-1f58-11ed-9ade-dac502259ad0.gif

1a964206-1f58-11ed-9ade-dac502259ad0.jpg Step.5扩展业务

为了更加深入的了解业务的开发过程,这里通过流水灯业务进一步扩大业务规模。

1. 添加新数据流

按照之前添加节点的方式,新增额外2路LED控制数据流,如下图所示:

可选中画布中的 fscriptled 节点通过 ctrl+c 复制,ctrl+v 粘贴来快速添加节点。

1bcbf81e-1f58-11ed-9ade-dac502259ad0.png

2. 配置LED节点

3路 LED 配置如下图所示:1bdcb690-1f58-11ed-9ade-dac502259ad0.png1be63b98-1f58-11ed-9ade-dac502259ad0.png1bfabd20-1f58-11ed-9ade-dac502259ad0.png

3. 配置业务节点

3路 fscript 节点配置如下图所示:

1c094a02-1f58-11ed-9ade-dac502259ad0.png1c1f0b62-1f58-11ed-9ade-dac502259ad0.png1c294a6e-1f58-11ed-9ade-dac502259ad0.png前面我们了解到 timer 节点会周期性向下一节点推送一个定时器计数值(msg.payload),我们可利用这个计数值来索引不同的LED。

if (msg.payload /1000 %3 == 0) {
  output.payload = 1} else {
  output.payload = 0

总共有3路LED,那么我们通过msg.payload /1000 % 3计算来获得3个索引条件。

timer 节点计数精度为1毫秒,默认计数周期为1秒,除以 1000 获得秒计数值。

代码

点亮LED

msg.payload /1000 %3 == 0

红色

msg.payload /1000 %3 == 1

蓝色

msg.payload /1000 %3 == 2

绿色

由于timer节点的输出数据(msg),需要被推送到多路数据流上,所以为了不影响其他数据流的使用,这里我们选择output作为输出数据。

关于output、msg对象的详细描述,可参考《AWFlow节点开发指南》

https://awstudio.zlg.cn/pro/docs/awstudio_docs/AWFlow_Node_Develop_Guide/

最终流图如下所示:1c40ec96-1f58-11ed-9ade-dac502259ad0.png4. 下载流图重复Step.3 下载流图的步骤,下载最新流图,可以看到板载LED整以1秒的周期进行切换显示。1c4f9200-1f58-11ed-9ade-dac502259ad0.gif

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信