Finishing pass on send/receive number. Examples distributed more sensibly.
This commit is contained in:
parent
a9cfe83bdf
commit
5650f7dc35
@ -1,14 +1,15 @@
|
|||||||
# Receive Number
|
# 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
|
### 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
|
```blocks
|
||||||
radio.onDataReceived(() => {
|
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
|
### 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)
|
||||||
|
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
# Send Number
|
# Send Number
|
||||||
|
|
||||||
Broadcasts a number data packet to other micro:bits connected via ``radio``.
|
Broadcast a number to other micro:bits connected via ``radio``.
|
||||||
|
|
||||||
### Parameters
|
### Parameters
|
||||||
|
|
||||||
* packet - a number to be transmitted.
|
* num - a number to send.
|
||||||
|
|
||||||
### Examples
|
### Example: Broadcasting acceleration
|
||||||
|
|
||||||
Broadcasts the value of ``acceleration`` x to other micro:bits.
|
This example broadcasts the value of your micro:bit's ``acceleration`` in the `x` direction
|
||||||
|
(left and right) to other micro:bits.
|
||||||
|
This kind of program might be useful in a model car or model rocket.
|
||||||
|
|
||||||
```blocks
|
```blocks
|
||||||
input.onButtonPressed(Button.A, () => {
|
input.onButtonPressed(Button.A, () => {
|
||||||
@ -18,7 +20,9 @@ input.onButtonPressed(Button.A, () => {
|
|||||||
|
|
||||||
### Light level sender
|
### Light level sender
|
||||||
|
|
||||||
This example broadcasts the level of the light around it:
|
This example broadcasts the level of the light around it.
|
||||||
|
You can do some interesting things with it if you use it along with the
|
||||||
|
[Mailbot](/reference/radio/receive-number) example.
|
||||||
|
|
||||||
```blocks
|
```blocks
|
||||||
radio.setGroup(99)
|
radio.setGroup(99)
|
||||||
@ -28,38 +32,6 @@ basic.forever(() => {
|
|||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
This example shows the light level from the sender (above):
|
|
||||||
|
|
||||||
```blocks
|
|
||||||
radio.setGroup(99)
|
|
||||||
basic.forever(() => {
|
|
||||||
let level = radio.receiveNumber()
|
|
||||||
basic.showNumber(level)
|
|
||||||
})
|
|
||||||
```
|
|
||||||
|
|
||||||
### Mailbot
|
|
||||||
|
|
||||||
This example takes the signal from the light level sender (above)
|
|
||||||
and shows a text string if the light level becomes much brighter.
|
|
||||||
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.
|
|
||||||
|
|
||||||
```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
|
### See also
|
||||||
|
|
||||||
[receive number](/reference/radio/receive-number), [on data received](/reference/radio/on-data-received)
|
[receive number](/reference/radio/receive-number), [on data received](/reference/radio/on-data-received)
|
||||||
|
Loading…
Reference in New Issue
Block a user