2016-05-25 03:23:33 +02:00
|
|
|
# Receive String
|
|
|
|
|
2016-05-27 21:03:54 +02:00
|
|
|
Find the next string sent by `radio` from another micro:bit.
|
2016-05-25 03:23:33 +02:00
|
|
|
|
|
|
|
```sig
|
|
|
|
radio.receiveString()
|
|
|
|
```
|
|
|
|
|
|
|
|
### Return value
|
|
|
|
|
2016-05-27 21:03:54 +02:00
|
|
|
* the first [string](/reference/types/string) that was sent. If no string was sent, then this function returns an empty (blank) string.
|
2016-05-25 03:23:33 +02:00
|
|
|
|
2016-05-27 21:03:54 +02:00
|
|
|
### Example: Simple receiver
|
2016-05-25 03:23:33 +02:00
|
|
|
|
2016-05-27 21:03:54 +02:00
|
|
|
Show the string sent by another micro:bit.
|
2016-05-25 03:23:33 +02:00
|
|
|
|
|
|
|
```blocks
|
|
|
|
radio.onDataReceived(() => {
|
|
|
|
basic.showString(radio.receiveString());
|
|
|
|
});
|
|
|
|
```
|
|
|
|
|
2016-05-27 21:03:54 +02:00
|
|
|
### Example: Two-way radio
|
|
|
|
|
|
|
|
If you load this program onto two or more micro:bits, you can send a code word from one of them to the others by pressing button `A`.
|
|
|
|
The other micro:bits will receive the code word and then show it.
|
|
|
|
|
|
|
|
```blocks
|
|
|
|
input.onButtonPressed(Button.A, () => {
|
|
|
|
radio.sendString("Codeword: TRIMARAN")
|
|
|
|
basic.showString("SENT");
|
|
|
|
})
|
|
|
|
|
|
|
|
radio.onDataReceived(() => {
|
|
|
|
basic.showString(radio.receiveString());
|
|
|
|
});
|
|
|
|
```
|
|
|
|
|
|
|
|
### ~hint
|
|
|
|
|
|
|
|
A radio that can both transmit and receive is called a _transceiver_.
|
|
|
|
|
|
|
|
### ~
|
|
|
|
|
|
|
|
### Example: Mood radio
|
|
|
|
|
|
|
|
This is a simple program to send whether you are happy or sad over ```radio```.
|
|
|
|
Use the `A` or `B` button to select an emotion.
|
|
|
|
|
|
|
|
This program will also receive your friend's mood.
|
2016-05-25 03:23:33 +02:00
|
|
|
|
|
|
|
```blocks
|
|
|
|
let data: string = "";
|
|
|
|
input.onButtonPressed(Button.A, () => {
|
|
|
|
radio.sendString("H");
|
|
|
|
});
|
|
|
|
input.onButtonPressed(Button.B, () => {
|
|
|
|
radio.sendString("S");
|
|
|
|
});
|
|
|
|
radio.onDataReceived(() => {
|
|
|
|
data = radio.receiveString();
|
|
|
|
if ("H" == data) {
|
|
|
|
basic.showLeds(`
|
|
|
|
. . . . .
|
|
|
|
. # . # .
|
|
|
|
. . . . .
|
|
|
|
# . . . #
|
|
|
|
. # # # .
|
|
|
|
`);
|
|
|
|
} else if ("S" == data) {
|
|
|
|
basic.showLeds(`
|
|
|
|
. . . . .
|
|
|
|
. # . # .
|
|
|
|
. . . . .
|
|
|
|
. # # # .
|
|
|
|
# . . . #
|
|
|
|
`);
|
|
|
|
} else {
|
|
|
|
basic.showString("?");
|
|
|
|
}
|
|
|
|
});
|
|
|
|
```
|
|
|
|
|
|
|
|
### See also
|
|
|
|
|
2016-05-27 21:03:54 +02:00
|
|
|
[send string](/reference/radio/send-string), [on data received](/reference/radio/on-data-received)
|