pxt-microbit 6.1.5 → 6.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/built/block-tests.js +1 -1
- package/built/hexcache/890f5019e604a15811449bfd588903911dbb045c485a116989534fd8ef7911d1.hex +19748 -0
- package/built/hexcache/c5413d800f0501279f93de375d27c50c46204e3d728ff047db24c0a3097c0174.hex +20347 -0
- package/built/target.js +1 -1
- package/built/target.json +1 -1
- package/built/targetlight.json +1 -1
- package/built/theme.json +1 -1
- package/docs/SUMMARY.md +14 -1
- package/docs/courses/ucp-science/SUMMARY.md +14 -0
- package/docs/courses/ucp-science/body-electrical.md +9 -4
- package/docs/courses/ucp-science/data-collection.md +2 -9
- package/docs/courses/ucp-science/egg-drop.md +20 -0
- package/docs/courses/ucp-science/electricity.md +9 -4
- package/docs/courses/ucp-science/gravity.md +1 -4
- package/docs/courses/ucp-science/population.md +2 -9
- package/docs/courses/ucp-science/rocket-acceleration.md +9 -4
- package/docs/courses/ucp-science/soil-moisture.md +2 -10
- package/docs/courses/ucp-science/spoon-race.md +16 -0
- package/docs/courses/ucp-science/temperature.md +2 -9
- package/docs/courses/ucp-science.md +3 -1
- package/docs/homepage-content.md +20 -0
- package/docs/projects/banana-keyboard/code.md +1 -1
- package/docs/projects/dice.md +12 -18
- package/docs/projects/flashing-heart.md +12 -8
- package/docs/projects/love-meter.md +17 -10
- package/docs/projects/micro-chat.md +38 -17
- package/docs/projects/mood-radio.md +1 -1
- package/docs/projects/name-tag.md +9 -14
- package/docs/projects/puma-rs-computer-shoe.md +1 -1
- package/docs/projects/rock-paper-scissors.md +136 -81
- package/docs/projects/smiley-buttons.md +24 -46
- package/docs/projects/spy/coin-flipper.md +1 -1
- package/docs/projects/spy/dice.md +17 -17
- package/docs/projects/spy/flashing-heart.md +12 -27
- package/docs/projects/spy/heads-guess.md +1 -1
- package/docs/projects/spy/love-meter.md +35 -17
- package/docs/projects/spy/micro-chat.md +35 -22
- package/docs/projects/spy/name-tag.md +14 -23
- package/docs/projects/spy/rock-paper-scissors.md +27 -77
- package/docs/projects/spy/smiley-buttons.md +20 -26
- package/docs/projects/step-counter.md +51 -30
- package/docs/projects/v2-cat-napping.md +1 -1
- package/docs/projects/v2-clap-lights.md +1 -1
- package/docs/reference/pins/i2c-write-buffer.md +1 -1
- package/docs/share.md +7 -0
- package/docs/tutorials.md +6 -6
- package/package.json +1 -1
- package/pxtarget.json +1 -1
- package/targetconfig.json +3 -2
- package/built/hexcache/02e118276d7ad61fd1e7913a87f10d8ffee34a65b883e7b8efce291712f45092.hex +0 -20334
- package/built/hexcache/56661ceac4d8678e416df6f0cb117457b277232c45f0a578a9298d26f8eaba35.hex +0 -19735
|
@@ -6,17 +6,13 @@ This lesson give students real world experience with coding, collecting temperat
|
|
|
6
6
|
|
|
7
7
|
## Lesson concept
|
|
8
8
|
|
|
9
|
-
###
|
|
10
|
-
|
|
11
|
-
#### Direct sunlight and shade experiment
|
|
9
|
+
### Direct sunlight and shade experiment
|
|
12
10
|
|
|
13
11
|
Watch this video about an experiment using the temperature sensor to see what effect
|
|
14
12
|
a sun shade has on keeping your car cooler.
|
|
15
13
|
|
|
16
14
|
https://youtu.be/pHDYsy6xyE4
|
|
17
15
|
|
|
18
|
-
### ~
|
|
19
|
-
|
|
20
16
|
## Contents
|
|
21
17
|
|
|
22
18
|
* [Overview](/courses/ucp-science/temperature/overview)
|
|
@@ -24,7 +20,4 @@ https://youtu.be/pHDYsy6xyE4
|
|
|
24
20
|
* [Resources](/courses/ucp-science/temperature/resources)
|
|
25
21
|
|
|
26
22
|
<br/>
|
|
27
|
-
|
|
28
|
-
| | | |
|
|
29
|
-
|-|-|-|
|
|
30
|
-
| Adapted from "[Temperature Data](https://drive.google.com/open?id=1X6FeANka2qcMC2ZFQgSSxEoHxsQc--6a0Pk9xxMOwE8)" by [C Lyman](http://utahcoding.org) | | [](https://creativecommons.org/licenses/by-nc-sa/4.0/) |
|
|
23
|
+
Adapted from "[Temperature Data](https://drive.google.com/open?id=1X6FeANka2qcMC2ZFQgSSxEoHxsQc--6a0Pk9xxMOwE8)" by [C Lyman](http://utahcoding.org) [](https://creativecommons.org/licenses/by-nc-sa/4.0/)
|
|
@@ -10,7 +10,7 @@ These lessons guide the student in hands-on, practical measurement activities al
|
|
|
10
10
|
|
|
11
11
|
### ~hint
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
#### Download it
|
|
14
14
|
|
|
15
15
|
The entire course is also available as a download. Choose any of these formats:
|
|
16
16
|
|
|
@@ -31,6 +31,8 @@ The lesson series includes:
|
|
|
31
31
|
* [Body Electrical & Waves](/courses/ucp-science/body-electrical)
|
|
32
32
|
* [Electricity - Battery Tester](/courses/ucp-science/electricity)
|
|
33
33
|
* [Rocket Acceleration](/courses/ucp-science/rocket-acceleration)
|
|
34
|
+
* [Egg Drop Experiment](/courses/ucp-science/egg-drop)
|
|
35
|
+
* [Spoon Race](/courses/ucp-science/spoon-race)
|
|
34
36
|
|
|
35
37
|
The [Science Experiments](https://sites.google.com/view/utahcodingproject/csta/microbit-science-experiments) lesson series is generously provided by the [Utah Coding Project](https://sites.google.com/view/utahcodingproject/home) and is developed by [Carl Lyman](mailto:utahcoding@outlook.com).
|
|
36
38
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# @extends
|
|
2
|
+
|
|
3
|
+
## #target-homescreen
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
## #target-link-example
|
|
8
|
+
|
|
9
|
+
Here is the content link information mapped to a home page card example:
|
|
10
|
+
|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
1. Name or Title
|
|
14
|
+
2. Description
|
|
15
|
+
3. Thumbnail image (JPG or PNG)
|
|
16
|
+
4. Content link URL (not shown on the home page card)
|
|
17
|
+
|
|
18
|
+
## Approval #target-approval
|
|
19
|
+
|
|
20
|
+
For approval to add items to the home page, please follow the **[instructions](https://support.microbit.org/support/solutions/articles/19000054952-makecode-extension-and-tutorial-approval)** for submitting content to the Micro:bit Foundation.
|
|
@@ -19,7 +19,7 @@ input.onPinPressed(TouchPin.P1, () => {
|
|
|
19
19
|
})
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
Now, let's create some notes to play when the banana is pressed. Click on the **Loops** drawer then insert a ``||loops:repeat||`` loop into the ``||input:on pin pressed||`` block. Click on the **Variables** drawer and pull out a ``||variables:change item by||`` block and put it into the loop. Rename the variable to `sound`. Change the value from `1` to `25`. This will increase the variable `sound` from the note frequency of block `Middle A` to `Middle A` plus 25 and so on. Put a ``||variables:set to||`` block for `sound` right after the loop. Set it to `Middle A`
|
|
22
|
+
Now, let's create some notes to play when the banana is pressed. Click on the **Loops** drawer then insert a ``||loops:repeat||`` loop into the ``||input:on pin pressed||`` block. Click on the **Variables** drawer and pull out a ``||variables:change item by||`` block and put it into the loop. Rename the variable to `sound`. Change the value from `1` to `25`. This will increase the variable `sound` from the note frequency of block `Middle A` to `Middle A` plus 25 and so on. Put a ``||variables:set to||`` block for `sound` right after the loop. Set it to `Middle A` in order to reset the sound after a banana press.
|
|
23
23
|
|
|
24
24
|
```blocks
|
|
25
25
|
let sound = music.noteFrequency(Note.A);
|
package/docs/projects/dice.md
CHANGED
|
@@ -2,37 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
## {Introduction @unplugged}
|
|
4
4
|
|
|
5
|
-
Let's
|
|
6
|
-
(Want to learn how the accelerometer works? [Watch this video](https://youtu.be/byngcwjO51U)).
|
|
5
|
+
Let's create some digital 🎲 dice 🎲 with our micro:bit!
|
|
7
6
|
|
|
8
7
|

|
|
9
8
|
|
|
10
9
|
## {Step 1}
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
Use the ``||input:on shake||`` block you see in the editor workspace. It runs code when you shake the @boardname@.
|
|
11
|
+
The ``||input:on shake||`` block runs code when you shake 👋 the @boardname@. From the ``||basic:Basic||`` category, get a ``||basic:show number||`` block and place it inside the ``||input:on shake||`` block to display a number.
|
|
15
12
|
|
|
16
13
|
```blocks
|
|
17
14
|
input.onGesture(Gesture.Shake, function() {
|
|
18
|
-
|
|
15
|
+
//@highlight
|
|
16
|
+
basic.showNumber(0)
|
|
19
17
|
})
|
|
20
18
|
```
|
|
21
19
|
|
|
22
20
|
## {Step 2}
|
|
23
21
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
```blocks
|
|
27
|
-
input.onGesture(Gesture.Shake, function() {
|
|
28
|
-
//@highlight
|
|
29
|
-
basic.showNumber(0)
|
|
30
|
-
})
|
|
31
|
-
```
|
|
22
|
+
Press the white **SHAKE** button on the micro:bit on-screen simulator, or move your cursor quickly back and forth over the simulator. Do you see the number 0 appear? ⭐ Great job! ⭐
|
|
32
23
|
|
|
33
24
|
## {Step 3}
|
|
34
25
|
|
|
35
|
-
|
|
26
|
+
But we don't want to show 0 on our dice all the time. From the ``||math:Math||`` Toolbox category, drag a ``||Math:pick random||`` block and drop it into the ``||basic:show number||`` block replacing the **0**.
|
|
36
27
|
|
|
37
28
|
```blocks
|
|
38
29
|
input.onGesture(Gesture.Shake, function() {
|
|
@@ -43,7 +34,7 @@ input.onGesture(Gesture.Shake, function() {
|
|
|
43
34
|
|
|
44
35
|
## {Step 4}
|
|
45
36
|
|
|
46
|
-
A typical dice shows values from
|
|
37
|
+
A typical dice shows values from 1 to 6 dots. So, in the ``||Math:pick random||`` block, change the minimum value to **1** and the maximum value to **6**.
|
|
47
38
|
|
|
48
39
|
```blocks
|
|
49
40
|
input.onGesture(Gesture.Shake, function() {
|
|
@@ -54,11 +45,14 @@ input.onGesture(Gesture.Shake, function() {
|
|
|
54
45
|
|
|
55
46
|
## {Step 5}
|
|
56
47
|
|
|
57
|
-
|
|
48
|
+
Press the white **SHAKE** button again on the micro:bit simulator. Do you see random numbers between 1 and 6 appear? ⭐ Great job! ⭐
|
|
58
49
|
|
|
59
50
|
## {Step 6}
|
|
60
51
|
|
|
61
|
-
If you have a @boardname@
|
|
52
|
+
If you have a @boardname@ device, connect it to your computer and click the ``|Download|`` button. Follow the instructions to transfer your code onto the @boardname@. Once your code has been downloaded, attach your micro:bit to a battery pack and use it as digital 🎲 dice for your next boardgame!
|
|
53
|
+
|
|
54
|
+
## {Step 7}
|
|
55
|
+
Go further - Try adding some Music blocks to make a sound when you shake your dice, or use the micro:bit LED lights to show number values. Want to learn how the micro:bit motion detector or accelerometer works? [Watch this video](https://youtu.be/byngcwjO51U).
|
|
62
56
|
|
|
63
57
|
```validation.global
|
|
64
58
|
# BlocksExistValidator
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
# Flashing Heart
|
|
2
2
|
|
|
3
|
-
##
|
|
4
|
-
|
|
5
|
-
Learn how to use the LEDs and make a flashing heart!
|
|
6
|
-
(Want to learn how lights work? [Watch this video](https://youtu.be/qqBmvHD5bCw)).
|
|
3
|
+
## Code a Flashing Heart @unplugged
|
|
7
4
|
|
|
5
|
+
Code the lights on the micro:bit into a flashing heart animation! 💖
|
|
8
6
|
|
|
9
7
|

|
|
10
8
|
|
|
11
9
|
## {Step 1 @fullscreen}
|
|
12
10
|
|
|
13
|
-
|
|
11
|
+
Click on the ``||basic:Basic||`` category in the Toolbox.
|
|
12
|
+
Drag the ``||basic:show leds||`` block into the ``||basic:forever||`` block.
|
|
13
|
+
Then in the ``||basic:show leds||`` block, click on the squares to draw a heart design.
|
|
14
14
|
|
|
15
15
|

|
|
16
16
|
|
|
17
17
|
## {Step 2}
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Drag another ``||basic:show leds||`` block underneath the first.
|
|
20
20
|
|
|
21
21
|
```blocks
|
|
22
22
|
basic.forever(function() {
|
|
@@ -37,11 +37,15 @@ basic.forever(function() {
|
|
|
37
37
|
|
|
38
38
|
## {Step 3}
|
|
39
39
|
|
|
40
|
-
Look at the
|
|
40
|
+
Look at the @boardname@ on the screen. Do you see a flashing heart animation? ⭐ Great job! ⭐
|
|
41
41
|
|
|
42
42
|
## {Step 4}
|
|
43
43
|
|
|
44
|
-
If you have a @boardname@
|
|
44
|
+
If you have a @boardname@ device, connect it to your computer and click the ``|Download|`` button. Follow the instructions to transfer your code onto the @boardname@ and watch the hearts flash!
|
|
45
|
+
|
|
46
|
+
## {Step 5}
|
|
47
|
+
|
|
48
|
+
Go further - try adding more ``||basic:show leds||`` blocks to create a longer animation! Learn more about how the @boardname@ lights work by watching [this video](https://youtu.be/qqBmvHD5bCw).
|
|
45
49
|
|
|
46
50
|
```template
|
|
47
51
|
basic.forever(function() {})
|
|
@@ -2,22 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
## {Introduction @unplugged}
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
How much love 😍 are you emitting today? Create a 💓 LOVE METER 💓 machine with your micro:bit!
|
|
6
6
|
|
|
7
7
|

|
|
8
8
|
|
|
9
9
|
## {Step 1}
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
We'll use this ``||input:on pin pressed||`` block to run code when pin **0** on the micro:bit is pressed. From the ``||basic:Basic||`` Toolbox category, drag a ``||basic:show number||`` block and drop into the ``||input:on pin pressed||`` block.
|
|
12
12
|
|
|
13
13
|
```blocks
|
|
14
14
|
input.onPinPressed(TouchPin.P0, function() {
|
|
15
|
+
//@highlight
|
|
16
|
+
basic.showNumber(0)
|
|
15
17
|
})
|
|
16
18
|
```
|
|
17
19
|
|
|
18
20
|
## {Step 2}
|
|
19
21
|
|
|
20
|
-
|
|
22
|
+
From the ``||math:Math||`` category, get a ``||Math:pick random||`` block and drop it into the ``||basic:show number||`` block replacing 0.
|
|
21
23
|
|
|
22
24
|
```blocks
|
|
23
25
|
input.onPinPressed(TouchPin.P0, function() {
|
|
@@ -25,25 +27,30 @@ input.onPinPressed(TouchPin.P0, function() {
|
|
|
25
27
|
basic.showNumber(randint(0, 100))
|
|
26
28
|
})
|
|
27
29
|
```
|
|
28
|
-
## {Step 3}
|
|
29
|
-
|
|
30
|
-
Click on pin **0** in the simulator and see which number is chosen.
|
|
31
30
|
|
|
32
|
-
## {Step
|
|
31
|
+
## {Step 3}
|
|
33
32
|
|
|
34
|
-
|
|
33
|
+
Now let's be sure to label our Love Machine! From the ``||basic:Basic||`` Toolbox category, drag an ``||basic:on start||`` block and drop it anywhere on the Workspace. Then get a ``||basic:show string||`` block and place it in the ``||basic:on start||`` block. Type the words "LOVE METER" into the ``||basic:show string||`` block.
|
|
35
34
|
|
|
36
35
|
```blocks
|
|
37
36
|
//@highlight
|
|
38
37
|
basic.showString("LOVE METER")
|
|
39
38
|
input.onPinPressed(TouchPin.P0, function() {
|
|
40
39
|
basic.showNumber(randint(0, 100))
|
|
41
|
-
})
|
|
40
|
+
})
|
|
42
41
|
```
|
|
43
42
|
|
|
43
|
+
## {Step 4}
|
|
44
|
+
|
|
45
|
+
Let's test our code. Press **Pin 0** on the micro:bit on-screen simulator (bottom left). Numbers between 0-25 = 🖤 No Love, 26-50 = 🫶 BFF Love, 51-75 = 💘 Brokenhearted Love, 76-100 = 💖🔥 Fiery Hot Love!
|
|
46
|
+
|
|
44
47
|
## {Step 5}
|
|
45
48
|
|
|
46
|
-
|
|
49
|
+
If you have a @boardname@ device, connect it to your computer and click the ``|Download|`` button. Follow the instructions to transfer your code onto the @boardname@. Once your code has been downloaded, hold the **GND** pin with one hand and touch the **0** pin with the other hand. Your micro:bit 💓 LOVE METER 💓 machine will detect the love current flowing through your body!
|
|
50
|
+
|
|
51
|
+
```blockconfig.global
|
|
52
|
+
randint(0, 100)
|
|
53
|
+
```
|
|
47
54
|
|
|
48
55
|
```validation.global
|
|
49
56
|
# BlocksExistValidator
|
|
@@ -1,42 +1,59 @@
|
|
|
1
1
|
# Micro Chat
|
|
2
2
|
|
|
3
|
-
## Introduction @unplugged
|
|
3
|
+
## {Introduction @unplugged}
|
|
4
4
|
|
|
5
5
|

|
|
6
6
|
|
|
7
|
-
Use the
|
|
7
|
+
Use the micro:bit 📻 radio to send and receive 💬 messages between micro:bits!
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## {Step 1}
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
From the ``||radio:Radio||`` Toolbox category, drag a ``||radio:radio set group||`` block into the ``||basic:on start||`` block. This will act as the channel over which we'll send messages. Only micro:bits who are in the same group will be able to send and receive messages between them.
|
|
12
12
|
|
|
13
13
|
```blocks
|
|
14
14
|
radio.setGroup(1)
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
##
|
|
17
|
+
## {Step 2}
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
From the ``||input:Input||`` Toolbox category, drag an ``||input:on button A pressed||`` block onto the Workspace.
|
|
20
|
+
|
|
21
|
+
```blocks
|
|
22
|
+
input.onButtonPressed(Button.A, function() {})
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## {Step 3}
|
|
26
|
+
|
|
27
|
+
From the ``||radio:Radio||`` category, drag a ``||radio:radio send string||`` block into the ``||input:on button A pressed||`` block and type a message. When we press button A on our micro:bit, we'll send this message to every micro:bit nearby in group 1.
|
|
21
28
|
|
|
22
29
|
```blocks
|
|
23
30
|
input.onButtonPressed(Button.A, function() {
|
|
24
|
-
radio.sendString("
|
|
31
|
+
radio.sendString("Micro Chat!")
|
|
32
|
+
})
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## {Step 4}
|
|
36
|
+
|
|
37
|
+
From the ``||radio:Radio||`` category, drag an ``||radio:on radio received string||`` block onto the Workspace.
|
|
38
|
+
|
|
39
|
+
```blocks
|
|
40
|
+
radio.onReceivedString(function (receivedString) {
|
|
25
41
|
})
|
|
26
42
|
```
|
|
27
43
|
|
|
28
|
-
##
|
|
44
|
+
## {Step 5}
|
|
29
45
|
|
|
30
|
-
|
|
46
|
+
From the ``||basic:Basic||`` category, get a ``||basic:show string||`` block and drop it in the ``||radio:on radio received string||`` block.
|
|
31
47
|
|
|
32
48
|
```blocks
|
|
33
49
|
radio.onReceivedString(function (receivedString) {
|
|
50
|
+
basic.showString("Hello!");
|
|
34
51
|
})
|
|
35
52
|
```
|
|
36
53
|
|
|
37
|
-
##
|
|
54
|
+
## {Step 6}
|
|
38
55
|
|
|
39
|
-
|
|
56
|
+
Pull the ``||variables:receivedString||`` variable block out of the ``||radio:on received string||`` block and put it into the ``||basic:show string||`` block replacing "Hello!"
|
|
40
57
|
|
|
41
58
|
```blocks
|
|
42
59
|
radio.onReceivedString(function (receivedString) {
|
|
@@ -44,22 +61,26 @@ radio.onReceivedString(function (receivedString) {
|
|
|
44
61
|
})
|
|
45
62
|
```
|
|
46
63
|
|
|
47
|
-
##
|
|
64
|
+
## {Step 7}
|
|
48
65
|
|
|
49
|
-
|
|
66
|
+
Let's test our code! In the micro:bit on-screen simulator, press button **A**. You should see a second @boardname@ appear. Now try pressing **A** again. Do you see your message appear on the second micro:bit? ⭐ Great job! ⭐
|
|
50
67
|
|
|
51
68
|
```blocks
|
|
52
69
|
input.onButtonPressed(Button.A, function() {
|
|
53
|
-
radio.sendString("
|
|
70
|
+
radio.sendString("Micro Chat!");
|
|
54
71
|
})
|
|
55
72
|
radio.onReceivedString(function (receivedString) {
|
|
56
73
|
basic.showString(receivedString);
|
|
57
74
|
})
|
|
58
75
|
```
|
|
59
76
|
|
|
60
|
-
##
|
|
77
|
+
## {Step 8}
|
|
78
|
+
|
|
79
|
+
If you have a @boardname@ device, connect it to your computer and click the ``|Download|`` button. Follow the instructions to transfer your code onto the @boardname@. If you have two micro:bits, download the program to each one. Press button **A** on one and see if the other gets the message!
|
|
80
|
+
|
|
81
|
+
## {Step 9}
|
|
61
82
|
|
|
62
|
-
|
|
83
|
+
Go further - try using different buttons to send a mix of messages 📝, or send secret 🔒 messages to different radio groups!
|
|
63
84
|
|
|
64
85
|
```template
|
|
65
86
|
//
|
|
@@ -47,7 +47,7 @@ input.onButtonPressed(Button.B, () => {
|
|
|
47
47
|
})
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
If the ``||radio:on received number||``
|
|
50
|
+
If the ``||radio:on received number||`` event happens, we add in another conditional ``||logic:if then||`` statement to handle the **frowny** "mood code".
|
|
51
51
|
|
|
52
52
|
```blocks
|
|
53
53
|
radio.onReceivedNumber(function (receivedNumber) {
|
|
@@ -1,39 +1,34 @@
|
|
|
1
1
|
# Name Tag
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Turn your micro:bit into a digital name tag @unplugged
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
See your name in 💡 lights! 💡 Code the micro:bit to scroll your name across the screen.
|
|
6
6
|
|
|
7
7
|

|
|
8
8
|
|
|
9
9
|
## {Step 1}
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Click on the ``||basic:Basic||`` category in the Toolbox.
|
|
12
|
+
Drag a ``||basic:show string||`` block into the ``||basic:forever||`` block.
|
|
13
|
+
Then in the ``||basic:show string||`` block, change the text from "Hello!" to your name.
|
|
12
14
|
|
|
13
15
|
```blocks
|
|
14
16
|
basic.forever(function() {
|
|
15
|
-
basic.showString("
|
|
17
|
+
basic.showString("My Name");
|
|
16
18
|
})
|
|
17
19
|
```
|
|
18
20
|
|
|
19
21
|
## {Step 2}
|
|
20
22
|
|
|
21
|
-
Look at the simulator
|
|
23
|
+
Look at the @boardname@ simulator on the screen. Do you see your name scrolling across? ⭐ Great job! ⭐ You've turned the micro:bit into a digital name tag!
|
|
22
24
|
|
|
23
25
|
## {Step 3}
|
|
24
26
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
```blocks
|
|
28
|
-
basic.forever(function() {
|
|
29
|
-
basic.showString("MICRO")
|
|
30
|
-
basic.showString("<3<3<3")
|
|
31
|
-
})
|
|
32
|
-
```
|
|
27
|
+
If you have a @boardname@ device, connect it to your computer and click the ``|Download|`` button. Follow the instructions to transfer your code onto the @boardname@ and watch your name appear in lights!
|
|
33
28
|
|
|
34
29
|
## {Step 4}
|
|
35
30
|
|
|
36
|
-
|
|
31
|
+
Go further - try adding more ``||basic:show string||`` blocks to create a story! Learn more about how the @boardname@ lights work by watching [this video](https://youtu.be/qqBmvHD5bCw).
|
|
37
32
|
|
|
38
33
|
```template
|
|
39
34
|
basic.forever(function() {})
|
|
@@ -21,7 +21,7 @@ To compute the distance, the engineers relied on the relationship between stride
|
|
|
21
21
|
|
|
22
22
|
[](/static/mb/projects/puma-rs-computer-shoe/patent.pdf)
|
|
23
23
|
|
|
24
|
-
Assuming``T`` is the elapsed time, ``S`` is the number of foot strikes
|
|
24
|
+
Assuming ``T`` is the elapsed time, ``S`` is the number of foot strikes
|
|
25
25
|
and ``A``, ``B`` are constants that have been identified in the calibration phase, the
|
|
26
26
|
speed ``V`` is computed as follows:
|
|
27
27
|
|