问题标签 [bbc-microbit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
syntax-error - 使用 microbit 在 mu 上编码时出现语法错误
这是我用来为 microbit 创建 Edice 的代码: from microbit import * import random image1 = Image("00000:" "00000:" "00900:" "00000:" "00000") image2 = Image("90000: " "00000:" "00000:" "00000:" "00009") image3 = Image("90000:" "00000:" "00900:" "00000:" "00009") image4 = Image("90009:" 00000:" "00000:" "00000:" "90009") image5 = Image("90009:" "00000:" "00900:" "00000:" "90009") image6 = Image("90009:" "00000:" "90009:" "00000:" "90009") images=[image1, image2, image3, image4, image5, image6]
while True: if button_a.is_pressed(): for i in range(0, 16):
display.show(random.randint.(1, 6)) 似乎被注册为语法错误。我可以知道问题出在哪里以及如何改进代码
bbc-microbit - 微位串行通信将文本拆分为行
我是 microbit 的初学者,我尝试从不同的教程/代码示例中复制一些代码。我只是想在计算机和 microbit 之间建立串行通信。我的计划是让 microbit 只回显它接收到的每一行,然后暂时将其发回。但是线是分裂的,我不确定是微位还是计算机在分裂。我尝试过两台不同的计算机,结果相同。
这是微比特代码:
我的计算机代码,一个带有 pyserial 的 Python 程序:
我遇到的问题是它打印出这个:
我期待它用一个词打印 b'testing'。我可以编写代码来组合文本,但我可能会失去同步。
accelerometer - Micro:bit - 加速度计 - (Micro python) 使 microbit 向下计数 - 仅适用于手势
以下代码可以正常工作:
'''但是当我尝试用 get_Z 替换 was_gesture('face down') 我得到一个错误:'''
我得到一个错误?但为什么?每次我将设备移动到某个点以下时,我只想让 microbit 计数?
micropython - MicroPython - 微:位 | Grove - 超声波游侠 | 为模块创建驱动程序
我正在尝试将 Raspberry 的 python 代码转换为 MicroBit MicroPython,以使用 MicroPython 驱动 Grove - Ultrasonic Ranger 模块。
http://wiki.seeedstudio.com/Grove-Ultrasonic_Ranger/
https://github.com/Seeed-Studio/grove.py/blob/master/grove/grove_ultrasonic_ranger.py
我这样做了,语法没问题:
但我有很大的价值,因为dt
我不知道为什么......谢谢你的帮助!
python - 有人能解释一下这条微蟒发生了什么吗
刚开始玩 BBC micro:bit。其中一个例子有这行代码
flash = [Image().invert()*(i/9) for i in range(9, -1, -1)]
它生成一组图像。为了弄清楚发生了什么,我写了这段代码
产生
谢谢
iot - 是否可以将 micro: bit 板连接到岩石上,并让它计算它被抛到空中的次数?
看标题
我可以很容易地用手势来工作。但是,如果我将板子固定在一块岩石上,并让它记录这块石头被抛到空中多少次——然后又被抓住了怎么办?我想知道是否可以使用加速度计?
这段代码有效,如果我只是翻转电路板,它就像描述的那样计数。
c - 将输入字节中的特定位映射到输出字中的特定位
背景:给定一些输入字节 B0、B1、B2、B3 和 B4,我想从这 5 个字节中提取选定的位并生成一个输出字。
例如,将B i的第n位表示为,我希望能够写出一个映射f: (B0, B1, B2, B3, B4) → 。所以会回来。Bi[n]
B2[4] B3[5] B3[4] B3[3] B3[2] B3[1] B0[5] B0[3] B0[1]
f(0b11001, 0b01100, 0b10101, 0b10011, 0b11111)
0b010011101
C 中可能会执行此确切示例的表达式是
使用简单的位掩码和位移。
问题:有什么方法可以简化这样的表达式以最小化需要执行的操作数量?
例如,我注意到 B3 被完整地复制到输出的某些位中,因此我将其放置在适当的位置,B3 << 3
而不是屏蔽和移动单个位。我首先想到的是卡诺图,因为它们在简化布尔表达式时派上用场,但我意识到,由于我在一个字节的不同部分提取和放置各个位,因此使用布尔代数不可能进行简化。
推理:我想这样做的原因是能够在 BBC micro:bit 上以程序员友好的方式点亮 LED。我希望 B0 到 B4 表示在物理 5x5 排列中打开了哪些 LED,但这些 LED 在电子上以复杂的 3x9 配置连接。有关 LED 的更多信息,请参见此处。
通常,模式会根据物理 3x9 排列存储在内存中,以便能够在单个指令中将此模式输出到 LED,但我希望能够以编程方式将 5x5 模式映射到 3x9 模式。然而,如上所示的表达式需要 5 次加载指令、9 次按位 AND/OR 运算和 4 次逻辑移位,这至少比普通方法的效率低 9 倍。
python-3.x - 如何将我的 Python 脚本(包括我的模块)传输到 micro:bit?
我们将 micro:bit 与附件 Bit:bot XL 一起使用。我有一个模块(robot.py),它只有一个用于 Bit:bot 的功能(目前)。在我的脚本(my.py)中,我导入了这个函数。但是刷完 micro:bit (uflash my.py) 后,LED 矩阵上出现错误:“导入错误:没有名为机器人的模块”。但是,如果我只是在我的模块中使用标准 Python 函数(如 print())并在 VSCode 终端中运行我的脚本,它就可以正常工作。将我的函数直接放入我的脚本中也可以正常工作。为什么我不能将我的脚本和模块都传输到 micro:bit?
可以在Flash microbit 嵌入类 .py 文件中找到解决方法。解决方法要求您先刷新 micro:bit,然后使用 ufs 传输模块。它有效,但对于我们的目标群体——盲童来说,事情变得更加复杂。
我的模块robot.py 存储在一个名为bitbot 的文件夹中。文件夹路径在 sys.path 中指定。包中还有一个空文件__init__.py
。
我尝试了不同的方法来导入模块,但它们都给出了相同的导入错误:import bitbot, import robot, from bitbot import *, from robot import *, from bitbot import drive, from robot import drive, from bitbot.robot import drive .
我用:
- 蟒蛇 3.7
- VSCode 1.42.1
- VSCode Python 扩展https://marketplace.visualstudio.com/items?itemName=ms-python.python
- VSCode micro:bit 扩展https://marketplace.visualstudio.com/items?itemName=PhonicCanine.micro-bit
- 4tronix Bit:bot XL v. 1.0(引脚配置与 Bit:bot v. 1.3 不同)
size - 如何使用 makecode 查找我的 micro:bit 上使用了多少 RAM 内存?
我在 makecode.microbit.org 中为我的 micro:bit 编写了代码。想法是使用无线电通信并发送每个 micro:bit 消息。所以我一开始的问题是,有多少消息只能得到一个 micro:bit?
互联网这样说:
收到的消息是从可配置大小的队列中读取的(队列越大,使用的 RAM 越多)。如果队列已满,则忽略新消息。读取消息会将其从队列中删除。
所以我的问题是:如何使用 makecode 找到我的 micro:bit 上使用了多少 RAM 内存?
编辑:https
://forum.makecode.com/t/how-to-find-how-much-ram-memory-is-used-on-my-micro-bit-using-makecode/1303/2
现在如何找到micro:bit 队列的长度?