一、跑马灯效果

效果可以看看这位博主大佬的哟

二、实现步骤

1.创建状态机

一共有3个状态
枚举类型

2.Init

通过创建布尔型数组来实现长度可调整,通过”初始化数组“函数来分配数组的长度,大佬的文章中也提到可以通过”一维数组循环移位“函数实现灯的循环点亮的效果。
Init时限内细节
如图所示,”初始化数组“函数只能统一给数组赋相同的值,而跑马灯是通过循环移动值为True的元素来实现的,因此默认赋值时将第一个元素的值赋值为True。

3.Idle

(1)更新频率

Idle中为事件结构,如下图所示,通过"Timeout"(中文板为”超时“),来实现跟新频率的设置,这里默认设置为1000ms,即每秒更新并将True右移一位。
在这里插入图片描述

(2)更改长度

通过事件结构响应前面板 长度:Value Change事件,回到Init分支更新数组长度。
在这里插入图片描述

(3)Stop

跳转至Exit分支,退出While循环。
在这里插入图片描述

三、结果

在这里插入图片描述

总结

以上是通过简单状态机来实现LED跑马灯的仿真,方法不止一种,有兴趣的可以参考链接,欢迎大家讨论学习哟。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐