使用带有伺服电机的 bbc-microbit v2 时出错

问题描述

我在 bbc-microbit v2 中使用伺服电机时遇到困难。我正在使用 Mu (1.1.0.alpha.2) 在 MicroPython 中编程,并且我遵循了 Microbit 和 Sparkfun 的说明和示例代码。当我使用命令“set_analog_period”时,我不断收到“ValueError: invalid period”。使用 Microbit MakeCode 编辑器时,我可以得到完全相同的设置和类似的程序,没有任何错误

以下是直接取自 https://support.microbit.org/support/solutions/articles/19000101864-using-a-servo-with-the-micro-bit 的示例代码(长度略有编辑):

from microbit import * 
pin0.set_analog_period(20)

while True: 
    pin0.write_analog(75)
    sleep(1000)

REPL 输出

Traceback (most recent call last):
  File "main.py",line 2,in <module>
ValueError: invalid period
MicroPython v1.13 on 2020-12-21; micro:bit v2.0.0-beta.3 with nRF52833

解决方法

我也未能让 mu 编辑器与 micro:bit 的 v2 正确运行。我在这里使用在线 micropython 编辑器而不是 mu:https://python.microbit.org/v/2

这可以从项目的 GitHub 站点下载并离线使用。 GitHub 站点在这里:

https://github.com/bbcmicrobit/PythonEditor

要让它在 Linux 中运行(你没有提到你使用的是哪个操作系统),你需要设置一个 udev 规则:

创建文件: /etc/udev/rules.d/50-microbit.rules

有这个内容: SUBSYSTEM=="usb",ATTR{idVendor}=="0d28",MODE="0664",GROUP="plugdev"

然后您需要将您的用户名添加到 plugdev 组:

要将您的用户名添加到 plugdev 组: sudo usermod -aG plugdev <user>

要让系统识别此更改,我们需要重新启动 udev 规则: sudo udevadm control --reload-rules

PythonEditor 然后在 Chrome 中为我工作。我第一次刷写脚本需要一段时间,我怀疑第一次刷写一个 micropython 解释器 hex 文件到板。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...