【问题标题】:Making one Arduino interupt anothers loop让一个 Arduino 中断另一个循环
【发布时间】:2013-04-30 15:08:04
【问题描述】:

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

我的目标是进行一些设置,以便当 Arduino 1 上的 flex 传感器超过某个数字时,它会触发 2 分钟的灯光淡入淡出序列,在每次开/关淡出后逐渐变暗和变暗在 Arduino 2 上。我有点不确定如何执行此操作的代码,但我认为可以修改淡入淡出代码以记住最后一个最大数字,并在下次将其减少 1。

但是......虽然这个序列正在进行中,我希望通过弯曲 Arduino 2 上的柔性传感器来取消它。我的目标是让 Arduino 在这个光序列除了它自己之外没有其他反应flex 传感器,这意味着 Arduino 1 上的 flex 传感器如果弯曲到设定值或高于设定值,则不会重新启动另一个序列,而光序列正在进行中。一旦这个 flex 传感器弯曲,理想的情况是取消或结束灯光序列,并在 Arduino 1 上启动复制灯光序列。

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

【问题讨论】:

    标签: arduino led


    【解决方案1】:

    这是我的理解:

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

    解决方案:

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

    编辑:根据循环的长度,您可能需要在循环中多次检查 flex 传感器

    【讨论】:

    • 是的,完全一样。在我的脑海中,我的序列是从同一个循环中运行的,但我认为我可能错了。您不会碰巧有任何示例代码或我可以查看的示例来尝试理解它,对吗?顺便谢谢你的回答,真的很感激!
    • 酷。不幸的是,我无法为您提供实际代码,因为我没有使用 Arduinos 的经验(从来没有机会,一直在使用 Raspberry Pi)。
    • 查看 www.adafruit.com,Lady Ada 有很多优秀的 Arduino 教程(还有很多玩具可以让您大赚一笔)。
    • 非常感谢伙计!祝你好运树莓派的东西。我有一个在路上,所以我期待着玩它。
    • 没问题,玩得开心!此外,标准做法是单击满足您需求的答案左侧的小复选标记,以便其他人知道什么对您有用:)
    猜你喜欢
    • 1970-01-01
    • 2013-02-17
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    相关资源
    最近更新 更多