第 1 步:制作
利用无线电通信将一组micro:bit变成一群神奇的萤火虫

学习目标
- 如何在micro:bit之间使用无线电通信来触发事件
- 让micro:bit的LED显示器变亮或者变暗
- 如何使用随机数和概率来模仿真实世界的行为
它是什么?
萤火虫是用生物荧光(身体发出的光)来相互通讯的昆虫。
本项目利用micro:bit的无线电通信功能来模拟真实世界中萤火虫的行为。 Python版本由Nicholas H. Tollervey创建,MakeCode版本以其为基础创建。
将程序刷入位于同一房间的至少3个micro:bit中。 按下任一micro:bit上的按键A,应该能看到"一群"micro:bit收到无线电消息后点亮。 在黑暗的房间里使用大量micro:bit效果最佳。
一旦一个micro:bit收到无线电消息后,它就有十分之一的机会来传送自己的无线电消息,从而让另一波的micro:bit开始发光。
当灯光最终停止时,按任意micro:bit上的按键A重新启动“群”通信。
工作原理
- 当你在任一micro:bits上按下按键A时,程序使用无线电通信发出一条消息“flash” 。
- 当每个micro:bit收到消息时,它会随机等待一定的时间(50到350毫秒之间)。 然后它让LED显示屏变亮,再逐渐变暗,以此来模拟萤火虫的莹莹亮光。
- 随后它生成一个0到9之间的随机数。 如果数字是0,它会发送自己的“flash”无线电消息,触发更多的micro:bit萤火虫发光。 所以它有十分之一的机会来触发其他的micro:bit发光。
- 你可以混合使用旧版和新版的micro:bit。但它们都必须刷入MakeCode或Python版本的程序。 (无线电通信在每种编程语言中的工作方式略有不同。 MakeCode程序不能通过无线电与Python程序通信,反之亦然。)
所需材料
- 至少3个micro:bit,越多越好
- micro:bit电池盒(选配)
第 2 步:编程
第 3 步:完善
- 更改显示屏闪烁时展示的图像
- 修改代码,使其更多或更少可能地在其他micro:bit上触发另一波闪烁事件。 随机数的范围可以与你拥有的micro:bit的数量匹配:如果你拥有更少的micro:bit,要更如此。
- 使用不同的无线电组号来设定小范围的群组。 具有相同编号的micro:bit才能互相通信。
- 尝试改变无线电信号功率。
使用MakeCode中的“radio set transmit power”模块。
在Python中,使用radio.config(power=7)
选择一个介于0 (最弱无线电信号) 和7 (最强) 之间的数字。
改变无线电功率有什么效果?
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.