arduino顺序照明
arduino sequential lighting
我还在学习arduino。我正在尝试在单击按钮时按顺序初始化一系列 3 个 LED 灯。我想要的是按钮充当打开和关闭序列的开关。到目前为止我已经完成了,但是你必须按住按钮才能保持它 运行.. 我已经尝试了另一种方法,在序列(所有 3 个 LED)完成后读取按钮状态,但是我'我仍然对该解决方案不满意,因为我希望能够在序列期间随时按下按钮开关以关闭序列。有什么帮助吗?
您可以尝试使用状态变量。声明一个布尔变量,例如:
boolean runSequence = false;
现在,当您检测到按下按钮时,只需切换状态即可:
// Replace this condition to whatever matches your button setup
if ( digitalRead(pin) == HIGH )
{
runSequence = !runSequence;
}
然后,您可以根据状态控制您的灯光序列:
if ( runSequence )
{
// code to run your light sequence
}
现在,请注意:这是一个简化的示例,并未考虑开关的去抖动。当您读取开关状态时,您应该添加一些额外的代码句柄来消除开关的抖动;如果您对此不熟悉,Arduino IDE.
中有一些代码示例
试试这些建议,如果您 运行 遇到麻烦,请 post 您目前已有的代码,并描述您遇到困难的地方。
我还在学习arduino。我正在尝试在单击按钮时按顺序初始化一系列 3 个 LED 灯。我想要的是按钮充当打开和关闭序列的开关。到目前为止我已经完成了,但是你必须按住按钮才能保持它 运行.. 我已经尝试了另一种方法,在序列(所有 3 个 LED)完成后读取按钮状态,但是我'我仍然对该解决方案不满意,因为我希望能够在序列期间随时按下按钮开关以关闭序列。有什么帮助吗?
您可以尝试使用状态变量。声明一个布尔变量,例如:
boolean runSequence = false;
现在,当您检测到按下按钮时,只需切换状态即可:
// Replace this condition to whatever matches your button setup
if ( digitalRead(pin) == HIGH )
{
runSequence = !runSequence;
}
然后,您可以根据状态控制您的灯光序列:
if ( runSequence )
{
// code to run your light sequence
}
现在,请注意:这是一个简化的示例,并未考虑开关的去抖动。当您读取开关状态时,您应该添加一些额外的代码句柄来消除开关的抖动;如果您对此不熟悉,Arduino IDE.
中有一些代码示例试试这些建议,如果您 运行 遇到麻烦,请 post 您目前已有的代码,并描述您遇到困难的地方。