我正在用一些例子研究 pyFirmata 协议。作为练习,我正在做 PIR 传感器系统。当我运行代码 pyFirmata 时,总是输出“无”值。但是,如果我在 PyCharm 中进行调试,则一切正常。在 Arduino 上上传了 StandardFirmata 草图。任何人都知道这种行为的原因是什么?
编码:
import pyfirmata
from time import sleep
def blinkled(pin, message):
print(message)
board.digital[pin].write(1)
sleep(1)
board.digital[pin].write(0)
sleep(1)
port = '/dev/cu.usbmodem1411'
board = pyfirmata.Arduino(port)
it = pyfirmata.util.Iterator(board)
it.start()
pirPin = board.get_pin('d:7:i')
redPin = 12
greenPin = 13
while True:
value = pirPin.read()
while value is None:
print("None")
sleep(1)
pass
if value is True:
blinkled(redPin, "Motion Detected.")
else:
blinkled(greenPin, "No Motion Detected.")
board.exit()