问题标签 [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.
python - 如何将 microbit 与 BLE 连接并监听按钮按下事件?
2021 年 11 月 28 日编辑:
如果您需要使用低功耗蓝牙将 microbit 连接到计算机,并在单击按钮时执行操作。直接跳转并按照下面@ukBaz的回答。
注意:该解决方案可以在 GNU/Linux 上完美运行,但在 Windows 上可能就不行了。
以下是帖子的原始问题。我不会编辑它来隐藏我的错误。
摘要:我有一个连接到 rpi-zero 的 microbit。我对 microbit 进行了编码,当A button
按下它时,它会将数据发送uart.write
到 rpi-zero。
在此测试中,microbit 将向uart.write("Test")
rpi-zero 写入一个“测试”字。
我的最终目标是使用 rpi-zero 的 BLE 功能充当控制设备,并通过 microbit 按钮发送指令。
我发现这个GATT 服务器代码是用 python 为 rpi 编写的。它运行起来完全没有问题。
下面的代码将用于监听 microbit uart 服务并检查接收到的数据是否为"Test"
:
但真正的问题是当我尝试将此循环代码实现到 GATT 服务器代码中时。
我似乎无法理解如何将此值传递给self.send_tx
此外,GATT 服务器代码中似乎已经存在一个全局循环。所以我尝试使用线程同时运行这两个函数但是当我添加self.send_tx("Test")
它时只会抛出一个错误Self is not defined
。
对不起,我对编码完全是个菜鸟,有人知道可能的解决方法吗?谢谢
这是完整的代码:
javascript - Micro:Bit TypeScript randint() 函数记录在哪里?
我正在尝试* 教一班高中生在 Micro:Bit 上从块编码过渡到 JavaScript(真正的静态 TypeScript)。
该pickrandom
块转换为调用randint()
我本来期望调用Math.randint(
) 但显然randint()
是 TypeScript 中的全局函数。
孩子们要问的第一个问题是“我在哪里可以找到其他全局函数?” 而且,在使用 Google 将近两个小时后,我找不到该问题的答案。
那么,randint()
记录在哪里以及其他此类功能的列表在哪里?
* 背景:我是一名退休的大学教师,在大流行期间“自愿”提供帮助。
python - 如何使用串行数据制作“if”语句?
我正在编写一个 python 脚本,它将从串行端口收集数据。我能够收集数据,当它出现时,它说b'1'
我想为它是否出现做一个 if 语句,b'1'
那么我希望它运行一个函数。
这是我的代码。
我应该怎么办?
python - bbc-microbit 不进入配对模式
刚通过 eBay 收到一个 BBC-microbit,我正在努力让它工作,这样我就可以帮助孙子通过 Scratch 学习编码。
我将 scratch-microbit-1.1.0.hex 拖到了 BBC。重置后“vavov”继续在 BBC 屏幕上滚动。
然后尝试通过 (1) 按下按钮 A 和 B (2) 按下重置按钮 (3) 释放重置 (4) 释放 AB 将其置于配对模式
我希望在 BBC LED 矩阵上看到 PAIRING MODE 或蓝牙图标,但只有 vavov 显示。
我认为可能是 scratch-microbit-1.1.0.hex 导致了问题,并通过 OutOfBoxExperience-v2.hex 将 BBC 重置为出厂设置。仍然无法将 BBC 置于配对模式。
有没有办法通过 USB 向 BBC 发送节目?是的话怎么办?
我尝试编写一个小的 Scratch 程序并在编辑器中添加 microbit 扩展。未找到任何设备。
谢谢你。
python - 如何将我从以前的算法中获得的多个数值添加到数组中,以便在 MU python 编辑器中为 microbit 进行一些计算?
我是编程新手,我正在构建一个超声波传感器来计算物体与 microbit 的距离。我已经编写了一些代码来在 1 秒内测量距离 50 次,但由于每次测量都略有不同,我想使用以距离为元素的数组来找到所有 50 次测量的平均值。如何将所有 50 个测量值添加到数组中?这是我到目前为止编写的代码。
javascript - 光从值 0 变为 255,然后再次变为 0
我正在研究一个光脉冲代码,我希望光从值暗(0)然后增加到亮(255)。
我一直在尝试使用“for”来使其正常工作,但我真的不确定。代码从 0 开始,然后我想将其增加到 255,然后暂停 0.50 秒,然后重复
javascript - 定义二维数组 Javascript
嗨,我正在尝试在 JS 中定义一个二维数组,但似乎有两个错误阻止了我,我不确定我哪里出错了。 i只是来自一个 for 循环 - 它已被定义。即使我用0替换i也会发生相同的错误。我的代码:
这会导致错误:
'=' 预期。
但是删除let:
导致不同的错误:
类型“数字”不可分配给类型“未定义”。
我正在为 BBC Microbit 使用 JS 编辑器。提前致谢。
javascript - 插入 USB 时连接到 Adeept 板的 Micro:Bit 复位
我有一个 BBC Micro:Bit。它插入 Adeept 板,该板具有 I2c 1602 LCD 显示屏、Adeept 操纵杆和 Adeept 按钮模块。我必须为开发板的 USB 端口供电才能运行 LCD 显示器。我创建了一个网站,并希望能够将数据从 Micro:Bit 同步到网站(您选择的名称和我稍后添加的其他数据)。我将名称设置为某事。然后我将我的 USB 插入计算机和 Micro:Bit。但是当我备份和恢复时,名称是列表中的第一个名称。
我在没有恢复的情况下备份了它,页面说这个名字是名字(即使我改变了它)。然后,当我导航到 Micro:Bit 上的名称“app”时,它还会显示名字。不知道是供电问题还是代码问题。我的脚本在这里:https://repl.it/@awesomecrater/smartmicrobit#script.js
我正在使用来自 GitHub 的这个库https://github.com/bsiever/microbit-webusb/blob/master/ubitwebusb.js和 Micro 上的代码:Bit 接收备份信号在伪代码中看起来像这样:
有谁知道为什么将其设置回列表中的第一项?
name
将列表的当前项存储为索引。
python - Python 和指南针数据 - 算法?
主题:使用指南针传感器输入的 Python:卡在计算中
我正在以名为“开始”的度数读取指南针,旋转大约 360 度并读取“结束”。我想知道开始和结束之间的增量。不是转了多少度,而是结束与开始有多么不同。
算法很简单:end – start = delta
但我被困在 359 和 1 的边界。示例开始 10,结束 350。或开始 350 结束 10。我尝试了许多算术组合,但没有想出一个始终正确的公式。
有什么建议么?谢谢。
测试以下一些答案: