这个项目使用收音机与其他micro:bit分享你的心情。当你按下时A
,你的朋友会看到一个笑脸。当你按下时B
,他们会看到一张皱眉的脸。
目录
发个笑脸
micro:bit无法理解情绪,但数字相当不错。事实上,它可以使用无线电天线在micro:bit之间发送数字,就像电话可以发送短信一样。
让我们添加A
按下按钮时发送数字的块。我们假设这0
是发送笑脸的“情绪代码” 。
input.onButtonPressed(Button.A, () => {
radio.sendNumber(0)
basic.showIcon(IconNames.Happy)
})
收到笑脸
我们添加一个||radio:on radio received||
模块,只要有新的“情绪”消息进入就会运行代码。该receivedNumber
变量包含发送的数值。由于我们已经确定它0
是笑脸,我们还需添加条件||logic:if then||
语句来显示此图标。
radio.onDataPacketReceived( ({ receivedNumber }) => {
if (receivedNumber == 0) {
basic.showIcon(IconNames.Happy)
}
})
发脾气
以类似的方式为我们的消息传递应用添加另一种心情。我们认为“情绪代码” 1
意味着皱眉。我们可以添加一个B
发送该代码的按钮事件。
input.onButtonPressed(Button.B, () => {
radio.sendNumber(1)
basic.showIcon(IconNames.Sad)
})
如果是||radio:on radio received||
模块,我们添加另一个条件||logic:if then||
语句来处理皱眉的 “情绪代码”。
radio.onDataPacketReceived( ({ receivedNumber }) => {
if (receivedNumber == 0) {
basic.showIcon(IconNames.Happy)
}
if (receivedNumber == 1) {
basic.showIcon(IconNames.Sad)
}
})
将您的代码下载到多个micro:bit并尝试一下!
挑战
尝试添加新代码并使用||input:on shake||
事件发送它。
全部来源
input.onButtonPressed(Button.A, () => {
radio.sendNumber(0)
basic.showIcon(IconNames.Happy)
})
input.onButtonPressed(Button.B, () => {
radio.sendNumber(1)
basic.showIcon(IconNames.Sad)
})
radio.onDataPacketReceived( ({ receivedNumber }) => {
if (receivedNumber == 0) {
basic.showIcon(IconNames.Happy)
}
if (receivedNumber == 1) {
basic.showIcon(IconNames.Sad)
}
})