使一个Arduino中断其他循环

时间:2013-04-30 15:08:05

标签: arduino led

我目前有两个Arduinos通过Xbees互相交谈,我希望得到一些反馈,因为我一直在寻找这个问题的答案。

我的目标是设置一些东西,以便当柔性传感器在Arduino 1上超过一定数量时,它会启动和关闭2分钟的灯光褪色,每次开/关淡化后逐渐变暗和变暗在Arduino 2.我稍微不确定如何执行此操作的代码,但我认为可以修改淡入淡出代码以记住最后一个最大数字,并在下一次将其减少1.

然而......当这个序列正在进行时,我希望通过弯曲Arduino 2上的flex传感器来取消它。我的目标是让Arduino在没有别的情况下做出任何反应,而这个光序列不是它自己的flex传感器,意味着Arduino 1上的flex传感器如果弯曲到设定值或更高,则不会重新启动另一个序列。一旦这个柔性传感器弯曲,理想的情况是光序列被取消或结束,并且复制光序列在Arduino 1上开始。

我希望有关代码的建议,以及是否有可能产生这种性质的中断?如果在其他地方有这个问题我很抱歉,但我一直在努力寻找它。

1 个答案:

答案 0 :(得分:1)

这是我的理解:

Arduino 1的柔性传感器弯曲 - > Arduino 2开始灯光秀 Arduino 2的柔性传感器弯曲 - > Arduino 2停止灯光秀,Arduino 1开始新的灯光秀。

解决方案:

当Arduino 2正在运行其灯光循环时,它会在每次循环时检查其柔性传感器。如果柔性传感器显示弯曲,则跳出循环。一旦离开循环,让它发出信号Arduino 1开始自己的灯光秀。当Arduino 2运行其灯光秀时,只需忽略Arduino 1的任何输入(即不检查输入)。

编辑:根据循环的时间长短,您可能需要在循环中多次检查弹性传感器