PyFirmata 在创建 Arduino() 对象后没有响应
PyFirmata doesn't respond after creating Arduino() object
我最近学习了如何使用 PyFirmata 通过 python 控制 arduino。
我试图编写代码使内置 LED 闪烁,但在创建 Arduino() 对象后我没有收到任何输出。这是我的代码:
from pyfirmata import Arduino
import time
arduino = Arduino("COM3")
num = int(input("How many times should the LED blink?"))
sleep_time = float(input("Time (seconds) between each blink (decimal values are allowed): "))
print(f"Blinking {num} times with a {sleep_time} second delay")
for temp in range(num):
arduino.digital[13].write(1)
time.sleep(sleep_time) # Seconds
arduino.digital[13].write(0)
time.sleep(sleep_time)
我的 Python 版本是 3.6.0,在 Windows 10(64 位)上,我附上了我的代码和终端的屏幕截图。
此外,澄清一下,我没有收到任何错误消息或任何其他输出。我什至没有得到终端提示,光标一直在闪烁
编辑:我的 Arduino 板是一个 UNO,它与 Arduino IDE 一起正常工作并使用 .ino
程序。
已修复:我没有将标准 Firmata 草图上传到 Arduino,这是 pyFirmata 工作所必需的。感谢@jasonharper 指出这一点:)
要上传草图,您必须在 Arduino IDE 中转到 File > Examples > Firmata
,select 从列表中选择一个 firmata 草图,然后在打开新的 window.
我最近学习了如何使用 PyFirmata 通过 python 控制 arduino。 我试图编写代码使内置 LED 闪烁,但在创建 Arduino() 对象后我没有收到任何输出。这是我的代码:
from pyfirmata import Arduino
import time
arduino = Arduino("COM3")
num = int(input("How many times should the LED blink?"))
sleep_time = float(input("Time (seconds) between each blink (decimal values are allowed): "))
print(f"Blinking {num} times with a {sleep_time} second delay")
for temp in range(num):
arduino.digital[13].write(1)
time.sleep(sleep_time) # Seconds
arduino.digital[13].write(0)
time.sleep(sleep_time)
我的 Python 版本是 3.6.0,在 Windows 10(64 位)上,我附上了我的代码和终端的屏幕截图。
此外,澄清一下,我没有收到任何错误消息或任何其他输出。我什至没有得到终端提示,光标一直在闪烁
编辑:我的 Arduino 板是一个 UNO,它与 Arduino IDE 一起正常工作并使用 .ino
程序。
已修复:我没有将标准 Firmata 草图上传到 Arduino,这是 pyFirmata 工作所必需的。感谢@jasonharper 指出这一点:)
要上传草图,您必须在 Arduino IDE 中转到 File > Examples > Firmata
,select 从列表中选择一个 firmata 草图,然后在打开新的 window.