Deprecating old radio APIs and fixing docs (#289)
This commit is contained in:
parent
ba69563bf4
commit
ec404e5887
@ -7,9 +7,9 @@ Create a charting app for simulating and measuring the acceleration applied to t
|
|||||||
Acceleration
|
Acceleration
|
||||||
|
|
||||||
## Quick Links
|
## Quick Links
|
||||||
* [activity](/lessons/charting/activity)
|
* [activity](/lessons/charting/activity)
|
||||||
* [challenge](/lessons/charting/challenge)
|
* [challenge](/lessons/charting/challenge)
|
||||||
* [quiz](/lessons/charting/quiz)
|
* [quiz](/lessons/charting/quiz)
|
||||||
* [answers](/lessons/charting/quiz-answers)
|
* [answers](/lessons/charting/quiz-answers)
|
||||||
|
|
||||||
## Prior learning/place of lesson in scheme of work
|
## Prior learning/place of lesson in scheme of work
|
||||||
@ -22,9 +22,8 @@ Learn the functions of **on data received**, **send number** and **receive numbe
|
|||||||
input.acceleration(Dimension.X)
|
input.acceleration(Dimension.X)
|
||||||
led.plotBarGraph(0, 1023)
|
led.plotBarGraph(0, 1023)
|
||||||
basic.showNumber(0)
|
basic.showNumber(0)
|
||||||
radio.onDataReceived(() => {})
|
radio.onDataPacketReceived(() => {})
|
||||||
radio.sendNumber(0)
|
radio.sendNumber(0)
|
||||||
radio.receiveNumber()
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Objectives
|
## Objectives
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# Challenge
|
# Challenge
|
||||||
|
|
||||||
### ~avatar avatar
|
### ~avatar avatar
|
||||||
|
|
||||||
Welcome! The activity will teach you how to use the acceleration of the 1st micro:bit and to visualize the acceleration on the 2nd micro:bit.
|
Welcome! The activity will teach you how to use the acceleration of the 1st micro:bit and to visualize the acceleration on the 2nd micro:bit.
|
||||||
Let's get started!
|
Let's get started!
|
||||||
|
|
||||||
### ~
|
### ~
|
||||||
@ -28,8 +28,8 @@ We want to register code to run when a packet is received over radio. We can imp
|
|||||||
basic.forever(() => {
|
basic.forever(() => {
|
||||||
radio.sendNumber(input.acceleration(Dimension.X))
|
radio.sendNumber(input.acceleration(Dimension.X))
|
||||||
})
|
})
|
||||||
radio.onDataReceived(() => {
|
radio.onDataPacketReceived(() => {
|
||||||
|
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
### ~
|
### ~
|
||||||
@ -39,26 +39,26 @@ Finally, we want to chart the acceleration. So we must first implement `plot bar
|
|||||||
basic.forever(() => {
|
basic.forever(() => {
|
||||||
radio.sendNumber(input.acceleration(Dimension.X))
|
radio.sendNumber(input.acceleration(Dimension.X))
|
||||||
})
|
})
|
||||||
radio.onDataReceived(() => {
|
radio.onDataPacketReceived(({ receivedNumber }) => {
|
||||||
led.plotBarGraph(radio.receiveNumber(), 1023)
|
led.plotBarGraph(receivedNumber, 1023)
|
||||||
})
|
})
|
||||||
|
|
||||||
```
|
```
|
||||||
### ~
|
### ~
|
||||||
Notice that moving the micro:bit the farthest direction in the x direction will be -1023 on the charting beneath the simulator. The second observation will be that the LEDs will be full brightness on the 2nd micro:bit. There is a single LED turned on with the 1st micro:bit. Additionally, the graphs will reflect 0 acceleation for the 1st micro:bit. In this scenario, if you are adjusting the acceleration in the simualator, you are also changing your chart that will be produced.
|
Notice that moving the micro:bit the farthest direction in the x direction will be -1023 on the charting beneath the simulator. The second observation will be that the LEDs will be full brightness on the 2nd micro:bit. There is a single LED turned on with the 1st micro:bit. Additionally, the graphs will reflect 0 acceleation for the 1st micro:bit. In this scenario, if you are adjusting the acceleration in the simualator, you are also changing your chart that will be produced.
|
||||||
|
|
||||||
![](/static/mb/acc.png)
|
![](/static/mb/acc.png)
|
||||||
|
|
||||||
### ~
|
### ~
|
||||||
NOTE: The colors of the charts reflect the color of the micro:bit simulator. In this instance, the micro:bits are blue and green. So the colors of the line graphs reflect the colors of the micro:bit
|
NOTE: The colors of the charts reflect the color of the micro:bit simulator. In this instance, the micro:bits are blue and green. So the colors of the line graphs reflect the colors of the micro:bit
|
||||||
|
|
||||||
### ~
|
### ~
|
||||||
After running this simulation several seconds by moving the micro:bit side to side in the x direction, you are ready to graph or chart the accceleration of the micro:bit. We want a printout of our acceleration on Excel. We will graph the fluctuating acceleration of the simulation experiment.
|
After running this simulation several seconds by moving the micro:bit side to side in the x direction, you are ready to graph or chart the accceleration of the micro:bit. We want a printout of our acceleration on Excel. We will graph the fluctuating acceleration of the simulation experiment.
|
||||||
|
|
||||||
![](/static/mb/acc2.png)
|
![](/static/mb/acc2.png)
|
||||||
|
|
||||||
### ~
|
### ~
|
||||||
Finally, you must open the Excel CSV file by clicking on the data.xls file that was downloaded to Downloads Folder.
|
Finally, you must open the Excel CSV file by clicking on the data.xls file that was downloaded to Downloads Folder.
|
||||||
|
|
||||||
![](/static/mb/data3.png)
|
![](/static/mb/data3.png)
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ Have fun reviewing your simulation and analyze the acceleration by chart the Exc
|
|||||||
* Connect the second micro:bit to your computer using your USB cable and run the charting script on it.
|
* Connect the second micro:bit to your computer using your USB cable and run the charting script on it.
|
||||||
* The first person and second person take turns tilting the micro:bit in the "x" direction while the other player charts the data on the micro:bit!
|
* The first person and second person take turns tilting the micro:bit in the "x" direction while the other player charts the data on the micro:bit!
|
||||||
* Review and analyze the actual micro:bit device acceleration data on Excel
|
* Review and analyze the actual micro:bit device acceleration data on Excel
|
||||||
* Display acceleration with y or z using plot bar graph by changing acceleration from "x" to "y" or "z"
|
* Display acceleration with y or z using plot bar graph by changing acceleration from "x" to "y" or "z"
|
||||||
|
|
||||||
```package
|
```package
|
||||||
radio
|
radio
|
||||||
|
@ -19,7 +19,6 @@ Learn how to use running time. We will be learning how to create a pogo game usi
|
|||||||
let jumps = 0
|
let jumps = 0
|
||||||
let acc = input.acceleration(Dimension.Y)
|
let acc = input.acceleration(Dimension.Y)
|
||||||
basic.showNumber(0)
|
basic.showNumber(0)
|
||||||
radio.receiveNumber()
|
|
||||||
led.stopAnimation()
|
led.stopAnimation()
|
||||||
radio.sendNumber(0)
|
radio.sendNumber(0)
|
||||||
basic.forever(() => { })
|
basic.forever(() => { })
|
||||||
@ -32,7 +31,7 @@ basic.showLeds(`
|
|||||||
`)
|
`)
|
||||||
basic.clearScreen()
|
basic.clearScreen()
|
||||||
if (true) {}
|
if (true) {}
|
||||||
radio.onDataReceived(() => { })
|
radio.onDataPacketReceived(() => { })
|
||||||
```
|
```
|
||||||
## Objectives
|
## Objectives
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# pogo activity
|
# pogo activity
|
||||||
|
|
||||||
Construct a counter that uses acceleration.
|
Construct a counter that uses acceleration.
|
||||||
|
|
||||||
Welcome! This activity will teach how to construct a pendulum that glows using acceleration. Let's get started!
|
Welcome! This activity will teach how to construct a pendulum that glows using acceleration. Let's get started!
|
||||||
|
|
||||||
@ -120,8 +120,8 @@ input.onButtonPressed(Button.AB, () => {
|
|||||||
let jumps = 0
|
let jumps = 0
|
||||||
basic.showNumber(jumps)
|
basic.showNumber(jumps)
|
||||||
})
|
})
|
||||||
radio.onDataReceived(() => {
|
radio.onDataPacketReceived(({ receivedNumber }) => {
|
||||||
basic.showNumber(radio.receiveNumber())
|
basic.showNumber(receivedNumber)
|
||||||
})
|
})
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -151,8 +151,8 @@ input.onButtonPressed(Button.AB, () => {
|
|||||||
let jumps = 0
|
let jumps = 0
|
||||||
basic.showNumber(jumps)
|
basic.showNumber(jumps)
|
||||||
})
|
})
|
||||||
radio.onDataReceived(() => {
|
radio.onDataPacketReceived(({ receivedNumber }) => {
|
||||||
basic.showNumber(radio.receiveNumber())
|
basic.showNumber(receivedNumber)
|
||||||
led.stopAnimation()
|
led.stopAnimation()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# Seismograph Lesson
|
# Seismograph Lesson
|
||||||
|
|
||||||
Build a seismograph with household materials
|
Build a seismograph with household materials
|
||||||
|
|
||||||
## Topic
|
## Topic
|
||||||
|
|
||||||
Acceleration & Analog Read Pin
|
Acceleration & Analog Read Pin
|
||||||
|
|
||||||
@ -11,7 +11,7 @@ Acceleration & Analog Read Pin
|
|||||||
* [activity](/lessons/seismograph/activity)
|
* [activity](/lessons/seismograph/activity)
|
||||||
* [challenge](/lessons/seismograph/challenge)
|
* [challenge](/lessons/seismograph/challenge)
|
||||||
|
|
||||||
## Prior learning/place of lesson in scheme of work
|
## Prior learning/place of lesson in scheme of work
|
||||||
|
|
||||||
Learn how to **show LEDs** to turn on a LED light pattern on the LED screen. We will be learning basic comments such as show LEDs and pause.
|
Learn how to **show LEDs** to turn on a LED light pattern on the LED screen. We will be learning basic comments such as show LEDs and pause.
|
||||||
|
|
||||||
@ -21,17 +21,16 @@ Learn how to **show LEDs** to turn on a LED light pattern on the LED screen. We
|
|||||||
basic.forever(() => {});
|
basic.forever(() => {});
|
||||||
radio.sendNumber(0);
|
radio.sendNumber(0);
|
||||||
input.acceleration(Dimension.Strength)
|
input.acceleration(Dimension.Strength)
|
||||||
radio.onDataReceived(() => {});
|
radio.onDataPacketReceived(() => {});
|
||||||
led.plotBarGraph(0, 0);
|
led.plotBarGraph(0, 0);
|
||||||
radio.receiveNumber();
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Objectives
|
## Objectives
|
||||||
|
|
||||||
* learn how to repeat code forever in the background
|
* learn how to repeat code forever in the background
|
||||||
* learn how to display a vertical bar graph based on the value.
|
* learn how to display a vertical bar graph based on the value.
|
||||||
* learn how to return the sum of the two numbers
|
* learn how to return the sum of the two numbers
|
||||||
* learn how to get acceleration value in milli-gravitys
|
* learn how to get acceleration value in milli-gravitys
|
||||||
* learn how to read the connector value as analog as a value comprised between 0 and 1023
|
* learn how to read the connector value as analog as a value comprised between 0 and 1023
|
||||||
|
|
||||||
```package
|
```package
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
# Seismograph Challenge
|
# Seismograph Challenge
|
||||||
|
|
||||||
Coding challenges for the seismograph.
|
Coding challenges for the seismograph.
|
||||||
|
|
||||||
|
|
||||||
### ~avatar avatar
|
### ~avatar avatar
|
||||||
|
|
||||||
Engineering: In this project, you will build a remote control based on the seismograph micro:bit activity using a second micro:bit and micro USB cable.
|
Engineering: In this project, you will build a remote control based on the seismograph micro:bit activity using a second micro:bit and micro USB cable.
|
||||||
|
|
||||||
### ~
|
### ~
|
||||||
|
|
||||||
## What you'll need:
|
## What you'll need:
|
||||||
|
|
||||||
* BBC micro:bits (2)
|
* BBC micro:bits (2)
|
||||||
* micro USB cables (2)
|
* micro USB cables (2)
|
||||||
* Plate
|
* Plate
|
||||||
* Tape
|
* Tape
|
||||||
* Scissors
|
* Scissors
|
||||||
|
|
||||||
![](/static/mb/lessons/seis_challenge01.png)
|
![](/static/mb/lessons/seis_challenge01.png)
|
||||||
@ -30,14 +30,14 @@ basic.forever(() => {
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### ~avatar avatar
|
### ~avatar avatar
|
||||||
Computer Science: Welcome! The activity will teach you how to code the acceleration of the 1st micro:bit and to visualize the acceleration on the 2nd micro:bit. Let's get started!
|
Computer Science: Welcome! The activity will teach you how to code the acceleration of the 1st micro:bit and to visualize the acceleration on the 2nd micro:bit. Let's get started!
|
||||||
### ~
|
### ~
|
||||||
|
|
||||||
# Computer Science Steps
|
# Computer Science Steps
|
||||||
|
|
||||||
## 1.
|
## 1.
|
||||||
We want to simply detach the blocks from the recent activity. We will use blocks from the activity to create a brand new program to show the way micro:bit devices communicate through the BLE (Bluetooth low energy) radio.
|
We want to simply detach the blocks from the recent activity. We will use blocks from the activity to create a brand new program to show the way micro:bit devices communicate through the BLE (Bluetooth low energy) radio.
|
||||||
|
|
||||||
```shuffle
|
```shuffle
|
||||||
basic.forever(() => {
|
basic.forever(() => {
|
||||||
@ -46,10 +46,10 @@ basic.forever(() => {
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## 2.
|
## 2.
|
||||||
Let's measure `acceleration (mg)` and then `send number`. `Acceleration` is measured in **milli-gravities**, so a value of -1000 is equivalent to -1g or -9.81m/s^2. We will be able to get the acceleration value (g-force), in the specified "x" dimension. `Send number` will broadcast a number data packet to other micro:bits connected via radio.
|
Let's measure `acceleration (mg)` and then `send number`. `Acceleration` is measured in **milli-gravities**, so a value of -1000 is equivalent to -1g or -9.81m/s^2. We will be able to get the acceleration value (g-force), in the specified "x" dimension. `Send number` will broadcast a number data packet to other micro:bits connected via radio.
|
||||||
|
|
||||||
We need add send number block found in the Radio drawer. We will attach send number to acceleration and subtract the gravity from acceleration strength.
|
We need add send number block found in the Radio drawer. We will attach send number to acceleration and subtract the gravity from acceleration strength.
|
||||||
|
|
||||||
Your finished code will look like this:
|
Your finished code will look like this:
|
||||||
|
|
||||||
@ -57,8 +57,8 @@ Your finished code will look like this:
|
|||||||
radio.sendNumber(input.acceleration(Dimension.Strength) - 1023);
|
radio.sendNumber(input.acceleration(Dimension.Strength) - 1023);
|
||||||
```
|
```
|
||||||
|
|
||||||
## 3.
|
## 3.
|
||||||
We want to display the acceleration forever. In order to do so, we need a `forever` loop. A forever loop will repeat code in the background forever. We need attach forever loop to send number.
|
We want to display the acceleration forever. In order to do so, we need a `forever` loop. A forever loop will repeat code in the background forever. We need attach forever loop to send number.
|
||||||
|
|
||||||
Your finished code will look like this:
|
Your finished code will look like this:
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ basic.forever(() => {
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## 4.
|
## 4.
|
||||||
We want to register code to run when a packet is received over radio. We can implement this code by adding `on data received`block found in the radio drawer.
|
We want to register code to run when a packet is received over radio. We can implement this code by adding `on data received`block found in the radio drawer.
|
||||||
|
|
||||||
Your finished code will look like this:
|
Your finished code will look like this:
|
||||||
@ -78,12 +78,12 @@ Your finished code will look like this:
|
|||||||
basic.forever(() => {
|
basic.forever(() => {
|
||||||
radio.sendNumber(input.acceleration(Dimension.Strength) - 1023);
|
radio.sendNumber(input.acceleration(Dimension.Strength) - 1023);
|
||||||
});
|
});
|
||||||
radio.onDataReceived(() => {
|
radio.onDataPacketReceived(() => {
|
||||||
});
|
});
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## 5.
|
## 5.
|
||||||
Finally, we want to chart the acceleration. So we must first implement `plot bar graph`. `Plot Bar Graph` will display a vertical bar graph based on the value and high value. In order to transfer the receive the number from the 1st micro:bit, we must implement `receive number` to constantly display a vertical bar graph based on the value. Remember, the value will equal to the micro:bit's acceleration in the "x" direction.
|
Finally, we want to chart the acceleration. So we must first implement `plot bar graph`. `Plot Bar Graph` will display a vertical bar graph based on the value and high value. In order to transfer the receive the number from the 1st micro:bit, we must implement `receive number` to constantly display a vertical bar graph based on the value. Remember, the value will equal to the micro:bit's acceleration in the "x" direction.
|
||||||
|
|
||||||
Your finished code will look like this:
|
Your finished code will look like this:
|
||||||
@ -92,25 +92,25 @@ Your finished code will look like this:
|
|||||||
basic.forever(() => {
|
basic.forever(() => {
|
||||||
radio.sendNumber(input.acceleration(Dimension.Strength) - 1023);
|
radio.sendNumber(input.acceleration(Dimension.Strength) - 1023);
|
||||||
});
|
});
|
||||||
radio.onDataReceived(() => {
|
radio.onDataPacketReceived(({ receivedNumber }) => {
|
||||||
led.plotBarGraph(radio.receiveNumber(), 0);
|
led.plotBarGraph(receivedNumber, 0);
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
### ~avatar avatar
|
### ~avatar avatar
|
||||||
Science: Welcome! The activity will teach you how to chart the acceleration of the 1st micro:bit and to visualize the acceleration on the 2nd micro:bit. Let's get started!
|
Science: Welcome! The activity will teach you how to chart the acceleration of the 1st micro:bit and to visualize the acceleration on the 2nd micro:bit. Let's get started!
|
||||||
### ~
|
### ~
|
||||||
|
|
||||||
# Science Steps
|
# Science Steps
|
||||||
|
|
||||||
## 6.
|
## 6.
|
||||||
First, notice that moving the 1st micro:bit in the simulator in any direction, you will change the acceleration value of the 2nd micro:bit. Also, notice that by moving the micro:bit simulator, there is a changing acceleration value of the second micro:bit. Second, the flat colored horizontal line will start a waving line on the 2nd micro:bit to display the value of the strength as measured in milli-gravities. Finally, notice that the LED display will fluctate based on the movement of the 2nd micro:bit simulator.
|
First, notice that moving the 1st micro:bit in the simulator in any direction, you will change the acceleration value of the 2nd micro:bit. Also, notice that by moving the micro:bit simulator, there is a changing acceleration value of the second micro:bit. Second, the flat colored horizontal line will start a waving line on the 2nd micro:bit to display the value of the strength as measured in milli-gravities. Finally, notice that the LED display will fluctate based on the movement of the 2nd micro:bit simulator.
|
||||||
|
|
||||||
![](/static/mb/lessons/seis_challenge02.png)
|
![](/static/mb/lessons/seis_challenge02.png)
|
||||||
|
|
||||||
## 7.
|
## 7.
|
||||||
|
|
||||||
Connect the 2nd micro:bit to your computer using your USB cable. We should have two micro:bit devices attached to the computer.
|
Connect the 2nd micro:bit to your computer using your USB cable. We should have two micro:bit devices attached to the computer.
|
||||||
|
|
||||||
![](/static/mb/lessons/seismograph33.png)
|
![](/static/mb/lessons/seismograph33.png)
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ Connect the 2nd micro:bit to your computer using your USB cable. We should have
|
|||||||
|
|
||||||
Click or tap the **Download** button for the seismograph program to run the program on the 1st micro:bit and 2nd micro:bit.
|
Click or tap the **Download** button for the seismograph program to run the program on the 1st micro:bit and 2nd micro:bit.
|
||||||
|
|
||||||
## 9.
|
## 9.
|
||||||
|
|
||||||
The black lines should appear directly beneath the colored lines. The black lines measure the micro:bit acceleration. And the colored lines measures micro:bit simulator acceleration.
|
The black lines should appear directly beneath the colored lines. The black lines measure the micro:bit acceleration. And the colored lines measures micro:bit simulator acceleration.
|
||||||
|
|
||||||
@ -134,34 +134,34 @@ Every time the micro:bit moves in any direction, you generate data points that c
|
|||||||
|
|
||||||
Now we are ready to graph or chart the accceleration of the micro:bit. We want a printout of the micro:bit acceleration graphed in Excel.
|
Now we are ready to graph or chart the accceleration of the micro:bit. We want a printout of the micro:bit acceleration graphed in Excel.
|
||||||
|
|
||||||
## 10.
|
## 10.
|
||||||
|
|
||||||
In order to receive the the data plotted by Excel, click or tap anywhere in the on the chart data.
|
In order to receive the the data plotted by Excel, click or tap anywhere in the on the chart data.
|
||||||
|
|
||||||
![](/static/mb/lessons/seis_challenge07.png)
|
![](/static/mb/lessons/seis_challenge07.png)
|
||||||
|
|
||||||
## 11.
|
## 11.
|
||||||
|
|
||||||
You have two options to Analyze Data:
|
You have two options to Analyze Data:
|
||||||
|
|
||||||
* Local File: Save the data to your local Downloads folder and open it in Excel.
|
* Local File: Save the data to your local Downloads folder and open it in Excel.
|
||||||
* Stream to Cloud: Upload your data to Microsoft Azure to analyze it.
|
* Stream to Cloud: Upload your data to Microsoft Azure to analyze it.
|
||||||
|
|
||||||
Click or tap Download data
|
Click or tap Download data
|
||||||
|
|
||||||
![](/static/mb/lessons/seismograph9.png)
|
![](/static/mb/lessons/seismograph9.png)
|
||||||
|
|
||||||
## 12.
|
## 12.
|
||||||
|
|
||||||
A CSV file will be generated to display the data points collected by the micro:bit. Click or tap on the data Excel file that was downloaded to your local Downloads Folder.
|
A CSV file will be generated to display the data points collected by the micro:bit. Click or tap on the data Excel file that was downloaded to your local Downloads Folder.
|
||||||
|
|
||||||
![](/static/mb/lessons/analyze9.png)
|
![](/static/mb/lessons/analyze9.png)
|
||||||
|
|
||||||
## 13.
|
## 13.
|
||||||
|
|
||||||
Select the data that you want to include in your chart. The chart should include the first two columns: time and acceleration.
|
Select the data that you want to include in your chart. The chart should include the first two columns: time and acceleration.
|
||||||
|
|
||||||
Click or tap on the first two columns (A, B) to include time and acceleration data from the micro:bit. We only need the first two columns (A, B) because the 2nd micro:bit changes have been communicated by the 1st micro:bit. So the data points of the seismograph are being recorded on the 1st micro:bit.
|
Click or tap on the first two columns (A, B) to include time and acceleration data from the micro:bit. We only need the first two columns (A, B) because the 2nd micro:bit changes have been communicated by the 1st micro:bit. So the data points of the seismograph are being recorded on the 1st micro:bit.
|
||||||
|
|
||||||
## 14.
|
## 14.
|
||||||
|
|
||||||
@ -169,23 +169,23 @@ Click or tap on Insert then select Recommended Charts. We can select a chart tha
|
|||||||
|
|
||||||
![](/static/mb/analyze3.png)
|
![](/static/mb/analyze3.png)
|
||||||
|
|
||||||
On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data.
|
On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data.
|
||||||
|
|
||||||
We want to select the chart called Line. A line chart is used to display trends over time. We will use the line chart because there are many data points over time.
|
We want to select the chart called Line. A line chart is used to display trends over time. We will use the line chart because there are many data points over time.
|
||||||
|
|
||||||
Click on the chart type to see how your data will look in that format. When you find the chart type that you want, click it, and then click OK.
|
Click on the chart type to see how your data will look in that format. When you find the chart type that you want, click it, and then click OK.
|
||||||
|
|
||||||
![](/static/mb/lessons/analyze16.png)
|
![](/static/mb/lessons/analyze16.png)
|
||||||
|
|
||||||
Tip: If you don’t see the line chart, click the All Charts tab to see the line chart.
|
Tip: If you don’t see the line chart, click the All Charts tab to see the line chart.
|
||||||
|
|
||||||
## 15.
|
## 15.
|
||||||
|
|
||||||
Use the Chart Elements, Chart Styles, and Chart Filters buttons next to the upper-right corner of the chart to add chart elements like axis titles or data labels, to customize the look of your chart
|
Use the Chart Elements, Chart Styles, and Chart Filters buttons next to the upper-right corner of the chart to add chart elements like axis titles or data labels, to customize the look of your chart
|
||||||
|
|
||||||
Alternatively, click or tap on the Design Ribbon.
|
Alternatively, click or tap on the Design Ribbon.
|
||||||
|
|
||||||
Let's select Style 10 as an example.
|
Let's select Style 10 as an example.
|
||||||
|
|
||||||
![](/static/mb/lessons/analyze19.png)
|
![](/static/mb/lessons/analyze19.png)
|
||||||
|
|
||||||
|
@ -16,13 +16,13 @@ input.onButtonPressed(Button.A, () => {
|
|||||||
|
|
||||||
## Step 2
|
## Step 2
|
||||||
|
|
||||||
Use [radio on data received](/reference/radio/on-data-received) display "YO" when the number ``0`` is received
|
Use [radio on data packet received](/reference/radio/on-data-packet-received) display "YO" when the number ``0`` is received
|
||||||
by radio.
|
by radio.
|
||||||
|
|
||||||
```blocks
|
```blocks
|
||||||
let message = 0;
|
let message = 0;
|
||||||
radio.onDataReceived(() => {
|
radio.onDataPacketReceived(({ receivedNumber }) => {
|
||||||
message = radio.receiveNumber();
|
message = receivedNumber;
|
||||||
if (message == 0) {
|
if (message == 0) {
|
||||||
basic.showString("YO")
|
basic.showString("YO")
|
||||||
}
|
}
|
||||||
@ -43,13 +43,13 @@ input.onButtonPressed(Button.B, () => {
|
|||||||
|
|
||||||
## Step 4
|
## Step 4
|
||||||
|
|
||||||
Add blocks in [radio on data received](/reference/radio/on-data-received) to display "BYE" when the number ``1`` is received
|
Add blocks in [radio on data packet received](/reference/radio/on-data-packet-received) to display "BYE" when the number ``1`` is received
|
||||||
by radio.
|
by radio.
|
||||||
|
|
||||||
```blocks
|
```blocks
|
||||||
let message = 0;
|
let message = 0;
|
||||||
radio.onDataReceived(() => {
|
radio.onDataPacketReceived(({ receivedNumber }) => {
|
||||||
message = radio.receiveNumber();
|
message = receivedNumber;
|
||||||
if (message == 0) {
|
if (message == 0) {
|
||||||
basic.showString("YO")
|
basic.showString("YO")
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# Challenge
|
# Challenge
|
||||||
|
|
||||||
### ~avatar avatar
|
### ~avatar avatar
|
||||||
|
|
||||||
Welcome! The activity will teach you how to use the acceleration of the 1st micro:bit and to visualize the acceleration on the 2nd micro:bit.
|
Welcome! The activity will teach you how to use the acceleration of the 1st micro:bit and to visualize the acceleration on the 2nd micro:bit.
|
||||||
Let's get started!
|
Let's get started!
|
||||||
|
|
||||||
### ~
|
### ~
|
||||||
@ -28,8 +28,8 @@ We want to register code to run when a packet is received over radio. We can imp
|
|||||||
basic.forever(() => {
|
basic.forever(() => {
|
||||||
radio.sendNumber(input.acceleration(Dimension.X))
|
radio.sendNumber(input.acceleration(Dimension.X))
|
||||||
})
|
})
|
||||||
radio.onDataReceived(() => {
|
radio.onDataPacketReceived(() => {
|
||||||
|
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
### ~
|
### ~
|
||||||
@ -39,28 +39,28 @@ Finally, we want to chart the acceleration. So we must first implement `plot bar
|
|||||||
basic.forever(() => {
|
basic.forever(() => {
|
||||||
radio.sendNumber(input.acceleration(Dimension.X))
|
radio.sendNumber(input.acceleration(Dimension.X))
|
||||||
})
|
})
|
||||||
radio.onDataReceived(() => {
|
radio.onDataPacketReceived(({ receivedNumber }) => {
|
||||||
led.plotBarGraph(radio.receiveNumber(), 1023)
|
led.plotBarGraph(receivedNumber, 1023)
|
||||||
})
|
})
|
||||||
|
|
||||||
```
|
```
|
||||||
### ~
|
### ~
|
||||||
Notice that moving the micro:bit the farthest direction in the x direction will be -1023 on the charting beneath the simulator. The second observation will be that the LEDs will be full brightness on the 2nd micro:bit. There is a single LED turned on with the 1st micro:bit. Additionally, the graphs will reflect 0 acceleation for the 1st micro:bit. In this scenario, if you are adjusting the acceleration in the simualator, you are also changing your chart that will be produced.
|
Notice that moving the micro:bit the farthest direction in the x direction will be -1023 on the charting beneath the simulator. The second observation will be that the LEDs will be full brightness on the 2nd micro:bit. There is a single LED turned on with the 1st micro:bit. Additionally, the graphs will reflect 0 acceleation for the 1st micro:bit. In this scenario, if you are adjusting the acceleration in the simualator, you are also changing your chart that will be produced.
|
||||||
|
|
||||||
![](/static/mb/acc.png)
|
![](/static/mb/acc.png)
|
||||||
|
|
||||||
### ~
|
### ~
|
||||||
NOTE: The colors of the charts reflect the color of the micro:bit simulator. In this instance, the micro:bits are blue and green. So the colors of the line graphs reflect the colors of the micro:bit
|
NOTE: The colors of the charts reflect the color of the micro:bit simulator. In this instance, the micro:bits are blue and green. So the colors of the line graphs reflect the colors of the micro:bit
|
||||||
|
|
||||||
### ~
|
### ~
|
||||||
After running this simulation several seconds by moving the micro:bit side to side in the x direction, you are ready to graph or chart the accceleration of the micro:bit. We want a printout of our acceleration on Excel. We will graph the fluctuating acceleration of the simulation experiment.
|
After running this simulation several seconds by moving the micro:bit side to side in the x direction, you are ready to graph or chart the accceleration of the micro:bit. We want a printout of our acceleration on Excel. We will graph the fluctuating acceleration of the simulation experiment.
|
||||||
|
|
||||||
![](/static/mb/acc2.png)
|
![](/static/mb/acc2.png)
|
||||||
|
|
||||||
### ~
|
### ~
|
||||||
|
|
||||||
Finally, you must open the Excel CSV file by clicking on the `data.csv` file
|
Finally, you must open the Excel CSV file by clicking on the `data.csv` file
|
||||||
that was downloaded to Downloads Folder.
|
that was downloaded to Downloads Folder.
|
||||||
|
|
||||||
![](/static/mb/data3.png)
|
![](/static/mb/data3.png)
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ Have fun reviewing your simulation and analyze the acceleration by chart the Exc
|
|||||||
* Connect the second micro:bit to your computer using your USB cable and run the charting script on it.
|
* Connect the second micro:bit to your computer using your USB cable and run the charting script on it.
|
||||||
* The first person and second person take turns tilting the micro:bit in the "x" direction while the other player charts the data on the micro:bit!
|
* The first person and second person take turns tilting the micro:bit in the "x" direction while the other player charts the data on the micro:bit!
|
||||||
* Review and analyze the actual micro:bit device acceleration data on Excel
|
* Review and analyze the actual micro:bit device acceleration data on Excel
|
||||||
* Display acceleration with y or z using plot bar graph by changing acceleration from "x" to "y" or "z"
|
* Display acceleration with y or z using plot bar graph by changing acceleration from "x" to "y" or "z"
|
||||||
|
|
||||||
```package
|
```package
|
||||||
radio
|
radio
|
||||||
|
@ -6,13 +6,9 @@ Communicate data using radio packets
|
|||||||
radio.sendNumber(0);
|
radio.sendNumber(0);
|
||||||
radio.sendValue("data", 0);
|
radio.sendValue("data", 0);
|
||||||
radio.sendString("");
|
radio.sendString("");
|
||||||
radio.onDataReceived(() => {
|
radio.onDataPacketReceived(() => {
|
||||||
|
|
||||||
});
|
});
|
||||||
radio.receiveNumber();
|
|
||||||
radio.receivedNumberAt(0);
|
|
||||||
radio.receiveString();
|
|
||||||
radio.receivedSignalStrength();
|
|
||||||
radio.setGroup(0);
|
radio.setGroup(0);
|
||||||
radio.setTransmitPower(7);
|
radio.setTransmitPower(7);
|
||||||
radio.setTransmitSerialNumber(false);
|
radio.setTransmitSerialNumber(false);
|
||||||
@ -25,4 +21,11 @@ radio
|
|||||||
|
|
||||||
### See Also
|
### See Also
|
||||||
|
|
||||||
[sendNumber](/reference/radio/send-number), [sendValue](/reference/radio/send-value), [sendString](/reference/radio/send-string), [onDataReceived](/reference/radio/on-data-received), [receiveNumber](/reference/radio/receive-number), [receiveString](/reference/radio/receive-string), [receivedSignalStrength](/reference/radio/received-signal-strength), [setGroup](/reference/radio/set-group), [setTransmitPower](/reference/radio/set-transmit-power), [setTransmitSerialNumber](/reference/radio/set-transmit-serial-number), [writeValueToSerial](/reference/radio/write-value-to-serial)
|
[sendNumber](/reference/radio/send-number),
|
||||||
|
[sendValue](/reference/radio/send-value),
|
||||||
|
[sendString](/reference/radio/send-string),
|
||||||
|
[onDataPacketReceived](/reference/radio/on-data-packet-received),
|
||||||
|
[setGroup](/reference/radio/set-group),
|
||||||
|
[setTransmitPower](/reference/radio/set-transmit-power),
|
||||||
|
[setTransmitSerialNumber](/reference/radio/set-transmit-serial-number),
|
||||||
|
[writeValueToSerial](/reference/radio/write-value-to-serial)
|
||||||
|
40
docs/reference/radio/on-data-packet-received.md
Normal file
40
docs/reference/radio/on-data-packet-received.md
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
# On Data Packet Received
|
||||||
|
|
||||||
|
Run part of a program when the micro:bit receives a
|
||||||
|
[number](/reference/types/number) or [string](/reference/types/string) over ``radio``.
|
||||||
|
|
||||||
|
|
||||||
|
```sig
|
||||||
|
radio.onDataPacketReceived((packet: Packet) => { });
|
||||||
|
```
|
||||||
|
|
||||||
|
### Callback Parameters
|
||||||
|
|
||||||
|
* ``packet`` - the [packet](/reference/radio/packet) that was received by the radio
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
This program keeps sending numbers that says how fast the micro:bit is
|
||||||
|
slowing down or speeding up. It also receives numbers for the same
|
||||||
|
thing from nearby micro:bits. It shows these numbers as a
|
||||||
|
[bar graph](/reference/led/plot-bar-graph).
|
||||||
|
|
||||||
|
```blocks
|
||||||
|
basic.forever(() => {
|
||||||
|
radio.sendNumber(input.acceleration(Dimension.X));
|
||||||
|
})
|
||||||
|
radio.onDataPacketReceived(({ receivedNumber }) => {
|
||||||
|
led.plotBarGraph(receivedNumber, 1023);
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### See also
|
||||||
|
|
||||||
|
[send number](/reference/radio/send-number),
|
||||||
|
[send string](/reference/radio/send-string),
|
||||||
|
[send value](/reference/radio/send-value),
|
||||||
|
[set group](/reference/radio/set-group)
|
||||||
|
|
||||||
|
```package
|
||||||
|
radio
|
||||||
|
```
|
@ -1,5 +1,7 @@
|
|||||||
# On Data Received
|
# On Data Received
|
||||||
|
|
||||||
|
> Note: This API has been deprecated! Use [on data packet received](/reference/radio/on-data-packet-received) instead.
|
||||||
|
|
||||||
Run part of a program when the micro:bit receives a
|
Run part of a program when the micro:bit receives a
|
||||||
[number](/reference/types/number) or [string](/reference/types/string) over ``radio``.
|
[number](/reference/types/number) or [string](/reference/types/string) over ``radio``.
|
||||||
|
|
||||||
@ -8,10 +10,6 @@ Run part of a program when the micro:bit receives a
|
|||||||
radio.onDataReceived(() => { });
|
radio.onDataReceived(() => { });
|
||||||
```
|
```
|
||||||
|
|
||||||
### Simulator
|
|
||||||
|
|
||||||
This function only works on the micro:bit, not in browsers.
|
|
||||||
|
|
||||||
### Example
|
### Example
|
||||||
|
|
||||||
This program keeps sending numbers that says how fast the micro:bit is
|
This program keeps sending numbers that says how fast the micro:bit is
|
||||||
@ -30,7 +28,7 @@ radio.onDataReceived(() => {
|
|||||||
|
|
||||||
### See also
|
### See also
|
||||||
|
|
||||||
[receive number](/reference/radio/receive-number),
|
[on data packet received](/reference/radio/on-data-packet-received),
|
||||||
[send number](/reference/radio/send-number), [set group](/reference/radio/set-group)
|
[send number](/reference/radio/send-number), [set group](/reference/radio/set-group)
|
||||||
|
|
||||||
```package
|
```package
|
||||||
|
19
docs/reference/radio/packet.md
Normal file
19
docs/reference/radio/packet.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# Packet
|
||||||
|
|
||||||
|
A packet that was received by the radio.
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
* `receivedNumber` - The number that was sent in this packet or `0` if this packet did not contain a number. See [send number](/reference/radio/send-number) and [send value](/reference/radio/send-value)
|
||||||
|
* `text` - The string that was sent in this packet or the empty string if this packet did not contain a string. See [send string](/reference/radio/send-string) and [send value](/reference/radio/send-value)
|
||||||
|
* `time` - The system time of the micro:bit that sent this packet at the time the packet was sent.
|
||||||
|
* `serial` - The serial number of the micro:bit that sent this packet or `0` if the micro:bit did not include its serial number.
|
||||||
|
* `signal` - How strong the radio signal is from `255` (weak) to `0` (strong).
|
||||||
|
|
||||||
|
### See also
|
||||||
|
|
||||||
|
[on data packet received](/reference/radio/on-data-packet-received),
|
||||||
|
|
||||||
|
```package
|
||||||
|
radio
|
||||||
|
```
|
@ -1,5 +1,7 @@
|
|||||||
# Receive Number
|
# Receive Number
|
||||||
|
|
||||||
|
> Note: This API has been deprecated! Use [on data packet received](/reference/radio/on-data-packet-received) instead.
|
||||||
|
|
||||||
Receives the next number sent by a micro:bit in the same ``radio`` group.
|
Receives the next number sent by a micro:bit in the same ``radio`` group.
|
||||||
|
|
||||||
```sig
|
```sig
|
||||||
@ -10,10 +12,6 @@ radio.receiveNumber();
|
|||||||
|
|
||||||
* the first [number](/reference/types/number) that the micro:bit received. If it did not receive any numbers, this function will return `0`.
|
* the first [number](/reference/types/number) that the micro:bit received. If it did not receive any numbers, this function will return `0`.
|
||||||
|
|
||||||
### Simulator
|
|
||||||
|
|
||||||
This function only works on the micro:bit, not in browsers.
|
|
||||||
|
|
||||||
### Example: Simple number receiver
|
### Example: Simple number receiver
|
||||||
|
|
||||||
This example receives the number broadcasted another micro:bit and shows it
|
This example receives the number broadcasted another micro:bit and shows it
|
||||||
@ -25,7 +23,7 @@ radio.onDataReceived(() => {
|
|||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
### Example: Light level receiver
|
### Example: Light level receiver
|
||||||
|
|
||||||
This example shows the light level from the [light level sender example](/reference/radio/send-number)
|
This example shows the light level from the [light level sender example](/reference/radio/send-number)
|
||||||
as a number.
|
as a number.
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
# Receive String
|
# Receive String
|
||||||
|
|
||||||
|
> Note: This API has been deprecated! Use [on data packet received](/reference/radio/on-data-packet-received) instead.
|
||||||
|
|
||||||
Find the next string sent by `radio` from another micro:bit.
|
Find the next string sent by `radio` from another micro:bit.
|
||||||
|
|
||||||
```sig
|
```sig
|
||||||
@ -11,10 +13,6 @@ radio.receiveString()
|
|||||||
* the first [string](/reference/types/string) that was sent. If no
|
* the first [string](/reference/types/string) that was sent. If no
|
||||||
string was sent, then this function returns an empty (blank) string.
|
string was sent, then this function returns an empty (blank) string.
|
||||||
|
|
||||||
### Simulator
|
|
||||||
|
|
||||||
This function only works on the micro:bit, not in browsers.
|
|
||||||
|
|
||||||
### Example: Simple receiver
|
### Example: Simple receiver
|
||||||
|
|
||||||
Show the string sent by another micro:bit.
|
Show the string sent by another micro:bit.
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
# Received Signal Strength
|
# Received Signal Strength
|
||||||
|
|
||||||
|
> Note: This API has been deprecated! Use [on data packet received](/reference/radio/on-data-packet-received) instead.
|
||||||
|
|
||||||
Find how strong the ``radio`` signal is, from `255` to `0`.
|
Find how strong the ``radio`` signal is, from `255` to `0`.
|
||||||
(`255` means a weak signal and `0` means a strong one.)
|
(`255` means a weak signal and `0` means a strong one.)
|
||||||
|
|
||||||
The micro:bit finds the signal strength by checking how strong it was
|
The micro:bit finds the signal strength by checking how strong it was
|
||||||
the last time it ran the
|
the last time it ran the
|
||||||
[receive number](/reference/radio/receive-number) function. That means
|
[on data packet received](/reference/radio/on-data-packet-received) function. That means
|
||||||
it needs to run **receive number** first.
|
it needs to run **receive number** first.
|
||||||
|
|
||||||
```sig
|
```sig
|
||||||
@ -37,7 +39,7 @@ basic.forever(() => {
|
|||||||
|
|
||||||
### See also
|
### See also
|
||||||
|
|
||||||
[receive number](/reference/radio/receive-number), [send number](/reference/radio/send-number), [on data received](/reference/radio/on-data-received)
|
[on data packet received](/reference/radio/on-data-packet-received), [send number](/reference/radio/send-number), [on data received](/reference/radio/on-data-received)
|
||||||
|
|
||||||
```package
|
```package
|
||||||
radio
|
radio
|
||||||
|
@ -10,9 +10,6 @@ radio.sendNumber(0);
|
|||||||
|
|
||||||
* ``value`` - a [number](/reference/types/number) to send.
|
* ``value`` - a [number](/reference/types/number) to send.
|
||||||
|
|
||||||
### Simulator
|
|
||||||
|
|
||||||
This function only works on the micro:bit, not in browsers.
|
|
||||||
|
|
||||||
### Example: Broadcasting acceleration
|
### Example: Broadcasting acceleration
|
||||||
|
|
||||||
@ -30,7 +27,7 @@ input.onButtonPressed(Button.A, () => {
|
|||||||
|
|
||||||
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
|
You can do some interesting things with it if you use it along with the
|
||||||
[Mailbot](/reference/radio/receive-number) example.
|
[on data packet received](/reference/radio/on-data-packet-received) example.
|
||||||
|
|
||||||
```blocks
|
```blocks
|
||||||
radio.setGroup(99)
|
radio.setGroup(99)
|
||||||
@ -42,7 +39,7 @@ basic.forever(() => {
|
|||||||
|
|
||||||
### See also
|
### See also
|
||||||
|
|
||||||
[receive number](/reference/radio/receive-number), [on data received](/reference/radio/on-data-received)
|
[on data packet received](/reference/radio/on-data-packet-received)
|
||||||
|
|
||||||
```package
|
```package
|
||||||
radio
|
radio
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# Send String
|
# Send String
|
||||||
|
|
||||||
Sends a string to other micro:bits in the area connected by radio.
|
Sends a string to other micro:bits in the area connected by radio. The
|
||||||
|
maximum string length is 19 characters.
|
||||||
|
|
||||||
```sig
|
```sig
|
||||||
radio.sendString("Hello!")
|
radio.sendString("Hello!")
|
||||||
@ -10,9 +11,6 @@ radio.sendString("Hello!")
|
|||||||
|
|
||||||
* `msg` is a [string](/reference/types/string) to send by radio.
|
* `msg` is a [string](/reference/types/string) to send by radio.
|
||||||
|
|
||||||
### Simulator
|
|
||||||
|
|
||||||
This function only works on the micro:bit, not in browsers.
|
|
||||||
|
|
||||||
### Example: Two-way radio
|
### Example: Two-way radio
|
||||||
|
|
||||||
@ -26,8 +24,8 @@ input.onButtonPressed(Button.A, () => {
|
|||||||
basic.showString("SENT");
|
basic.showString("SENT");
|
||||||
})
|
})
|
||||||
|
|
||||||
radio.onDataReceived(() => {
|
radio.onDataPacketReceived(({ text }) => {
|
||||||
basic.showString(radio.receiveString());
|
basic.showString(text);
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -39,7 +37,7 @@ A radio that can both transmit and receive is called a _transceiver_.
|
|||||||
|
|
||||||
### See also
|
### See also
|
||||||
|
|
||||||
[receive string](/reference/radio/receive-string), [on data received](/reference/radio/on-data-received)
|
[on data packet received](/reference/radio/on-data-packet-received)
|
||||||
|
|
||||||
```package
|
```package
|
||||||
radio
|
radio
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
# Send Value
|
# Send Value
|
||||||
|
|
||||||
Send a [string]() and [number]() together by ``radio`` to other micro:bits.
|
Send a [string]() and [number]() together by ``radio`` to other micro:bits.
|
||||||
|
The maximum [string]() length is 12 characters.
|
||||||
|
|
||||||
```sig
|
```sig
|
||||||
radio.sendValue("data", 0);
|
radio.sendValue("data", 0);
|
||||||
@ -11,10 +12,6 @@ radio.sendValue("data", 0);
|
|||||||
* ``name`` is a [string](/reference/types/string) to send by radio
|
* ``name`` is a [string](/reference/types/string) to send by radio
|
||||||
* ``value`` a [number](/reference/types/number) to send by radio
|
* ``value`` a [number](/reference/types/number) to send by radio
|
||||||
|
|
||||||
### Simulator
|
|
||||||
|
|
||||||
This function only works on the micro:bit, not in browsers.
|
|
||||||
|
|
||||||
### Example: Broadcasting acceleration
|
### Example: Broadcasting acceleration
|
||||||
|
|
||||||
This program sends your micro:bit's **acceleration** (amount it is
|
This program sends your micro:bit's **acceleration** (amount it is
|
||||||
@ -34,15 +31,15 @@ Then it shows them on the LED screen.
|
|||||||
|
|
||||||
```blocks
|
```blocks
|
||||||
radio.setGroup(99)
|
radio.setGroup(99)
|
||||||
radio.onDataReceived(() => {
|
radio.onDataPacketReceived(({ text, receivedNumber }) => {
|
||||||
basic.showString(radio.receiveString());
|
basic.showString(text);
|
||||||
basic.showNumber(radio.receiveNumber());
|
basic.showNumber(receivedNumber);
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
### See also
|
### See also
|
||||||
|
|
||||||
[receive number](/reference/radio/receive-number), [on data received](/reference/radio/on-data-received)
|
[on data packet received](/reference/radio/on-data-packet-received)
|
||||||
|
|
||||||
```package
|
```package
|
||||||
radio
|
radio
|
||||||
|
@ -32,7 +32,10 @@ radio.setGroup(128)
|
|||||||
|
|
||||||
### See also
|
### See also
|
||||||
|
|
||||||
[receive number](/reference/radio/receive-number), [send number](/reference/radio/send-number), [on data received](/reference/radio/on-data-received)
|
[on data packet received](/reference/radio/on-data-packet-received),
|
||||||
|
[send number](/reference/radio/send-number),
|
||||||
|
[send value](/reference/radio/send-value),
|
||||||
|
[send string](/reference/radio/send-string)
|
||||||
|
|
||||||
```package
|
```package
|
||||||
radio
|
radio
|
||||||
|
@ -13,7 +13,7 @@ radio.setTransmitPower(7);
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Range
|
### Range
|
||||||
|
|
||||||
If your micro:bit is sending with a strength of `7`, and you are in
|
If your micro:bit is sending with a strength of `7`, and you are in
|
||||||
an open area without many other computers around, the micro:bit signal
|
an open area without many other computers around, the micro:bit signal
|
||||||
can reach as far as 70 meters (about 230 feet).
|
can reach as far as 70 meters (about 230 feet).
|
||||||
@ -37,7 +37,10 @@ radio.setTransmitPower(7)
|
|||||||
|
|
||||||
### See also
|
### See also
|
||||||
|
|
||||||
[receive number](/reference/radio/receive-number), [send number](/reference/radio/send-number), [on data received](/reference/radio/on-data-received)
|
[on data packet received](/reference/radio/on-data-packet-received),
|
||||||
|
[send number](/reference/radio/send-number),
|
||||||
|
[send value](/reference/radio/send-value),
|
||||||
|
[send string](/reference/radio/send-string)
|
||||||
|
|
||||||
```package
|
```package
|
||||||
radio
|
radio
|
||||||
|
@ -10,10 +10,6 @@ radio.setTransmitSerialNumber(true);
|
|||||||
|
|
||||||
* ``transmit`` is a [boolean](/reference/types/boolean) that represents whether the serial number needs to be transmitted.
|
* ``transmit`` is a [boolean](/reference/types/boolean) that represents whether the serial number needs to be transmitted.
|
||||||
|
|
||||||
### Simulator
|
|
||||||
|
|
||||||
This function only works on the micro:bit, not in browsers.
|
|
||||||
|
|
||||||
### Example
|
### Example
|
||||||
|
|
||||||
This program makes the ``radio`` send the serial number in each packet.
|
This program makes the ``radio`` send the serial number in each packet.
|
||||||
@ -24,7 +20,10 @@ radio.setTransmitSerialNumber(true);
|
|||||||
|
|
||||||
### See also
|
### See also
|
||||||
|
|
||||||
[receive number](/reference/radio/receive-number), [send number](/reference/radio/send-number), [on data received](/reference/radio/on-data-received)
|
[on data packet received](/reference/radio/on-data-packet-received),
|
||||||
|
[send number](/reference/radio/send-number),
|
||||||
|
[send value](/reference/radio/send-value),
|
||||||
|
[send string](/reference/radio/send-string)
|
||||||
|
|
||||||
```package
|
```package
|
||||||
radio
|
radio
|
||||||
|
@ -6,25 +6,13 @@ Writes the data received by ``radio`` to serial in JSON format.
|
|||||||
radio.writeValueToSerial();
|
radio.writeValueToSerial();
|
||||||
```
|
```
|
||||||
|
|
||||||
### ~hint
|
|
||||||
|
|
||||||
This method only works for [send number](/reference/radio/send-number)
|
|
||||||
and [send value](/reference/radio/send-value). It does not work for
|
|
||||||
[send string](/reference/radio/send-string), although you can send a
|
|
||||||
string as part of [send value](/reference/radio/send-value).
|
|
||||||
|
|
||||||
### ~
|
|
||||||
|
|
||||||
### Data received format
|
### Data received format
|
||||||
|
|
||||||
The format for received data printed to serial is as follows:
|
The format for received data printed to serial is as follows:
|
||||||
|
|
||||||
- [send number](/reference/radio/send-number): ```{v:ValueSent,t:MicrobitTimeAlive,s:Unused}```
|
- [send number](/reference/radio/send-number): ```{v:ValueSent,t:MicrobitTimeAlive,s:SerialNumber}```
|
||||||
- [send value](/reference/radio/send-value): ```{v:ValueSent,t:MicrobitTimeAlive,s:Unused,n:"Name"}```
|
- [send value](/reference/radio/send-value): ```{v:ValueSent,t:MicrobitTimeAlive,s:SerialNumber,n:"Name"}```
|
||||||
|
- [send string](/reference/radio/send-string): ```{t:MicrobitTimeAlive,s:SerialNumber,n:"Text"}```
|
||||||
### Simulator
|
|
||||||
|
|
||||||
This function only works on the micro:bit, not in browsers.
|
|
||||||
|
|
||||||
### Examples
|
### Examples
|
||||||
|
|
||||||
@ -50,7 +38,8 @@ Sample output to serial when ``A`` button pressed:
|
|||||||
|
|
||||||
[send number](/reference/radio/send-number),
|
[send number](/reference/radio/send-number),
|
||||||
[send value](/reference/radio/send-value),
|
[send value](/reference/radio/send-value),
|
||||||
[on data received](/reference/radio/on-data-received)
|
[send string](/reference/radio/send-string),
|
||||||
|
[on data packet received](/reference/radio/on-data-packet-received)
|
||||||
|
|
||||||
```package
|
```package
|
||||||
radio
|
radio
|
||||||
|
@ -244,7 +244,7 @@ namespace radio {
|
|||||||
//% help=radio/receive-number
|
//% help=radio/receive-number
|
||||||
//% weight=46
|
//% weight=46
|
||||||
//% blockId=radio_datagram_receive block="radio receive number" blockGap=8
|
//% blockId=radio_datagram_receive block="radio receive number" blockGap=8
|
||||||
//% advanced=true
|
//% deprecated=true
|
||||||
int receiveNumber()
|
int receiveNumber()
|
||||||
{
|
{
|
||||||
if (radioEnable() != MICROBIT_OK) return 0;
|
if (radioEnable() != MICROBIT_OK) return 0;
|
||||||
@ -258,7 +258,7 @@ namespace radio {
|
|||||||
//% help=radio/on-data-received
|
//% help=radio/on-data-received
|
||||||
//% weight=50
|
//% weight=50
|
||||||
//% blockId=radio_datagram_received_event block="radio on data received" blockGap=8
|
//% blockId=radio_datagram_received_event block="radio on data received" blockGap=8
|
||||||
//% advanced=true
|
//% deprecated=true
|
||||||
void onDataReceived(Action body) {
|
void onDataReceived(Action body) {
|
||||||
if (radioEnable() != MICROBIT_OK) return;
|
if (radioEnable() != MICROBIT_OK) return;
|
||||||
registerWithDal(MICROBIT_ID_RADIO, MICROBIT_RADIO_EVT_DATAGRAM, body);
|
registerWithDal(MICROBIT_ID_RADIO, MICROBIT_RADIO_EVT_DATAGRAM, body);
|
||||||
@ -274,7 +274,7 @@ namespace radio {
|
|||||||
//% blockId=radio_datagram_receive_string block="radio receive string" blockGap=8
|
//% blockId=radio_datagram_receive_string block="radio receive string" blockGap=8
|
||||||
//% weight=44
|
//% weight=44
|
||||||
//% help=radio/receive-string
|
//% help=radio/receive-string
|
||||||
//% advanced=true
|
//% deprecated=true
|
||||||
StringData* receiveString() {
|
StringData* receiveString() {
|
||||||
if (radioEnable() != MICROBIT_OK) return ManagedString().leakData();
|
if (radioEnable() != MICROBIT_OK) return ManagedString().leakData();
|
||||||
receivePacket(false);
|
receivePacket(false);
|
||||||
@ -289,7 +289,7 @@ namespace radio {
|
|||||||
//% help=radio/received-signal-strength
|
//% help=radio/received-signal-strength
|
||||||
//% weight=40
|
//% weight=40
|
||||||
//% blockId=radio_datagram_rssi block="radio received signal strength"
|
//% blockId=radio_datagram_rssi block="radio received signal strength"
|
||||||
//% advanced=true
|
//% deprecated=true
|
||||||
int receivedSignalStrength() {
|
int receivedSignalStrength() {
|
||||||
if (radioEnable() != MICROBIT_OK) return 0;
|
if (radioEnable() != MICROBIT_OK) return 0;
|
||||||
return packet.getRSSI();
|
return packet.getRSSI();
|
||||||
|
@ -32,6 +32,7 @@ namespace radio {
|
|||||||
* Registers code to run when the radio receives a packet. Also takes the
|
* Registers code to run when the radio receives a packet. Also takes the
|
||||||
* received packet from the radio queue.
|
* received packet from the radio queue.
|
||||||
*/
|
*/
|
||||||
|
//% help=radio/on-data-packet-received
|
||||||
//% mutate=true
|
//% mutate=true
|
||||||
//% mutateText=Packet
|
//% mutateText=Packet
|
||||||
//% mutateDefaults="receivedNumber;text,receivedNumber;text"
|
//% mutateDefaults="receivedNumber;text,receivedNumber;text"
|
||||||
|
8
libs/radio/shims.d.ts
vendored
8
libs/radio/shims.d.ts
vendored
@ -50,7 +50,7 @@ declare namespace radio {
|
|||||||
//% help=radio/receive-number
|
//% help=radio/receive-number
|
||||||
//% weight=46
|
//% weight=46
|
||||||
//% blockId=radio_datagram_receive block="radio receive number" blockGap=8
|
//% blockId=radio_datagram_receive block="radio receive number" blockGap=8
|
||||||
//% advanced=true shim=radio::receiveNumber
|
//% deprecated=true shim=radio::receiveNumber
|
||||||
function receiveNumber(): number;
|
function receiveNumber(): number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -59,7 +59,7 @@ declare namespace radio {
|
|||||||
//% help=radio/on-data-received
|
//% help=radio/on-data-received
|
||||||
//% weight=50
|
//% weight=50
|
||||||
//% blockId=radio_datagram_received_event block="radio on data received" blockGap=8
|
//% blockId=radio_datagram_received_event block="radio on data received" blockGap=8
|
||||||
//% advanced=true shim=radio::onDataReceived
|
//% deprecated=true shim=radio::onDataReceived
|
||||||
function onDataReceived(body: () => void): void;
|
function onDataReceived(body: () => void): void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -69,7 +69,7 @@ declare namespace radio {
|
|||||||
//% blockId=radio_datagram_receive_string block="radio receive string" blockGap=8
|
//% blockId=radio_datagram_receive_string block="radio receive string" blockGap=8
|
||||||
//% weight=44
|
//% weight=44
|
||||||
//% help=radio/receive-string
|
//% help=radio/receive-string
|
||||||
//% advanced=true shim=radio::receiveString
|
//% deprecated=true shim=radio::receiveString
|
||||||
function receiveString(): string;
|
function receiveString(): string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -80,7 +80,7 @@ declare namespace radio {
|
|||||||
//% help=radio/received-signal-strength
|
//% help=radio/received-signal-strength
|
||||||
//% weight=40
|
//% weight=40
|
||||||
//% blockId=radio_datagram_rssi block="radio received signal strength"
|
//% blockId=radio_datagram_rssi block="radio received signal strength"
|
||||||
//% advanced=true shim=radio::receivedSignalStrength
|
//% deprecated=true shim=radio::receivedSignalStrength
|
||||||
function receivedSignalStrength(): number;
|
function receivedSignalStrength(): number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user