【发布时间】:2020-06-12 13:07:16
【问题描述】:
我们将 micro:bit 与附件 Bit:bot XL 一起使用。我有一个模块(robot.py),它只有一个用于 Bit:bot 的功能(目前)。在我的脚本(my.py)中,我导入了这个函数。但刷完 micro:bit (uflash my.py) 后,LED 矩阵上出现错误:“导入错误:没有名为机器人的模块”。但是,如果我只是在我的模块中使用标准 Python 函数(如 print())并在 VSCode 终端中运行我的脚本,它就可以正常工作。将我的函数直接放入我的脚本中也可以正常工作。为什么我不能将我的脚本和模块都传输到 micro:bit?
可以在Flash microbit embedding a class .py file 找到解决方法。解决方法要求您先刷新 micro:bit,然后使用 ufs 传输模块。它有效,但对于我们的目标群体盲童来说,事情变得更加复杂。
我的模块robot.py 存储在一个名为bitbot 的文件夹中。文件夹路径在 sys.path 中指定。包里还有一个空文件__init__.py。
# my.py
from microbit import *
from robot import drive
drive(500, 3000)
# bitbot/robot.py
from microbit import *
def drive(speed, duration):
"""Makes the Bit:bot move forwards with a given speed for a number of milliseconds"""
pin8.write_digital(0) #Left motor direction
pin12.write_digital(0) #Right motor direction
pin16.write_analog(speed) #Left motor speed
pin14.write_analog(speed) #Right motor speed
sleep(duration)
我尝试了不同的方法来导入模块,但它们都给出了相同的导入错误: import bitbot, import robot, from bitbot import *, from robot import *, from bitbot import drive, from robot import drive, from bitbot.robot import drive。
我用:
- Python 3.7
- VSCode 1.42.1
- VSCode Python 扩展https://marketplace.visualstudio.com/items?itemName=ms-python.python
- VSCode micro:位扩展https://marketplace.visualstudio.com/items?itemName=PhonicCanine.micro-bit
- 4tronix Bit:bot XL v. 1.0(引脚配置与 Bit:bot v. 1.3 不同)
【问题讨论】:
-
Mu 不适用于屏幕阅读器。我还没有测试过 Thonny,但即使在那里似乎也存在一些可访问性问题:link。 VSCode 可能不是最简单的编辑器,但强大的可访问性支持毕竟使它易于使用。
标签: python-3.x visual-studio-code micropython bbc-microbit flashing