Finishing pass on send/receive number. Examples distributed more sensibly.

This commit is contained in:
Ron Hale-Evans
2016-05-31 17:02:22 -07:00
parent a9cfe83bdf
commit 5650f7dc35
2 changed files with 50 additions and 42 deletions

View File

@ -1,14 +1,15 @@
# Receive Number
Reads the next radio packet if any and returns the first number.
Receives the next number sent by a micro:bit in the same ``radio`` group.
### Return value
* the first number [number](/reference/types/number) of the packet if any. `0` otherwise.
* the first [number](/reference/types/number) that the micro:bit received. If it did not receive any numbers, this function will return `0`.
### Examples
### Example: Simple number receiver
Read the number broadcasted by other micro:bits.
This example receives the number broadcasted another micro:bit and shows it
as a bar graph.
```blocks
radio.onDataReceived(() => {
@ -16,7 +17,42 @@ radio.onDataReceived(() => {
})
```
### Example: Light level receiver
This example shows the light level from the [light level sender example](/reference/input/send-number)
as a number.
```blocks
radio.setGroup(99)
basic.forever(() => {
let level = radio.receiveNumber()
basic.showNumber(level)
})
```
### Example: Mailbot
This example receives the light level from the [light level sender example](/reference/input/send-number)
and shows a text string like **ALERT** if the light level becomes much brighter.
To find when the mail arrives, you can put the light level sender in your mailbox and it will
tell you when someone opens the box. You can try this with a normal
box too, like a present for a friend.
```blocks
radio.setGroup(99)
let max = 0
basic.forever(() => {
let level = radio.receiveNumber()
if (level > max) {
max = level
}
if (max > 10) {
basic.showString("ALERT")
}
})
```
### See also
[receive number](/reference/input/receive-number), [on data received](/reference/radio/on-data-received)
[send number](/reference/input/send-number), [on data received](/reference/radio/on-data-received)