第 1 步:制作
它是什么?
发送BBC micro:bit无线电信息,告诉其他人您现在的感受。
这两个视频告诉您将要制作什么以及如何编程实现它:
工作原理
- 在您的micro:bit上按下不同的按钮,通过无线电发送不同的消息给另一个micro:bit,从而告诉其他人您现在的心情。 作为接收端的micro:bit能它的LED显示器上显示开心、伤心或者兴奋的表情。
- 确保你和你的伙伴使用一个独特的无线电组,这样你可以将消息发送到特定的micro:bit或拥有该micro:bit的那个人。
- 这个程序使用了一种简单的编码方式,也可以说是加密方式。 编码(加密)的做法可以阻止其他人读懂您的信息,从而让您的信息安全。
- 我们所用的编码方式是一种简单的数字加密法。 这是一种加密方式。 在这个示例中,17代表开心,23代表伤心,42代表兴奋。 注意——无线电只能发送数字或字母,发送不了表情本身。
- 和一个同伴对使用哪个无线电组、允许收发哪些信息和这些信息的加密方式达成一致,意味着您和您的同伴认可了一份协议,或者说是一套规则可以让您和您的同伴通信并保证信息安全。 使用下面的加密通信计划表来设计您自己的通信协议。
- 在您和您的伙伴各自的micro:bit上都使用同样的程序代码,这样您们就能互相通信了。
所需材料
- 2个micro:bit主板
- MakeCode或Python在线编辑器
- 电池盒(选配)
- 加密通信计划表(可选)

加密通信计划表
第 2 步:编程
1from microbit import *
2import radio
3
4# The Python version of this project has sleep()
5# for each button press to make the A+B button work better
6
7radio.config(group=3)
8radio.on()
9
10while True:
11 if button_a.is_pressed() and button_b.is_pressed():
12 display.show(Image.SURPRISED)
13 radio.send('42')
14 sleep(300)
15 display.clear()
16 elif button_a.is_pressed():
17 display.show(Image.HAPPY)
18 radio.send('17')
19 sleep(300)
20 display.clear()
21 elif button_b.is_pressed():
22 display.show(Image.SAD)
23 radio.send('23')
24 sleep(300)
25 display.clear()
26
27 message = radio.receive()
28 if message:
29 if message == '17':
30 display.show(Image.HAPPY)
31 elif message == '23':
32 display.show(Image.SAD)
33 else:
34 display.show(Image.SURPRISED)
35 sleep(2000)
36 display.clear()
37 sleep(200)
第3步:完善
- 更换开心、伤心和兴奋之外的表情,从而来发送不同信息。
- 使用micro:bit的更多物理输入来支持发送更多不同信息,例如晃动手势或micro:bit的V2版本的触摸徽标。
- 显示滚动文字来替代表情,例如”hot“、”cold“和”warm“这些单词,来实现热和冷之类的寻宝游戏。
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.