我正在尝试使用Arduino Uno打开和关闭LED。我使用PIR运动传感器作为输入。我希望当PIR传感器没有检测到任何东西时,LED熄灭。然而,一旦它从引脚12读取一个值,即使PIR传感器没有检测到任何东西,它也会保持开启。
我的代码:
value=readDigitalPin(a,'D12')
while value==1
writePWMVoltage (a, 'D6', 3)
end
while value==0
writePWMVoltage (a, 'D6', 0)
end发布于 2019-05-06 21:47:53
试一试
value=readDigitalPin(a,'D12') {
if (value==1)
writePWMVoltage (a, 'D6', 3)
}
else {
writePWMVoltage (a, 'D6', 0)
}
end这假设readDigitalPin的唯一可能返回值是0和1。如果不是,则将
else {使用
else if(value==0) {其他返回值将被忽略。
发布于 2019-05-13 23:04:55
你有没有试过在PIR传感器的输出端接上下拉电阻?我记得使用PIR传感器和Arduino运行了一次模拟。我不得不在输出引脚上添加一个下拉电阻,以确保在没有检测到任何运动时引脚保持低电平。
添加下拉电阻后,再次运行原始代码。
发布于 2019-05-29 21:31:02
因为有一个MATLAB标记和一些语法,所以我假设您使用的是Arduino的MATLAB支持包。如果是,请尝试以下操作:
while true
value=readDigitalPin(a,'D12');
if value==1
writePWMVoltage (a, 'D6', 3)
else
writePWMVoltage (a, 'D6', 0)
end
end请注意,这段代码也将在无限循环上运行,您可以使用数字引脚和按钮来中断循环。
https://stackoverflow.com/questions/55985792
复制相似问题