我道歉我是javascript的新手。我正在尝试使用setInterval从网站切换中继。继电器是一个有16个通道的Sainsmart,它连接到由树莓派控制的arduino。目标是最终有三个独立的继电器以特定间隔切换。然而,每次尝试使第一个工作失败。另外,每次在函数或全局中添加setInterval时,都会冻结来自我的ip camera的直播视频。我正在使用沙盒密钥。
html代码和脚本用于切换继电器,然后第二个按钮将其关闭,但我需要一个按钮来完成它。
按钮通过计数器启动序列,指示继电器是打开还是关闭。设置为使用偶数打开,使用奇数打开。任何帮助将不胜感激。
以下是我正在尝试使用的更新代码。
<div class="grid-item"><button id="37" onclick="startOnOff()">Start</button>
</div>
<script src="http://cdn.ably.io/lib/ably.min-1.js"></script>
<script>
var count = 0;
function startOnOff() {
var on = "37" + "on";
var off = "37" + "off";
if (counter % 2 == 0) {
toggleRelay(on);
count += 1;
} else if (count % 2 == 1) {
toggleRelay(off);
}
setInterval(startOnOff, 2000);
}
答案 0 :(得分:0)
您在一些地方count
,counter
在一个地方count
。
假设toggleRelay()
已在代码中的其他位置定义,请尝试以下操作:
var count = 0;
var on = "37" + "on";
var off = "37" + "off";
function startOnOff() {
if (count % 2 == 0) {
toggleRelay(on);
} else {
toggleRelay(off);
}
count += 1;
setTimeout(startOnOff, 2000);
}
count += 1;
应位于if
条件语句setTimeout()
时使用startOnOff()
。