micro:bit 广播遥控
这篇教学会使用另外一块 micro:bit,利用按压按钮与姿势改变的方法,发送广播信号,遥控 micro:bit 自走车 ( MoonCar 登月小车 ) 进行前后左右的移动。
- 操作 MoonCar 需要加载对应的扩充积木,请先参考:加载 MoonCar 的程序积木
- 更多信息:ICShop MoonCar 官方网站
收到并显示广播信号
MoonCar 的 micro:bit ( 接收广播信号 )
将 MoonCar 上的 micor:bit 设定广播群组为 1,当收到广播信号 ( 数字 ) 时,就在 LED 显示广播信号。
作为遥控器的 micro:bit ( 发送广播信号 )
将作为遥控器使用的 micor:bit 设定广播群组为 1,按下按钮就发送对应的广播信号。
也可以使用“姿势”,当 micro:bit 发生特定姿势时,就发送对应的广播信号。
程序分别烧录到对应的 micro:bit 之后,按压作为遥控器的 micro:bit 按钮,或翻转 micro:bit,就可以看见 MoonCar 接收并显示对应的广播消息。
广播信号遥控自走车
修改 MoonCar 接收广播信号的程序,加上逻辑判断积木,判断接收到特定信号时就控制自走车前进、左转、右转和停止,烧录程序完成后,就可以使用作为遥控器的 micro:bit 开始遥控 MoonCar。
侦测 PIN 脚,改善按钮发送的广播信号
由于 micro:bit 只有两颗按钮,比较不容易单纯使用按钮积木做到更进阶的控制 ( 例如一只手指按著 A 按钮,一只手指按下 B 按钮又放开 B 按钮,就出现与想像不同的状况 ),如果要做到更顺畅的遥控,可使用“侦测 PIN 脚”的积木,搭配重复无限次循环,就能准确知道目前按钮的状态,进一步发送对应的广播信号,详细流程如下:
- 建立一个名为 reset 的函数:
- 函数内容是四个变数 ( r1~r4 ),让这四个变数都等于 0。
- 这四个变数的目的在于判断四种不同的按钮状态 ( r1:AB 同时放开,r2:只按 A,r3:只按 B,r4:AB 同时按 )。
- 使用重复无限次积木:
- 每次重复时侦测 PIN 脚信号,侦测的 PIN 脚为 5 ( 按钮 A ) 和 11 ( 按钮 B )。
- 设定两个变数 a 和 b,分别取得 PIN5 和 PIN11 的信号。
- 如果 PIN 脚信号等于 1,表示放开按钮,如果等于 0 表示按下按钮。
- 因为重复无限次循环会不断侦测信号,在侦测到 PIN 脚信号后,根据信号先使用 reset 函数将 r1~r4 归零,接着指定的变数改成 1,就能避免重复侦测然后不断发送广播信号的问题 ( 这个做法只会在侦测当下发送一次信号,直到信号改变才会再次发送 )。
- 判断侦测指定信号后,发送广播信号。
编辑“AB 按钮同时放开”的积木后,其他积木如法炮制同样的做法。
范例解答
延伸练习
如果已经熟悉了 MoonCar 广播遥控自走车的原理,还可以尝试更多好玩的作法:
- 使用姿势的方式,让 MoonCar 也可以向后退 ( 解答 )。
微信扫码关注
抖音扫码关注