Как перенести сценарий Python, включая мой модуль, в micro: bit? - PullRequest
3 голосов
/ 28 февраля 2020

Мы используем micro: bit с аксессуаром Bit: bot XL. У меня есть модуль (robot.py) с единственной функцией для бита Bit: (пока). В моем скрипте (my.py) я импортирую эту функцию. Но после перепрограммирования micro: bit (ufla sh my.py) на светодиодной матрице появляется ошибка: «Ошибка импорта: нет модуля с именем robot». Однако, если я просто использую стандартные функции Python (например, print ()) в моем модуле и запускаю сценарий в терминале VSCode, он работает нормально. Помещение моей функции непосредственно в мой скрипт также работает нормально. Почему я не могу перенести и мой скрипт, и мой модуль в micro: bit?

Обходной путь можно найти в Fla sh microbit, встраивая файл класса .py . Обходной путь требует, чтобы вы сначала набрали sh 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)

Я пробовал разные способы импорта модуля, но все они выдают одну и ту же ошибку импорта: импортный битобот, импортный робот, из импорт bitbot *, из импорта роботов *, с диска импорта битоботов, с диска импорта роботов, с диска импорта bitbot.robot.

Я использую:

1 Ответ

0 голосов
/ 18 марта 2020

Вам, вероятно, понадобится установить расширение VSCode, чтобы записать файлы в MicroBit. Взгляните на микро: бит Джозефа Фергюссона

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...