你好,我在用pyfirmata写简单的Python到Arduino Blink代码,但似乎有问题。

-2 投票
1 回答
27 浏览
提问于 2025-04-12 20:30

我想在Arduino UNO上用LED的13号引脚(内置的)来执行一个闪烁的例子。 而且我想用Python来实现这个功能…… “我已经通过Arduino IDE把标准的Firmata代码上传到Arduino上了。” 然后我就打开了VS Code。 我尝试创建一个名为“pyArdu”的虚拟环境,并使用pip安装了Serial和firmata。 接着在代码中,我试着访问我连接Arduino UNO的端口。 但是程序还是没有运行。

这是我的代码:

from pyfirmata import Arduino, util
import time

board = Arduino('COM4')

iterator = util.Iterator(board)
iterator.start()
while True:
    board.digital[13].write(1)
    time.sleep(1)
    board.digital[13].write(0)
    time.sleep(1)

我尝试在YouTube上找解决方案,但关于Figmata的内容不多。

我把Python版本从3.12.2换成了3.9.9。

这里是错误信息:

文件 "c:\Users\Sparsh\OneDrive\Documents\Skills\PyFirmata\Firstone.py",第4行, board = Arduino('COM4') 文件 "C:\Users\Sparsh\OneDrive\Documents\Skills\PyFirmata\pyArdu\lib\site-packages\pyfirmata_init_.py",第19行, super(Arduino, self).init(*args, **kwargs) 文件 "C:\Users\Sparsh\OneDrive\Documents\Skills\PyFirmata\pyArdu\lib\site-packages\pyfirmata\pyfirmata.py",第89行, self.sp = serial.Serial(port, baudrate, timeout=timeout) AttributeError: module 'serial' has no attribute 'Serial'

1 个回答

0

PyFirmata不支持在VS Code中使用Python 3.9.9。所以当我尝试用Python 3.6.3的时候,运行得非常顺利!

撰写回答