Compare commits
201 Commits
Author | SHA1 | Date | |
---|---|---|---|
c9d4807f25 | |||
5f4ff08c09 | |||
b99be68ea5 | |||
c639cc3f83 | |||
cd56181703 | |||
5b1a807443 | |||
e604b27c4f | |||
4727b105c4 | |||
4063b5aac8 | |||
ee8505b4f1 | |||
ab4e2c458a | |||
126c236b14 | |||
532abadb6b | |||
eea179e07c | |||
f94015803f | |||
f085253306 | |||
6de2f22542 | |||
3051e09bcf | |||
bd835a8a6e | |||
f75a034a3f | |||
71b3b6bb22 | |||
b868bd1e09 | |||
02e48f196c | |||
742eb7ea2f | |||
f1904143b6 | |||
e621252f3b | |||
3633d39f57 | |||
21bbf8fc86 | |||
dd5124f660 | |||
966ad1f503 | |||
d94f394d24 | |||
40ddd896cf | |||
5a8815c4fc | |||
9a04eb1790 | |||
906e2a2fff | |||
781339026e | |||
bd23de14e1 | |||
e6ca366d20 | |||
e2ce49d94b | |||
e3b6350785 | |||
66aba696dc | |||
5206f1f8e8 | |||
f9a7ec89e4 | |||
97894511dd | |||
e785ece9bd | |||
63035b3d5c | |||
1f8ea7ad30 | |||
899ca47a77 | |||
84f14182bf | |||
ca3702b4fe | |||
94f1b6c785 | |||
c749c8b644 | |||
b108f1538d | |||
45690215dd | |||
af42dbf30a | |||
45ecd883bb | |||
641a714f74 | |||
d1cd0a23a2 | |||
54331eb113 | |||
d4c53f1fb3 | |||
40305c3ccd | |||
e6761699d3 | |||
b15f140181 | |||
00e38e202b | |||
4cbabcd112 | |||
5def3518cf | |||
2c6f76e1a5 | |||
3eb529852b | |||
3b0cb40ea9 | |||
5cb3467194 | |||
d5628c08c8 | |||
c5c0103573 | |||
b89d6477c7 | |||
f3a6b00734 | |||
091fbb9db8 | |||
3de977c98f | |||
d262dc3704 | |||
b2e59eb676 | |||
f2d5237d5c | |||
0c701a6809 | |||
d571ce85c1 | |||
6fa316ff0e | |||
1e436f4e71 | |||
d54aa41fc9 | |||
0d90aec229 | |||
98ee6899a1 | |||
c3e9ec2dc4 | |||
4cba801d78 | |||
a3d559c7af | |||
985ed56984 | |||
be284c5e52 | |||
d59d7cb19f | |||
28d522175b | |||
7b74428275 | |||
c5571c20c7 | |||
fc97b59d0e | |||
8417d10ad3 | |||
1a6d47a1c9 | |||
d74702353f | |||
53922986b1 | |||
230de475d1 | |||
9b1d2085ba | |||
d4a55bd53d | |||
2b8d8f7b44 | |||
8b2037f51d | |||
1477fc4bed | |||
e4badc18b8 | |||
625d4de530 | |||
a3cf104185 | |||
608f2d8f82 | |||
8f9ac35d70 | |||
ce18ddbb70 | |||
ac64cbb8c5 | |||
706c51c99c | |||
7fa88249d6 | |||
5c735e839e | |||
19752b01b6 | |||
4192eeb413 | |||
87c63959cf | |||
79ee825926 | |||
20dbcfd203 | |||
993952cbe9 | |||
90a8bdcea1 | |||
b9cff5a5e9 | |||
638594bb5e | |||
d3b5809fe7 | |||
365f5dcecf | |||
4c9982051e | |||
655c9c4431 | |||
e328c22a2d | |||
dc9eb26038 | |||
3971bb5fc1 | |||
acfdfd3668 | |||
35edde573e | |||
6d21e28360 | |||
f636a7e37f | |||
c15c3255ef | |||
7f64328079 | |||
b19d7a5b7b | |||
8322310640 | |||
8f6577f029 | |||
a64b3e2b09 | |||
95ed3f419b | |||
8fcc59c9c3 | |||
a83a7f7135 | |||
2f1a7e3896 | |||
b32c14937c | |||
a5e1f84975 | |||
6d0beb1aa3 | |||
26d92f993b | |||
d4c0dddb62 | |||
fa17ce43f7 | |||
b9a9abb478 | |||
ae925da409 | |||
b82c3c0277 | |||
b4ce65cdf3 | |||
db7e8b6fd4 | |||
7532cc01a2 | |||
6725f8ef90 | |||
dea8054fbe | |||
f9cc3d2ee1 | |||
220ada6cd8 | |||
b68b12e6f1 | |||
5838c4d740 | |||
68d25e3814 | |||
06be2019a6 | |||
6a742f5348 | |||
73cf802300 | |||
2b71e2b834 | |||
0442c33808 | |||
2975e6acc9 | |||
df38904ba1 | |||
d744e21975 | |||
81c86f544c | |||
fa145ecd5c | |||
cdfc99ad3f | |||
f77e7b8850 | |||
d71186b083 | |||
852067c641 | |||
7445db5707 | |||
e4fd00c827 | |||
5ccecc1195 | |||
cdfcd30c3c | |||
25b4f46440 | |||
9f9cd6b766 | |||
4dafa4d42c | |||
fdff0a7f19 | |||
a63daed690 | |||
3eeaf2ca46 | |||
005e002fd8 | |||
b1db17fc27 | |||
a51791414c | |||
265dd660ef | |||
7517776492 | |||
29b901b856 | |||
20637aeb29 | |||
90dbc6dd08 | |||
8f99ee3608 | |||
15bbc13595 | |||
cac5df56eb | |||
0c7f9058a7 |
@ -24,24 +24,23 @@ npm install
|
||||
|
||||
### Running
|
||||
|
||||
Run this command to open a local web server:
|
||||
Run this command to open a local web server (add ``sudo`` for Mac/Linux shells)
|
||||
```
|
||||
pxt serve
|
||||
```
|
||||
If the local server opens in the wrong browser, make sure to copy the URL containing the local token.
|
||||
Otherwise, the editor will not be able to load the projects.
|
||||
|
||||
If you need modify the `.cpp` files, turn on yotta compilation with the ``-yt`` flag:
|
||||
If you need modify the `.cpp` files, turn on yotta compilation with the ``-yt`` flag (add ``sudo`` for Mac/Linux shells):
|
||||
```
|
||||
pxt serve -yt
|
||||
```
|
||||
|
||||
To make sure you're running the latest tools, run
|
||||
To make sure you're running the latest tools, run (add ``sudo`` for Mac/Linux shells)
|
||||
```
|
||||
npm update
|
||||
pxt update
|
||||
```
|
||||
|
||||
|
||||
More instructions at https://github.com/Microsoft/pxt#running-a-target-from-localhost
|
||||
|
||||
## Universal Windows App
|
||||
|
@ -34,7 +34,7 @@ Just like Arduino, the micro:bit can be connected to and interact with sensors,
|
||||
The student can program the BBC micro:bit using [visual blocks](http://www.github.com/Google/blockly) or JavaScript.
|
||||
|
||||
```blocks
|
||||
basic.showString("BBC micro:bit!");
|
||||
basic.showString("Hi!");
|
||||
```
|
||||
|
||||
## Compile and Flash
|
||||
@ -54,5 +54,10 @@ The simulator has support for the LED screen, buttons, as well as compass, accel
|
||||
|
||||
The [C++ BBC micro:bit runtime](http://lancaster-university.github.io/microbit-docs/), created at [Lancaster University](http://www.lancaster.ac.uk/), provides access to the hardware functions of the micro:bit,
|
||||
as well as a set of helper functions (such as displaying a number/image/string on the LED screen).
|
||||
|
||||
The JavaScript micro:bit library mirrors the functions of the C++ library.
|
||||
When code is compiled to ARM machine code, the calls to JavaScript micro:bit functions are replaced with calls to the corresponding C++ functions.
|
||||
|
||||
## Open Source
|
||||
|
||||
The editor for the BBC micro:bit is [open source](/open-source) on GitHub. Contributors are welcome!
|
||||
|
@ -1,7 +1,5 @@
|
||||
# micro:bit - the device
|
||||
|
||||
The micro:bit device #docs
|
||||
|
||||
The micro:bit is a very capable device with many components:
|
||||
|
||||
* [the USB connector](/device/usb)
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Error codes
|
||||
|
||||
The micro:bit error codes #docs
|
||||
The micro:bit error codes
|
||||
|
||||
Your micro:bit may encounter a situation that prevents it from running your code. When this happens, a frowny face will appear on your micro:bit screen (see picture) followed by an error number.
|
||||
|
||||
|
@ -1,7 +1,5 @@
|
||||
# The micro:bit - a reactive system
|
||||
|
||||
The micro:bit is a reactive system. #docs
|
||||
|
||||
### Computing systems
|
||||
|
||||
What sort of a *computing system* is the micro:bit?
|
||||
|
@ -11,16 +11,35 @@ input.onButtonPressed(Button.A, () => {
|
||||
})
|
||||
```
|
||||
|
||||
Data is also automatically streamed to serial by the ** bar graph** block
|
||||
and picked up by the editor. This data can be streamed to the cloud as well.
|
||||
|
||||
```blocks
|
||||
basic.forever(() => {
|
||||
led.plotBarGraph(input.acceleration(Dimension.X), 0);
|
||||
});
|
||||
```
|
||||
|
||||
## How to read the micro:bit's serial output from your computer
|
||||
|
||||
Unfortunately, using the serial library requires quite a bit of a setup.
|
||||
|
||||
### BBC micro:bit Chrome Extension
|
||||
|
||||
If you are using the Google Chrome browser, you can use our extension to get serial data streaming in the editor.
|
||||
|
||||
* Install the [Extension for BBC micro:bit](https://chrome.google.com/webstore/detail/extension-for-bbc-microbi/cihhkhnngbjlhahcfmhekmbnnjcjdbge?hl=en-US) on the Chrome Web Store.
|
||||
* Restart Chrome and open the web editor.
|
||||
|
||||
### Windows
|
||||
|
||||
You must install a device driver (for the computer to recognize the serial interface of the micro:bit); then, you must also install a terminal emulator (which is going to connect to the micro:bit and read its output). Here's how to do it:
|
||||
|
||||
* Follow instructions at https://developer.mbed.org/handbook/Windows-serial-configuration in order to install the device driver
|
||||
* Install a terminal emulator; we recommend [Tera Term](https://ttssh2.osdn.jp/index.html.en). At the time of this writing, the latest version is 4.88 and can be downloaded [from here](http://en.osdn.jp/frs/redir.php?m=jaist&f=%2Fttssh2%2F63767%2Fteraterm-4.88.exe). Follow the instructions from the installer.
|
||||
|
||||
#### Windows > Tera Term
|
||||
|
||||
* Install the terminal emulator [Tera Term](https://ttssh2.osdn.jp/index.html.en). At the time of this writing, the latest version is 4.88 and can be downloaded [from here](http://en.osdn.jp/frs/redir.php?m=jaist&f=%2Fttssh2%2F63767%2Fteraterm-4.88.exe). Follow the instructions from the installer.
|
||||
|
||||
Once both the driver and the terminal emulator are installed, plug in the micro:bit and wait until the device is fully setup. Then, open TeraTerm.
|
||||
|
||||
@ -32,7 +51,7 @@ You should be good. Feel free to hit `Setup` > `Save Setup` in the menus to eras
|
||||
|
||||
Please note that Windows will assign you a different COM port if you plug in another micro:bit. If you're juggling between micro:bits, you'll have to change the COM port every time.
|
||||
|
||||
### Alternative Windows setup with Putty
|
||||
#### Windows > Putty
|
||||
|
||||
If you prefer another terminal emulator (such as [PuTTY](http://www.putty.org/)), here are some instructions.
|
||||
|
||||
|
@ -28,6 +28,7 @@ input.onButtonPressed(Button.B, () => {
|
||||
* Browse the [API reference](/reference)
|
||||
* Learn more about the [device](/device)
|
||||
* Get started with [lessons](/lessons)
|
||||
* Frequently Asked Question [faq](/faq)
|
||||
* Follow up with the [release notes](/release-notes)
|
||||
|
||||
### Developers
|
||||
|
6
docs/faq.md
Normal file
@ -0,0 +1,6 @@
|
||||
# Frequently Asked Questions
|
||||
|
||||
## Where can I get a BBC micro:bit?
|
||||
|
||||
More information at [http://uk.farnell.com/bbc-microbit](http://uk.farnell.com/bbc-microbit).
|
||||
|
@ -1,32 +1,21 @@
|
||||
# Getting started
|
||||
|
||||
Are you ready to build cool BBC micro:bit programs? For each challenge, reorder the blocks to recreate the program.
|
||||
## ~avatar
|
||||
|
||||
### Show leds
|
||||
Are you ready to build cool BBC micro:bit programs?
|
||||
|
||||
Use the blocks below to draw a figure on the screen. You can redo the smiley face or try something else!
|
||||
Here are some challenges for you. Unscramble the blocks in the editor
|
||||
to make real programs that work!
|
||||
|
||||
```shuffle
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
. . . . .
|
||||
# . . . #
|
||||
. # # # .
|
||||
`)
|
||||
```
|
||||
## ~
|
||||
|
||||
To transfer your code to the BBC micro:bit,
|
||||
* connect your micro:bit to the computer using the USB cable
|
||||
* click on **Compile**
|
||||
* drag&drop the **.hex** file into the **MICROBIT** drive
|
||||
* wait till the yellow light is done blinking!
|
||||
### Happy face
|
||||
|
||||
### Show animation Forever
|
||||
|
||||
Show one image after the other to create an animation by snapping them together.
|
||||
There are three blocks in the editor (the area to the left).
|
||||
They should look like this:
|
||||
|
||||
```blocks
|
||||
basic.forever(() => {
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
@ -36,25 +25,29 @@ Show one image after the other to create an animation by snapping them together.
|
||||
`)
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
. . . . .
|
||||
. # # # .
|
||||
# . . . #
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
});
|
||||
```
|
||||
|
||||
To transfer your code to the BBC micro:bit,
|
||||
* connect your micro:bit to the computer using the USB cable
|
||||
* click on **Compile**
|
||||
* drag&drop the **.hex** file into the **MICROBIT** drive
|
||||
* wait till the yellow light is done blinking!
|
||||
When you run this program, you will see a smiley face, then a blank
|
||||
screen, then a smiley again -- it never stops! (That's because of the
|
||||
``forever`` block.)
|
||||
|
||||
### Repeat forever
|
||||
Click **Compile** to move your program to the BBC micro:bit!
|
||||
|
||||
Use the ``forever`` block to repeat your code and have a continuous animation.
|
||||
### Happy unhappy face
|
||||
|
||||
Unsuffle the blocks to create a happy, unhappy animation.... or changes the image to make it your own!
|
||||
```shuffle
|
||||
Draw an unhappy face instead of the blank screen. Click on the dots
|
||||
in the second ``show leds`` block until it matches the blocks below.
|
||||
Now you have an **animation** (cartoon) that shows a happy face,
|
||||
then an unhappy one, then a happy one again, forever (or until
|
||||
you turn off your micro:bit)!
|
||||
|
||||
```blocks
|
||||
basic.forever(() => {
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
@ -72,38 +65,117 @@ basic.forever(() => {
|
||||
`)
|
||||
});
|
||||
```
|
||||
Click **Compile** to move your program to the BBC micro:bit!
|
||||
|
||||
### Your turn now!
|
||||
### Your turn!
|
||||
|
||||
Use the blocks ``show leds`` and ``forever``
|
||||
to create your own custom awesome animation!
|
||||
Pile up more ``show leds`` blocks to create your animation! Create an
|
||||
animation with at least 5 pictures. What does this animation show?
|
||||
|
||||
### Button A and B
|
||||
```blocks
|
||||
basic.forever(() => {
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
. . . . .
|
||||
# . . . #
|
||||
. # # # .
|
||||
`)
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
. . . . .
|
||||
# # # # #
|
||||
. . . . .
|
||||
`)
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
. . . . .
|
||||
. # # # .
|
||||
# . . . #
|
||||
`)
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
. . . . .
|
||||
# # # # #
|
||||
. . . # #
|
||||
`)
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
# . # . .
|
||||
. . . . .
|
||||
# . . . #
|
||||
. # # # .
|
||||
`)
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . # . #
|
||||
. . . . .
|
||||
# . . . #
|
||||
. # # # .
|
||||
`)
|
||||
});
|
||||
```
|
||||
Click **Compile** to move your program to the BBC micro:bit!
|
||||
|
||||
Unshuffle the blocks so that the micro:bit shows "YES" when button A is pressed, and "NO" when B is pressed.
|
||||
The key idea is that all the blocks nested under `on button ... pressed` will run when that button is pressed.
|
||||
#### ~hint
|
||||
|
||||
You can find the ``show leds`` block in the **Basic** part of the editor.
|
||||
|
||||
#### ~
|
||||
|
||||
### Button A and button B
|
||||
|
||||
This program will show the word **ANTEATER** on the LED
|
||||
screen when you press button `A`.
|
||||
|
||||
```blocks
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
basic.showString("AAAAA");
|
||||
basic.showString("ANTEATER");
|
||||
});
|
||||
```
|
||||
|
||||
Try to unshuffle those blocks:
|
||||
#### ~hint
|
||||
|
||||
The ``showString`` block can show letters, numbers, and punctuation
|
||||
on the micro:bit screen.
|
||||
|
||||
#### ~
|
||||
|
||||
Now try to unscramble these blocks in the editor so that the micro:bit
|
||||
shows **BANANA** when you press button `B`.
|
||||
|
||||
```shuffle
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
basic.showString("YES");
|
||||
});
|
||||
input.onButtonPressed(Button.B, () => {
|
||||
basic.showString("NO");
|
||||
basic.showString("BANANA");
|
||||
});
|
||||
```
|
||||
#### ~hint
|
||||
|
||||
You can find the letter `B` by clicking the letter `A` on the
|
||||
``onButtonPressed`` block.
|
||||
|
||||
#### ~
|
||||
|
||||
Click **Compile** to move your program to the BBC micro:bit!
|
||||
|
||||
#### Your turn!
|
||||
|
||||
Can you combine these blocks so your program shows your real name
|
||||
instead of **ANTEATER** when you press `A`, but _your secret agent
|
||||
name_ instead of **BANANA** when you press `B`?
|
||||
|
||||
### Shake
|
||||
|
||||
Using the data from the **accelerometer**, it is possible to detect that the BBC micro:bit is being shaken.
|
||||
You can find when someone is shaking the BBC micro:bit by checking its
|
||||
**accelerometer** (it finds whether the micro:bit is speeding up or
|
||||
slowing down).
|
||||
|
||||
Unscramble these blocks in the editor to show a frownie when someone
|
||||
shakes the micro:bit. (Ouch!)
|
||||
|
||||
Unshuffle the code to display a frownie when shaken.
|
||||
```shuffle
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
basic.showLeds(`
|
||||
@ -114,57 +186,317 @@ input.onGesture(Gesture.Shake, () => {
|
||||
# . . . #`);
|
||||
});
|
||||
```
|
||||
|
||||
### Tilting
|
||||
|
||||
Aside from shake, it is also possible to detect tilt left and right, logo up and down or face up and down.
|
||||
Let's build a rock paper scissors game where you turn the micro:bit left to display paper, right to display scissors and down to display rock.
|
||||
|
||||
Unshuffle and try this code on the micro:bit itself!
|
||||
```shuffle
|
||||
input.onGesture(Gesture.TiltLeft, () => {
|
||||
basic.showLeds(`
|
||||
# # # # #
|
||||
# . . . #
|
||||
# . . . #
|
||||
# . . . #
|
||||
# # # # #`);
|
||||
});
|
||||
input.onGesture(Gesture.LogoDown, () => {
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # # # .
|
||||
. # # # .
|
||||
. # # # .
|
||||
. . . . .`);
|
||||
});
|
||||
input.onGesture(Gesture.TiltRight, () => {
|
||||
basic.showLeds(`
|
||||
# # . . #
|
||||
# # . # .
|
||||
. . # . .
|
||||
# # . # .
|
||||
# # . . #`);
|
||||
});
|
||||
```
|
||||
Click **Compile** to move your program to the BBC micro:bit!
|
||||
|
||||
### Pins
|
||||
|
||||
It is possible to use the pins (big metal bar at the bottom of the board) as button. Hold the ``GND`` button with one hand and press the ``0`` pin
|
||||
(called ``P0``) with the other hand to trigger a pin pressed.
|
||||
You can also use the pins as buttons. (The pins are the holes in the
|
||||
metal stripe at the bottom of the micro:bit board.) For example, hold
|
||||
the ``GND`` button with one hand and touch the ``0`` pin (called
|
||||
``P0``) with your other hand to tell the micro:bit you're pressing it.
|
||||
|
||||
Unscramble the blocks in the editor to show a heart when you touch
|
||||
pin ``P0``.
|
||||
|
||||
Unshuffle the blocks to display a smiley when pin ``P0`` is pressed.
|
||||
```shuffle
|
||||
input.onPinPressed(TouchPin.P0, () => {
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
. . . . .
|
||||
# . # . #
|
||||
# . . . #
|
||||
. # # # .`);
|
||||
. # . # .
|
||||
. . # . .`);
|
||||
});
|
||||
```
|
||||
Click **Compile** to move your program to the BBC micro:bit!
|
||||
|
||||
## ~hint
|
||||
|
||||
Try this experiment: find a friend and hold hands. Touch the ``GND``
|
||||
pin while your friend presses the ``P0`` pin. You should see the
|
||||
heart! The electric current is going through your bodies and across
|
||||
your handshake to make it happen!
|
||||
|
||||
## ~
|
||||
|
||||
## The amazing coin flipper
|
||||
|
||||
### ~avatar avatar
|
||||
|
||||
Are you trying to choose whether to play soccer or go to the movies
|
||||
instead, or which toppings to have on your pizza? Build a coin
|
||||
flipping machine with the BBC micro:bit to choose for you!
|
||||
|
||||
### ~
|
||||
|
||||
Here are the blocks to make your coin flipper. When you press button
|
||||
`B`, the coin flipper will show either `H` for heads or `T` for tails
|
||||
on the LED screen.
|
||||
|
||||
```blocks
|
||||
input.onButtonPressed(Button.B, () => {
|
||||
if (Math.randomBoolean()) {
|
||||
basic.showString("H");
|
||||
} else {
|
||||
basic.showString("T");
|
||||
}
|
||||
});
|
||||
```
|
||||
### ~hint
|
||||
|
||||
The ``pick random true or false`` block randomly tells the ``if``
|
||||
block `true` or `false`. If the ``pick`` block picked `true`, the
|
||||
``if`` block shows the letter `H`. Otherwise, it shows the letter `T`.
|
||||
|
||||
That's it!
|
||||
|
||||
### ~
|
||||
|
||||
### Keeping score
|
||||
|
||||
#### ~avatar
|
||||
|
||||
To keep track out of how many guesses you've won,
|
||||
add these blocks to your coin flipper:
|
||||
|
||||
#### ~
|
||||
|
||||
```blocks
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
game.addScore(1);
|
||||
});
|
||||
input.onButtonPressed(Button.AB, () => {
|
||||
basic.showNumber(game.score());
|
||||
});
|
||||
```
|
||||
|
||||
### Your turn now!
|
||||
These blocks mean that if you press button `A`, you will add `1` to
|
||||
your score, and if you press `A` and `B` together, the micro:bit will
|
||||
show your score.
|
||||
|
||||
Use the screen, buttons, gestures, pins to create a fun game using the micro:bit.
|
||||
When you're done, your coin flipping program should look like this:
|
||||
|
||||
```blocks
|
||||
input.onButtonPressed(Button.B, () => {
|
||||
if (Math.randomBoolean()) {
|
||||
basic.showString("H");
|
||||
} else {
|
||||
basic.showString("T");
|
||||
}
|
||||
});
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
game.addScore(1);
|
||||
});
|
||||
input.onButtonPressed(Button.AB, () => {
|
||||
basic.showNumber(game.score());
|
||||
});
|
||||
```
|
||||
|
||||
Flip until your thumbs get tired!
|
||||
|
||||
## Let's play Rock Paper Scissors!
|
||||
|
||||
### ~avatar avatar
|
||||
|
||||
Build a Rock Paper Scissors game with the BBC micro:bit! You can play
|
||||
the game with a friend who has it on a micro:bit. You can also play
|
||||
it with friends who are just using their hands. (The game is built
|
||||
like a coin flipper, but with three choices instead of two.)
|
||||
|
||||
### ~
|
||||
|
||||
## Step 1: Getting started
|
||||
|
||||
We want the micro:bit to choose rock, paper, or scissors when you
|
||||
shake it. Try creating an ``on shake`` block so when you shake the
|
||||
micro:bit, it will run part of a program.
|
||||
|
||||
Clear up the blocks and add the blocks below.
|
||||
|
||||
```blocks
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
|
||||
})
|
||||
```
|
||||
|
||||
Next, when you shake the micro:bit, it should pick a random number from `0` to `2`
|
||||
and store it in the variable `item`.
|
||||
|
||||
Add a ``set`` block with a variable. Then add a ``pick random`` block,
|
||||
and store the random number in the variable,
|
||||
like this:
|
||||
|
||||
```blocks
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
let item = Math.random(3)
|
||||
})
|
||||
|
||||
```
|
||||
|
||||
### ~hint
|
||||
No one can predict random numbers. That's what makes them great for Rock Paper Scissors!
|
||||
### ~
|
||||
|
||||
Each possible number these blocks can make (`0`, `1`, or `2`) means a different picture.
|
||||
We will show the right picture for that number on the LED screen.
|
||||
|
||||
|
||||
## Step 2: Picking paper
|
||||
|
||||
Put an ``if`` block after the ``let`` block that checks whether
|
||||
`item` is `0`. Make sure the ``if`` block has an ``else if`` part
|
||||
and an ``else`` part.
|
||||
|
||||
Next, add a ``show leds`` block that shows a
|
||||
picture of a piece of paper:
|
||||
|
||||
```blocks
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
let item = Math.random(3)
|
||||
if (item == 0) {
|
||||
basic.showLeds(`
|
||||
# # # # #
|
||||
# . . . #
|
||||
# . . . #
|
||||
# . . . #
|
||||
# # # # #
|
||||
`)
|
||||
} else if (false) {
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
## Step 3: A random rock
|
||||
|
||||
Now we are going to add a new picture for the micro:bit to show
|
||||
when another random number comes up.
|
||||
|
||||
Make the ``else if`` part check if the variable `item` is `1`.
|
||||
Then add a ``show leds`` block with a picture of a rock.
|
||||
|
||||
```blocks
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
let item = Math.random(3)
|
||||
if (item == 0) {
|
||||
basic.showLeds(`
|
||||
# # # # #
|
||||
# . . . #
|
||||
# . . . #
|
||||
# . . . #
|
||||
# # # # #
|
||||
`)
|
||||
} else if (item == 1) {
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # # # .
|
||||
. # # # .
|
||||
. # # # .
|
||||
. . . . .
|
||||
`)
|
||||
} else {
|
||||
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
## Step 4: Suddenly scissors
|
||||
|
||||
Add a ``show leds`` block with a picture of scissors to the ``else`` part:
|
||||
|
||||
```blocks
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
let item = Math.random(3)
|
||||
if (item == 0) {
|
||||
basic.showLeds(`
|
||||
# # # # #
|
||||
# . . . #
|
||||
# . . . #
|
||||
# . . . #
|
||||
# # # # #
|
||||
`)
|
||||
|
||||
} else if (item == 1) {
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # # # .
|
||||
. # # # .
|
||||
. # # # .
|
||||
. . . . .
|
||||
`)
|
||||
} else {
|
||||
basic.showLeds(`
|
||||
# # . . #
|
||||
# # . # .
|
||||
. . # . .
|
||||
# # . # .
|
||||
# # . . #
|
||||
`)
|
||||
}
|
||||
})
|
||||
|
||||
```
|
||||
|
||||
### ~hint
|
||||
|
||||
You don't need to check if `item` is `2` because `2` is the only number left out of `0`, `1`, and `2`.
|
||||
That's why you can use an ``else`` instead of an ``else if``.
|
||||
|
||||
### ~
|
||||
|
||||
Your game is ready!
|
||||
|
||||
Click **Compile** to move your program to the BBC micro:bit!
|
||||
|
||||
Have fun!
|
||||
|
||||
## Step 5: Are you the greatest?
|
||||
|
||||
Here is a way you can make your Rock Paper Scissors game better.
|
||||
When button ``A`` is pressed,
|
||||
the micro:bit will add `1` to your score.
|
||||
|
||||
Open the ``Game`` drawer, and then add the block ``change score by 1`` to your program,
|
||||
like this:
|
||||
|
||||
```blocks
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
game.addScore(1)
|
||||
})
|
||||
|
||||
```
|
||||
|
||||
## Step 6: Prove you're the greatest!
|
||||
|
||||
After your micro:bit can add `1` to the score, show how many wins you have.
|
||||
|
||||
```blocks
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
game.addScore(1)
|
||||
basic.showString("WINS:")
|
||||
basic.showNumber(game.score())
|
||||
})
|
||||
```
|
||||
## Step 7: Staying honest
|
||||
|
||||
Success! Your micro:bit can track wins!
|
||||
But what about losses?
|
||||
Use the ``Game`` drawer to subtract `1` from your score when you press button `B`.
|
||||
|
||||
Here are all the blocks you will need:
|
||||
|
||||
```shuffle
|
||||
input.onButtonPressed(Button.B, () => {
|
||||
game.addScore(-1)
|
||||
basic.showString("LOSSES:")
|
||||
basic.showNumber(game.score())
|
||||
})
|
||||
```
|
||||
Click **Compile** to move your program to the BBC micro:bit!
|
||||
|
||||
## Your turn!
|
||||
|
||||
How else can you make your game better?
|
||||
Ever hear of [Rock Paper Scissors Spock Lizard](http://www.samkass.com/theories/RPSSL.html)?
|
||||
|
@ -59,6 +59,7 @@
|
||||
|
||||
## Science
|
||||
* [Charting](/lessons/charting), measure and chart acceleration
|
||||
* [Seismograph](/lessons/seismograph), create a seismograph with household items
|
||||
|
||||
## Advanced
|
||||
* [Prank WiFi](/lessons/prank-wifi), create fake WiFi to trick your friends
|
||||
@ -70,4 +71,4 @@
|
||||
|
||||
### @section full
|
||||
|
||||
The lessons promote computational thinking and computer science literacy[ read more...](/lessons/teach)
|
||||
The lessons promote computational thinking and computer science literacy.
|
48
docs/lessons/beautiful-image/tutorial.md
Normal file
@ -0,0 +1,48 @@
|
||||
# beautiful image blocks challenges
|
||||
|
||||
Beautiful Image tutorial.
|
||||
|
||||
### ~avatar avatar
|
||||
|
||||
### @video td/videos/beautiful-image-0
|
||||
|
||||
Rebuild the game!
|
||||
|
||||
The blocks have been shuffled! Put them back together so that…
|
||||
|
||||
* display images on the screen with show LEDs
|
||||
|
||||
|
||||
```shuffle
|
||||
basic.showLeds(`
|
||||
# # # # #
|
||||
# # . # #
|
||||
# . # . #
|
||||
# # . # #
|
||||
# # # # #
|
||||
`)
|
||||
basic.showLeds(`
|
||||
# . # . #
|
||||
. # # # .
|
||||
. . # . .
|
||||
. # # # .
|
||||
# . # . #
|
||||
`)
|
||||
basic.pause(100)
|
||||
```
|
||||
|
||||
Hints and tips
|
||||
|
||||
Cut out these documentation cards to help you!
|
||||
|
||||
```cards
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
basic.pause(100)
|
||||
|
||||
```
|
@ -1,6 +1,6 @@
|
||||
# blocks - if statements
|
||||
|
||||
An introduction to conditions for the Block Editor. #docs
|
||||
An introduction to conditions for the Block Editor.
|
||||
|
||||
## Introduction to conditions
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# bop it challenges
|
||||
|
||||
a game similar to "Simon Says" with the BBC micro:bit. #docs
|
||||
a game similar to "Simon Says" with the BBC micro:bit.
|
||||
|
||||
## Before we get started
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# blocks - challenges
|
||||
|
||||
Extra stuff for the Block Editor - an introduction to GPIO #docs
|
||||
Extra stuff for the Block Editor - an introduction to GPIO
|
||||
|
||||
## Before we get started
|
||||
|
||||
|
@ -7,7 +7,7 @@ Create a charting app for simulating and measuring the acceleration applied to t
|
||||
Acceleration
|
||||
|
||||
## Quick Links
|
||||
* [activity](/lessons/charting/acceleration)
|
||||
* [activity](/lessons/charting/activity)
|
||||
* [challenge](/lessons/charting/challenge)
|
||||
* [quiz](/lessons/charting/quiz)
|
||||
* [answers](/lessons/charting/quiz-answers)
|
||||
|
@ -13,7 +13,6 @@ Let's measure `acceleration (mg)` in the "x" direction. Get the acceleration val
|
||||
|
||||
```blocks
|
||||
input.acceleration(Dimension.X)
|
||||
|
||||
```
|
||||
|
||||
### ~
|
||||
@ -41,7 +40,7 @@ Vigorously move the micro:bit in the micro:bit simulatator by moving the micro:b
|
||||
|
||||
We want to chart the data collected by using a tool in Excel.
|
||||
|
||||
The final part of this experiment is opening and reviewing the data in the Excel CSV file. Simply click on the line beneath the simulator. A CSV file will be generated to display the data points collected by moving the micro:bit in the X direction. Then click or tap on the data Excel file that was downloaded to your local Downloads Folder.
|
||||
The final part of this experiment is opening and reviewing the data in the Excel CSV file. Simply click on the line beneath the simulator. A CSV file will be generated to display the data points collected by moving the micro:bit in the X direction. Then click or tap on the data Excel file that was downloaded to your local ``Downloads`` Folder.
|
||||
|
||||
|
||||
### ~
|
||||
@ -57,29 +56,13 @@ Use the Recommended Charts command on the Insert tab to quickly create a chart t
|
||||
|
||||
* Click Insert > Recommended Charts.
|
||||
|
||||

|
||||

|
||||
|
||||
* On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data.
|
||||
|
||||
Click any 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. 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.
|
||||
|
||||
Tip: If you don’t see a chart type that you want, click the All Charts tab to see all of the available chart types.
|
||||
|
||||

|
||||
|
||||
* 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
|
||||
|
||||

|
||||
|
||||
* Connect a micro:bit to your computer using your USB cable; compile; and repeat this experiment by moving the micro:bit in the "x" direction. Then collect and chart the data on Excel.
|
||||
* Review and analyze the actual micro:bit device data on Excel
|
||||
* Display acceleration with y or z using plot bar graph by changing acceleration from "x" to "y" or "z"
|
||||
* On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data. Pick the **scatter plot**.
|
||||
|
||||
### ~avatar avatar
|
||||
|
||||
Excellent, you're ready to continue with the [challenges](/lessons/charting/acceleration-challenge)
|
||||
Excellent, you're ready to continue with the [challenges](/lessons/charting/challenge)
|
||||
|
||||
### ~
|
||||
|
||||
|
@ -2,7 +2,8 @@
|
||||
|
||||
### ~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. Let's get started!
|
||||
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 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.
|
||||
@ -52,7 +53,7 @@ Notice that moving the micro:bit the farthest direction in the x direction will
|
||||
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 simulatation 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.
|
||||
|
||||

|
||||
|
||||
@ -67,15 +68,9 @@ Use the Recommended Charts command on the Insert tab to quickly create a chart t
|
||||
|
||||
* Click Insert > Recommended Charts.
|
||||
|
||||

|
||||

|
||||
|
||||
* On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data.
|
||||
|
||||
Click any 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. 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.
|
||||
|
||||
Tip: If you don’t see a chart type that you want, click the All Charts tab to see all of the available chart types.
|
||||
* On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data. Pick the **scatter plot**.
|
||||
|
||||

|
||||
|
||||
@ -91,4 +86,3 @@ Have fun reviewing your simulation and analyze the acceleration by chart the Exc
|
||||
* 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
|
||||
* Display acceleration with y or z using plot bar graph by changing acceleration from "x" to "y" or "z"
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# game of chance blocks lesson
|
||||
|
||||
create an answering machine on the BBC micro:bit #docs
|
||||
create an answering machine on the BBC micro:bit
|
||||
|
||||
## Topic
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# blocks - rendering graphics
|
||||
|
||||
An introduction to graphics for the Block Editor. #docs
|
||||
An introduction to graphics for the Block Editor.
|
||||
|
||||
## Before we get started
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# blocks - loops
|
||||
|
||||
An introduction to Loops for the Block Editor. #docs
|
||||
An introduction to Loops for the Block Editor.
|
||||
|
||||
We may want to handle the user’s input multiple times or remain waiting for their input for a long time. We use loops to make sure that our code runs multiple times. These can be found in the **Loops** drawer.
|
||||
|
||||
|
31
docs/lessons/lucky-7/tutorial.md
Normal file
@ -0,0 +1,31 @@
|
||||
# lucky 7 blocks challenges
|
||||
|
||||
Coding challenges for lucky 7.
|
||||
|
||||
###~ Avatar
|
||||
|
||||
### @video td/videos/lucky-7-1-2
|
||||
|
||||
### Rebuild the game!
|
||||
|
||||
The blocks have been shuffled! Put them back together so that…
|
||||
* The blocks should be multiples of 7 and a pause between the numbers
|
||||
|
||||
```shuffle
|
||||
basic.showNumber(7)
|
||||
basic.pause(500)
|
||||
basic.showNumber(14)
|
||||
```
|
||||
|
||||
### Hints and tips
|
||||
|
||||
Cut out these documentation cards to help you!
|
||||
|
||||
```cards
|
||||
basic.showNumber()
|
||||
basic.pause()
|
||||
```
|
||||
|
||||
* Run the code to see if it works as expected.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# offset image challenges
|
||||
|
||||
Coding challenges for the offset image tutorial. #docs
|
||||
Coding challenges for the offset image tutorial.
|
||||
|
||||
## Before we get started
|
||||
|
@ -1,8 +1,6 @@
|
||||
# prank wifi lesson
|
||||
|
||||
create a fake wifi app to trick your friends.
|
||||
|
||||
create a fake wifi app to trick your friends
|
||||
Create a fake wifi app to trick your friends
|
||||
|
||||
* [activity](/lessons/prank-wifi/activity)
|
||||
* [quiz](/lessons/prank-wifi/quiz)
|
||||
|
@ -1,6 +1,6 @@
|
||||
# prank wifi challenges
|
||||
|
||||
create a fake wifi app to trick your friends. #docs
|
||||
create a fake wifi app to trick your friends.
|
||||
|
||||
## Before we get started
|
||||
|
||||
|
@ -1,8 +1,6 @@
|
||||
# rock paper scissors lesson
|
||||
|
||||
a game against the BBC micro:bit.
|
||||
|
||||
|
||||
A game against the BBC micro:bit.
|
||||
|
||||
## Topic
|
||||
|
||||
|
@ -20,6 +20,7 @@ Learn how to create images that look like a rotating animation by using a while
|
||||
## Documentation
|
||||
|
||||
```cards
|
||||
while (true) {}
|
||||
let x = 0
|
||||
input.onButtonPressed(Button.A, () => {})
|
||||
basic.showLeds(`
|
||||
@ -30,7 +31,6 @@ basic.showLeds(`
|
||||
. . . . .
|
||||
`)
|
||||
basic.pause(100)
|
||||
while (true) {}
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
@ -1,8 +1,6 @@
|
||||
# screen wipe blocks lesson
|
||||
|
||||
clear the screen by pressing button "A".
|
||||
|
||||
|
||||
Clear the screen by pressing button "A".
|
||||
|
||||
## Topic
|
||||
|
||||
|
@ -4,7 +4,7 @@ Coding challenges for screen wipe.
|
||||
|
||||
## Before we get started
|
||||
|
||||
Complete the [screen wipe](/lessons/screen-wipe) activity and your code will look like this:
|
||||
Complete the [screen wipe](/lessons/screen-wipe/activity) activity and your code will look like this:
|
||||
|
||||
```blocks
|
||||
basic.showLeds(`
|
||||
|
@ -9,7 +9,7 @@ Acceleration & Analog Read Pin
|
||||
## Quick Links
|
||||
|
||||
* [activity](/lessons/seismograph/activity)
|
||||
* [challenge](/lessons/seismograph/challenges)
|
||||
* [challenge](/lessons/seismograph/challenge)
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
@ -18,11 +18,12 @@ Learn how to **show LEDs** to turn on a LED light pattern on the LED screen. We
|
||||
## Documentation
|
||||
|
||||
```cards
|
||||
basic.forever(() => {
|
||||
});
|
||||
led.plotBarGraph(input.acceleration(Dimension.Strength) - 1023, 0);
|
||||
led.plotBarGraph(pins.analogReadPin(AnalogPin.P0), 0);
|
||||
|
||||
basic.forever(() => {});
|
||||
radio.sendNumber(0);
|
||||
input.acceleration(Dimension.Strength)
|
||||
radio.onDataReceived(() => {});
|
||||
led.plotBarGraph(0, 0);
|
||||
radio.receiveNumber();
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
@ -1,53 +1,56 @@
|
||||
# Seismograph Activity
|
||||
|
||||
Welcome! In this project, you will build your own seismograph. This activity will teach how to use the micro:bit to chart the strength of the acceleration. Let's get started! Project duration: 25 minutes.
|
||||
|
||||
### ~avatar avatar
|
||||
|
||||
In this project, you will build your own seismograph.
|
||||
Engineering: In this project, you will build your own seismograph micro:bit from tape and a household plate.
|
||||
|
||||
### ~
|
||||
|
||||
## What you'll need:
|
||||
|
||||
* micro:bit
|
||||
* USB cable
|
||||
* BBC micro:bit
|
||||
* micro USB cable
|
||||
* Plate
|
||||
* Tape
|
||||
* Scissors
|
||||
* Glue gun
|
||||
* String
|
||||
* Cup (Plastic or Paper)
|
||||
* Magnet
|
||||
|
||||
Welcome! This activity will teach how to use the micro:bit to chart the strength of the acceleration. Let's get started!
|
||||

|
||||
|
||||
1. Setup Cup: Use scissors to cut a usable window on the cup, which will be a square sized hole at the lid side of the cup. Use scissors to create a small hole in the center of the base of the cup.
|
||||
# Engineering Steps
|
||||
|
||||
2. Fasten Magnet: Fasten end of the string to the magnet with glue
|
||||
## 1.
|
||||
|
||||
3. Secure String: Fasten string to base of the cup and hang the remaining string outside the base of the cup.
|
||||
Prepare Tape: Measure and cut approximately 10mm of tape. The tape will be fastened to a micro USB cable.
|
||||
|
||||

|
||||
|
||||
## 2.
|
||||
|
||||
Fasten Tape: Fasten tape to the micro USB cable and to the plate. Attach the micro:bit to the micro:bit USB cable.
|
||||
|
||||

|
||||
|
||||
### ~avatar avatar
|
||||
|
||||
Seismograph built, let's code!
|
||||
Computer Science: The seismograph has been built. We are ready to program the micro:bit to be a seismograph!
|
||||
|
||||
### ~
|
||||
|
||||
4. Go to Codemicrobit.com
|
||||
|
||||
Click or tap Create Code
|
||||
Click or tap Block Editor
|
||||
# Programming Steps
|
||||
|
||||
### ~
|
||||
## 3.
|
||||
|
||||
5.
|
||||
|
||||
We will measure `acceleration (mg)` in terms of strength. Get the acceleration value (milli g-force), as measured in strength.
|
||||
We will measure `acceleration (mg)` in terms of strength or Magnitude.
|
||||
|
||||
```blocks
|
||||
input.acceleration(Dimension.Strength);
|
||||
```
|
||||
|
||||
### ~
|
||||
## 4.
|
||||
|
||||
6.
|
||||
|
||||
Use the plot bar chart to visualize the acceleration on the LED screen of the micro:bit in the specified range. You implement plot Bar Graph to display a vertical bar graph based on the "value" and "high" value. Then you must insert acceleration in based on strength.
|
||||
Use the plot bar chart to visualize the acceleration on the LED screen. Use a forever to keep reading the acceleration value and displaying it on the screen.
|
||||
|
||||
```blocks
|
||||
basic.forever(() => {
|
||||
@ -56,11 +59,9 @@ basic.forever(() => {
|
||||
|
||||
```
|
||||
|
||||
### ~
|
||||
## 6.
|
||||
|
||||
7.
|
||||
|
||||
Finally, we subtract the gravity from acceleration strength.
|
||||
At rest, the micro:bit is always subject to Earth gravity, whose magnitude is measured around ``1023``. Substract ``1023`` to measure a data close to ``0``.
|
||||
|
||||
```blocks
|
||||
basic.forever(() => {
|
||||
@ -71,76 +72,113 @@ basic.forever(() => {
|
||||
|
||||
### ~
|
||||
|
||||
8.
|
||||
|
||||
Notice that making vibrating the object below the micro:bit changes the values and the line appears as a wave to display the value of the strength as measured in milli-gravities. By making the object below the micro:bit vibrate, you will observe changing values of the micro:bit. Also, the LEDs shown on the Bar Graph fluctates based on the movement of the micro:bit strength.
|
||||
|
||||
NOTE: The black color reflects the micro:bit device.
|
||||
|
||||

|
||||
### ~avatar avatar
|
||||
|
||||
Data Analysis: We now need to use the micro:bit to Analyze Data and chart for the strength of the acceleration.
|
||||
|
||||
### ~
|
||||
|
||||
9.
|
||||
# Data Analysis Steps
|
||||
|
||||
## 7.
|
||||
|
||||
First, notice that moving the micro:bit in the simulator in any direction, you will change the acceleration value, which is being displayed as the same color as the micro:bit simulator. Also, notice that by moving the micro:bit simulator, there is a changing acceleration value. Second, the flat colored horizontal line will start a waving line 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 micro:bit simulator.
|
||||
|
||||

|
||||
|
||||
## 8.
|
||||
|
||||
Vigorously move the micro:bit in the micro:bit simulatator by moving the micro:bit image from side to side. Every time the micro:bit moves in the x direction in the simulator, you are generating data points that can be reviewed in Excel. The more attempts to move the micro:bit from side to side, the more data being saved in Excel. After you have vigarously moved the micro:bit simulator from side to side for a sufficient amount of time, you are ready to graph or chart the accceleration of the micro:bit. We want a printout of our acceleration on Excel that can be graphed in Excel.
|
||||
Connect a micro:bit to your computer using your USB cable
|
||||
|
||||

|
||||
|
||||
Click or tap the compile button for the seismograph program to run the program on the micro:bit.
|
||||
|
||||

|
||||
|
||||
## 9.
|
||||
|
||||
A black line should appear directly beneath the colored line. The black line measures the micro:bit acceleration. And the colored line measures micro:bit simulator acceleration.
|
||||
|
||||
Run the acceleration experiment by vigarously moving the plate in any direction or move the object below the micro:bit (such as a table).
|
||||
|
||||
Every time the micro:bit moves in any direction, you generate data points that can be reviewed in Excel later. The more attempts to move the micro:bit, the more data to be reviewed in Excel.
|
||||
|
||||

|
||||
|
||||
## 10.
|
||||
|
||||
Please find seismogrph experiment obervations:
|
||||
|
||||
First, notice that moving the micro:bit in any direction, you will change the acceleration value, which is being displayed as a milli-gravities value. By moving the micro:bit, there will be a changing acceleration value.
|
||||
|
||||

|
||||
|
||||
Second, the horizontal line will move to plot the value of the strength as measured in milli-gravities. The horizontal line's movement is based on the micro:bit acceleration in Magnitude or Strength.
|
||||
|
||||

|
||||
|
||||
Third, notice that the LED display fluctates based on the movement of the micro:bit.
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||
## 11.
|
||||
|
||||
In order to receive the the data plotted by Excel, click or tap anywhere in the on the chart data.
|
||||
|
||||

|
||||
|
||||
## 12.
|
||||
|
||||
You have two options to Analyze Data:
|
||||
|
||||
* 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.
|
||||
|
||||
Click or tap Download data
|
||||
|
||||

|
||||
|
||||
## 13.
|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
## 14.
|
||||
|
||||
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
|
||||
|
||||
|
||||
### ~
|
||||
## 15.
|
||||
|
||||
10.
|
||||
Click or tap on Insert then select Recommended Charts. We can select a chart that’s just right for the data.
|
||||
|
||||
We want to chart the data collected by using a tool in Excel.
|
||||

|
||||
|
||||
The final part of this experiment is opening and reviewing the data in the Excel CSV file. Simply click on the line beneath the simulator. A CSV file will be generated to display the data points collected by moving the micro:bit in the X direction. Then click or tap on the data Excel file that was downloaded to your local Downloads Folder.
|
||||
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.
|
||||
|
||||
### ~
|
||||
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.
|
||||
|
||||
10.
|
||||

|
||||
|
||||
Tip: If you don’t see the line chart, click the All Charts tab to see the line chart.
|
||||
|
||||
First, click or tap on the first two columns (A, B) to include the time of the data being collected; b) the results of acceleration data on the micro:bit
|
||||
## 16.
|
||||
|
||||

|
||||
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 Recommended Charts command on the Insert tab to quickly create a chart that’s just right for your data.
|
||||
Alternatively, click or tap on the Design Ribbon.
|
||||
|
||||
* Select the data that you want to include in your chart.
|
||||
Let's select Style 10 as an example.
|
||||
|
||||
* Click Insert > Recommended Charts.
|
||||
|
||||
### ~
|
||||
|
||||
11.
|
||||
|
||||
|
||||

|
||||
|
||||
* On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data.
|
||||
|
||||
Click any 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. 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.
|
||||
|
||||
Tip: If you don’t see a chart type that you want, click the All Charts tab to see all of the available chart types.
|
||||
|
||||
### ~
|
||||
|
||||
12.
|
||||
|
||||

|
||||
|
||||
* 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
|
||||
|
||||
### ~
|
||||
|
||||
13.
|
||||
|
||||

|
||||
|
||||
* Connect a micro:bit to your computer using your USB cable; compile; and repeat this experiment by vibrating the micro:bit. Then chart the data on Excel.
|
||||

|
||||
|
||||
### ~avatar avatar
|
||||
|
||||
|
@ -1,94 +1,198 @@
|
||||
# Challenge
|
||||
# Seismograph Challenge
|
||||
|
||||
### ~avatar avatar
|
||||
Coding challenges for the seismograph.
|
||||
|
||||
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!
|
||||
|
||||
### ~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.
|
||||
|
||||
### ~
|
||||
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.
|
||||
|
||||
```blocks
|
||||
radio.sendNumber(input.acceleration(Dimension.X));
|
||||
```
|
||||
### ~
|
||||
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.
|
||||
## What you'll need:
|
||||
|
||||
* BBC micro:bits (2)
|
||||
* micro USB cables (2)
|
||||
* Plate
|
||||
* Tape
|
||||
* Scissors
|
||||
|
||||

|
||||
|
||||
## Before we get started
|
||||
|
||||
Complete the [seismograph](/lessons/seismograph/activity) activity and your code will look like this:
|
||||
|
||||
```blocks
|
||||
basic.forever(() => {
|
||||
radio.sendNumber(input.acceleration(Dimension.X));
|
||||
led.plotBarGraph(input.acceleration(Dimension.Strength) - 1023, 0);
|
||||
});
|
||||
|
||||
```
|
||||
|
||||
### ~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 Steps
|
||||
|
||||
## 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.
|
||||
|
||||
```shuffle
|
||||
basic.forever(() => {
|
||||
led.plotBarGraph(input.acceleration(Dimension.Strength) - 1023, 0);
|
||||
});
|
||||
|
||||
```
|
||||
### ~
|
||||
We want to register code to run when a packet is received over radio. We can implement this code by adding `on data received`.
|
||||
|
||||
## 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.
|
||||
|
||||
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:
|
||||
|
||||
```blocks
|
||||
radio.sendNumber(input.acceleration(Dimension.Strength) - 1023);
|
||||
```
|
||||
|
||||
## 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.
|
||||
|
||||
Your finished code will look like this:
|
||||
|
||||
```blocks
|
||||
basic.forever(() => {
|
||||
radio.sendNumber(input.acceleration(Dimension.X))
|
||||
})
|
||||
radio.onDataReceived(() => {
|
||||
|
||||
})
|
||||
radio.sendNumber(input.acceleration(Dimension.Strength) - 1023);
|
||||
});
|
||||
|
||||
```
|
||||
### ~
|
||||
|
||||
## 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.
|
||||
|
||||
Your finished code will look like this:
|
||||
|
||||
```blocks
|
||||
basic.forever(() => {
|
||||
radio.sendNumber(input.acceleration(Dimension.Strength) - 1023);
|
||||
});
|
||||
radio.onDataReceived(() => {
|
||||
});
|
||||
|
||||
```
|
||||
|
||||
## 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.
|
||||
|
||||
Your finished code will look like this:
|
||||
|
||||
```blocks
|
||||
basic.forever(() => {
|
||||
radio.sendNumber(input.acceleration(Dimension.X))
|
||||
})
|
||||
radio.sendNumber(input.acceleration(Dimension.Strength) - 1023);
|
||||
});
|
||||
radio.onDataReceived(() => {
|
||||
led.plotBarGraph(radio.receiveNumber(), 1023)
|
||||
})
|
||||
|
||||
led.plotBarGraph(radio.receiveNumber(), 0);
|
||||
});
|
||||
```
|
||||
### ~
|
||||
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.
|
||||
|
||||

|
||||
|
||||
### ~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!
|
||||
### ~
|
||||
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
|
||||
|
||||
# Science Steps
|
||||
|
||||
## 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.
|
||||
|
||||

|
||||
|
||||
## 7.
|
||||
|
||||
### ~
|
||||
After running this simulatation 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.
|
||||
Connect the 2nd micro:bit to your computer using your USB cable. We should have two micro:bit devices attached to the computer.
|
||||
|
||||

|
||||
|
||||
## 8.
|
||||
|
||||
Click or tap the compile button for the seismograph program to run the program on the 1st micro:bit and 2nd micro:bit.
|
||||
|
||||
## 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.
|
||||
|
||||

|
||||
|
||||
Run the acceleration experiment by vigarously moving the plate in any direction or move the object below the micro:bit (such as a table).
|
||||
|
||||

|
||||
|
||||
Every time the micro:bit moves in any direction, you generate data points that can be reviewed in Excel later. The more attempts to move the micro:bit, the more data to be reviewed in Excel. Notice that the LED on the 2nd micro:bit changes to communicate the movement of the 1st micro:bit.
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||
In order to receive the the data plotted by Excel, click or tap anywhere in the on the chart data.
|
||||
|
||||

|
||||
|
||||
## 11.
|
||||
|
||||
You have two options to Analyze Data:
|
||||
|
||||
* 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.
|
||||
|
||||
Click or tap Download data
|
||||
|
||||

|
||||
|
||||
## 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.
|
||||
|
||||

|
||||
|
||||
## 13.
|
||||
|
||||
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.
|
||||
|
||||
## 14.
|
||||
|
||||
Click or tap on Insert then select Recommended Charts. We can select a chart that’s just right for the 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.
|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
Tip: If you don’t see the line chart, click the All Charts tab to see the line chart.
|
||||
|
||||
## 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
|
||||
|
||||
Alternatively, click or tap on the Design Ribbon.
|
||||
|
||||
Let's select Style 10 as an example.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### ~
|
||||
Finally, you must open the Excel CSV file by clicking on the data.xls file that was downloaded to Downloads Folder.
|
||||
|
||||

|
||||
|
||||
Use the Recommended Charts command on the Insert tab to quickly create a chart that’s just right for your data.
|
||||
|
||||
* Select the data that you want to include in your chart.
|
||||
|
||||
* Click Insert > Recommended Charts.
|
||||
|
||||

|
||||
|
||||
* On the Recommended Charts tab, scroll through the list of chart types that Excel recommends for your data.
|
||||
|
||||
Click any 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. 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.
|
||||
|
||||
Tip: If you don’t see a chart type that you want, click the All Charts tab to see all of the available chart types.
|
||||
|
||||

|
||||
|
||||
* 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
|
||||
|
||||

|
||||
|
||||
### ~
|
||||
Have fun reviewing your simulation and analyze the acceleration by chart the Excel data using Excel.
|
||||
|
||||
* Connect the first 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!
|
||||
* Have fun reviewing your seismograph data and analyzing the acceleration with Excel.
|
||||
* The first person and second person take shaking or moving the micor:bit in any direction while the other player charts the data on the micro:bit!
|
||||
* 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"
|
||||
|
||||
|
||||
|
@ -1,8 +1,6 @@
|
||||
# smiley blocks lesson
|
||||
|
||||
design a blinking image lesson #docs
|
||||
|
||||
|
||||
Design a blinking image lesson
|
||||
|
||||
## Topic
|
||||
|
||||
|
@ -21,10 +21,6 @@ Learn how to show LEDs with a, `pause` to pause program execution for a specifie
|
||||
|
||||
## Documentation
|
||||
|
||||
* **show LEDs** : [read more...](/reference/basic/show-leds)
|
||||
* **pause** : [read more...](/reference/basic/pause)
|
||||
* **forever** : [read more...](/reference/basic/forever)
|
||||
|
||||
```cards
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
|
@ -1,6 +1,6 @@
|
||||
# speed button challenges
|
||||
|
||||
Coding challenges for the speed button tutorial. #docs
|
||||
Coding challenges for the speed button tutorial.
|
||||
|
||||
## Before we get started
|
||||
|
||||
|
@ -21,7 +21,6 @@ Learn how to use an if statement to run code run code depending on whether a con
|
||||
|
||||
## Documentation
|
||||
|
||||
|
||||
```cards
|
||||
if (true) {}
|
||||
let x = 0
|
||||
|
@ -41,7 +41,7 @@ Overview of Blocks lessons for the BBC micro:bit.
|
||||
* [The Watch](/lessons/the-watch), design and create The Watch
|
||||
* [Truth or dare](/lessons/truth-or-dare), a game that forces each player to reveal a secret or do something funny with if statement
|
||||
* [Spinner](/lessons/spinner), spin the arrow with multiple if statements
|
||||
* [Die roll](/lessons/die-roll), spin with more if statements
|
||||
* [Dice roll](/lessons/dice-roll), spin with more if statements
|
||||
* [Beatbox](/lessons/classic-beatbox), make a beatbox music player with variables
|
||||
* [Temperature](/lessons/temperature), get the ambient temperature (degree Celsius °C)
|
||||
|
||||
|
@ -14,7 +14,8 @@ Telegraph
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
Learn how to convert your BBC micro:bit into a telegraph using a second BBC micro:bit as well as pin P1, P2, 3V, GND, and crocodile clips (or spring clips). The connect BBC micro:bit uses pins P1, P2, 3V, GND.
|
||||
Learn how to convert your BBC micro:bit into a telegraph using a second BBC micro:bit as well as pin P1, P2, 3V, GND,
|
||||
and crocodile clips (or spring clips). The connect BBC micro:bit uses pins P1, P2, 3V, GND.
|
||||
|
||||
## Objectives
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Blocks - Variables
|
||||
|
||||
An introduction to variables for the Block Editor. #docs
|
||||
An introduction to variables for the Block Editor.
|
||||
|
||||
## What is a variable?
|
||||
|
||||
|
@ -4,6 +4,6 @@ The editor is open source on GitHub under the MIT license. Contributions are wel
|
||||
|
||||
### Repos
|
||||
|
||||
* [microsoft/pxt-microbit](https://github.com/Microsoft/pxt-microbit), PXT target for BBC micro:bit, also includes the documentation.
|
||||
* [microbit/pxt](https://github.com/Microsoft/pxt), programming experience toolkit (PXT)
|
||||
* [microsoft/pxt-microbit](https://github.com/Microsoft/pxt-microbit), PXT target for BBC micro:bit
|
||||
* [microsoft/pxt-microbit-core](https://github.com/Microsoft/pxt-microbit-core), Yotta module used to build the BBC micro:bit runtime
|
||||
|
@ -37,8 +37,11 @@ In this project, you will build a Rock Paper Scissors game with the BBC micro:bi
|
||||
You can play the game with a friend who has it on a micro:bit.
|
||||
You can also play it with friends who are just using their hands.
|
||||
|
||||
## [START PROJECT](/#follow:/projects/rock-paper-scissors)
|
||||
|
||||
### ~
|
||||
|
||||
|
||||
## Materials needed
|
||||
|
||||
* Your BBC micro:bit -- that's it!
|
||||
|
@ -1,18 +1,10 @@
|
||||
# Game Library
|
||||
|
||||
The game library #docs
|
||||
|
||||
The game library supports simple single-player time-based games. The player has a **sprite**, number of **lives** and a **score**. The game has a sprite, number of **levels** and a **countdown clock**. The general goal of a game will be to move the sprite and achieve a top score before time runs out or the number of lives goes to zero.
|
||||
|
||||
## Block Editor
|
||||
|
||||

|
||||
|
||||
## KindScript
|
||||
|
||||
The code below shows a simple game where the user gets to press the button ``A`` as much times as possible in 10 seconds.
|
||||
|
||||
```
|
||||
```blocks
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
game.addScore(1)
|
||||
})
|
||||
|
@ -1,16 +1,6 @@
|
||||
# Move
|
||||
|
||||
The game library
|
||||
|
||||
### Move
|
||||
|
||||
Sprite move by a certain number
|
||||
|
||||
## Block Editor
|
||||
|
||||

|
||||
|
||||
## KindScript
|
||||
Sprite move by a certain number of LEDs
|
||||
|
||||
```
|
||||
export function move(_this: micro_bitSprites.LedSprite, leds: number)
|
||||
|
@ -1,19 +1,5 @@
|
||||
# Position
|
||||
|
||||
The game library
|
||||
|
||||
### Create sprite
|
||||
|
||||
Reports the x or y position of a sprite on the LED screen
|
||||
|
||||
## Block Editor
|
||||
|
||||
Reports the x position of a sprite on the LED screen
|
||||
|
||||

|
||||
|
||||
## KindScript
|
||||
|
||||
Reports the x position of a sprite on the LED screen
|
||||
|
||||
```
|
||||
|
@ -1,31 +1,7 @@
|
||||
# Reports
|
||||
|
||||
The game library
|
||||
|
||||
### Reports
|
||||
|
||||
Reports the x or y position, the current direction of a sprite, or the brightness of a sprite on the LED screen
|
||||
|
||||
## Block Editor
|
||||
|
||||
Reports the x position of a sprite on the LED screen
|
||||
|
||||

|
||||
|
||||
Reports the y position of a sprite on the LED screen
|
||||
|
||||

|
||||
|
||||
Reports the brightness of a sprite on the LED screen
|
||||
|
||||

|
||||
|
||||
Reports the direction of a sprite on the LED screen
|
||||
|
||||

|
||||
|
||||
## KindScript
|
||||
|
||||
Reports the x position of a sprite on the LED screen
|
||||
|
||||
```
|
||||
|
@ -1,20 +1,10 @@
|
||||
# Score
|
||||
|
||||
The game library #docs
|
||||
|
||||
The game library supports simple single-player games. The player has a **score**.
|
||||
|
||||
## Block Editor
|
||||
|
||||
The code below shows a simple game where the user gets to press the button ``A`` and adds 1 point to score that will be displayed on the BBC micro:bit screen
|
||||
|
||||

|
||||
|
||||
## KindScript
|
||||
|
||||
The code below shows a simple game where the user gets to press the button ``A`` as much times as possible in 10 seconds.
|
||||
|
||||
```
|
||||
```blocks
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
game.addScore(1)
|
||||
})
|
||||
|
@ -1,15 +1,5 @@
|
||||
# Start Countdown
|
||||
|
||||
The game library #docs
|
||||
|
||||
The game library supports simple single-player time-based games. The general goal of a game will be to achieve a top score before time runs out of time.
|
||||
|
||||
## Block Editor
|
||||
|
||||

|
||||
|
||||
## KindScript
|
||||
|
||||
The code below shows a simple game where the user gets to press the button ``A`` as much times as possible in 10 seconds.
|
||||
|
||||
```
|
||||
|
@ -1,17 +1,5 @@
|
||||
# Touching
|
||||
|
||||
The game library
|
||||
|
||||
### Touching
|
||||
|
||||
Reports true if sprite is touching specified sprite
|
||||
|
||||
## Block Editor
|
||||
|
||||

|
||||
|
||||
## KindScript
|
||||
|
||||
Reports true if sprite is touching specified sprite
|
||||
|
||||
```
|
||||
|
@ -1,17 +1,5 @@
|
||||
# Turn
|
||||
|
||||
The game library
|
||||
|
||||
Rotates a sprite to the right by a certain number of degrees
|
||||
|
||||
## Block Editor
|
||||
|
||||
Rotates a sprite to the right by a certain number of degrees
|
||||
|
||||

|
||||
|
||||
## KindScript
|
||||
|
||||
Rotates a sprite to the right by a certain number of degrees
|
||||
|
||||
```
|
||||
|
@ -1,27 +1,35 @@
|
||||
# Magnetic Force
|
||||
|
||||
Get the magnetic force (micro Teslas), in one of three specified dimensions.
|
||||
Find the amount of magnetic force (the strength of a magnet) in the direction you say.
|
||||
|
||||
```sig
|
||||
input.magneticForce(Dimension.X);
|
||||
```
|
||||
|
||||
## ~hint
|
||||
|
||||
The micro:bit measures magnetic force with **microteslas**.
|
||||
|
||||
## ~
|
||||
|
||||
|
||||
### Parameters
|
||||
|
||||
* dimension : [String](/reference/types/string) - one of three values specifying the axis of the force: ``x`` (left/right); ``y`` (forward/backwards); ``z`` (up/down); ``strength`` (the length of the vector)
|
||||
* a [string](/reference/types/string) that says which direction the micro:bit should measure magnetic force in: either `x` (the left-right direction), `y` (the forward/backward direction), or `z` (the up/down direction)
|
||||
|
||||
### Returns
|
||||
|
||||
* [Number](/reference/types/number) - magnetic force, in micro-Teslas.
|
||||
* a [number](/reference/types/number) of microteslas that means the strength of the magnet
|
||||
|
||||
### Example: metal detector
|
||||
|
||||
The following example uses the `magnetic force` to control the brightness of the screen. When the magnetic force increases, the center LED will appear brighter.
|
||||
This program makes the center LED of the micro:bit get brighter when
|
||||
the magnetic force is stronger, and dimmer when it is weaker.
|
||||
|
||||
```blocks
|
||||
led.plot(2, 2)
|
||||
basic.forever(() => {
|
||||
let f = input.magneticForce(Dimension.X)
|
||||
let f = input.magneticForce("x")
|
||||
led.setBrightness(f / 2000)
|
||||
})
|
||||
```
|
||||
@ -29,4 +37,3 @@ basic.forever(() => {
|
||||
### See also
|
||||
|
||||
[compass heading](/reference/input/compass-heading)
|
||||
|
||||
|
@ -1,19 +1,17 @@
|
||||
# On Gesture
|
||||
|
||||
Register an [event handler](/reference/event-handler) that will execute whenever the user executes a gesture withthe BBC micro:bit.
|
||||
Start an [event handler](/reference/event-handler) (part of the
|
||||
program that will run when something happens) This handler works when
|
||||
you do a **gesture** (like shake, tilt, or drop the micro:bit).
|
||||
|
||||
```sig
|
||||
input.onGesture(Gesture.Shake,() => {
|
||||
})
|
||||
```
|
||||
|
||||
## Gestures
|
||||
## Example: random number
|
||||
|
||||
|
||||
|
||||
### Example: random number
|
||||
|
||||
The following example displays a number from 0-9 on the screen when you shake the BBC micro:bit.
|
||||
This program shows a number from `0` to `9` when you shake the micro:bit.
|
||||
|
||||
```blocks
|
||||
input.onGesture(Gesture.Shake,() => {
|
||||
@ -22,24 +20,7 @@ input.onGesture(Gesture.Shake,() => {
|
||||
})
|
||||
```
|
||||
|
||||
### Example: rock, paper, scissors
|
||||
## Lessons
|
||||
|
||||
The following example shows one of three images (rock, paper, or scissors) when you shake the BBC micro:bit.
|
||||
|
||||
```blocks
|
||||
input.onGesture(Gesture.Shake,() => {
|
||||
let img = images.createImage(`
|
||||
. . . . . # # # # # . . . . #
|
||||
. # # # . # . . . # # # . # .
|
||||
. # # # . # . . . # . # # . .
|
||||
. # # # . # . . . # # # . # .
|
||||
. . . . . # # # # # . . . . #
|
||||
`)
|
||||
img.showFrame(Math.random(3))
|
||||
})
|
||||
```
|
||||
|
||||
### Lessons
|
||||
|
||||
[bounce image](/lessons/bounce-image), [rock paper scissors](/lessons/rock-paper-scissors)
|
||||
[bounce image](/lessons/bounce-image)
|
||||
|
||||
|
@ -1,24 +1,33 @@
|
||||
# Pin Is Pressed
|
||||
|
||||
Gets the pin state (pressed or not pressed), by detecting when the user holds the `GND` pin with one hand, and presses pin `0`, `1`, or `2` with the other hand, thus completing a circuit.
|
||||
Find whether the pin you say is pressed or not pressed.
|
||||
|
||||
*Note* that this function works best when the BBC micro:bit is powered by AAA battery.
|
||||
If you hold the `GND` pin with one hand and touch pin `0`, `1`, or `2` with the other,
|
||||
a very small (safe) amount of electricity will flow through your body and back into
|
||||
the micro:bit. This is called **completing a circuit**. It's like you're a big wire!
|
||||
|
||||
```sig
|
||||
input.pinIsPressed(TouchPin.P0);
|
||||
```
|
||||
|
||||
## ~hint
|
||||
|
||||
This function works best when the BBC:microbit is using batteries for power,
|
||||
instead of the USB cable.
|
||||
|
||||
## ~
|
||||
|
||||
### Parameters
|
||||
|
||||
* name - [String](/reference/types/string); the pin name ("P0", "P1", or "P2")
|
||||
* a [string](/reference/types/string) that holds the pin name (**P0**, **P1**, or **P2**)
|
||||
|
||||
### returns
|
||||
|
||||
* [Boolean](/reference/types/boolean) - `true` if pressed, `false` if not pressed
|
||||
* a [boolean](/reference/types/boolean) that means whether the pin you say is pressed (`true` or `false`)
|
||||
|
||||
### Example
|
||||
|
||||
This example displays 1 if P0 is pressed, and 0 if P0 is not pressed:
|
||||
This program shows `1` if `P0` is pressed, and `0` if `P0` is not pressed:
|
||||
|
||||
```blocks
|
||||
basic.forever(() => {
|
||||
|
@ -1,10 +1,11 @@
|
||||
# Change Tempo By
|
||||
|
||||
Change the tempo by the specified amount
|
||||
Makes the [tempo](/reference/music/tempo) (speed of a piece of music)
|
||||
faster or slower by the amount you say.
|
||||
|
||||
## Simulator
|
||||
|
||||
Simulation of this function is available in many, but not all browsers.
|
||||
This function only works on the micro:bit and in some browsers.
|
||||
|
||||
```sig
|
||||
music.changeTempoBy(20)
|
||||
@ -12,7 +13,21 @@ music.changeTempoBy(20)
|
||||
|
||||
### Parameters
|
||||
|
||||
* `bpm` : [Number](/reference/types/number) - change the tempo by beats per minute
|
||||
* a [number](/reference/types/number) that says how much to change the bpm (beats per minute, or number of beats in a minute of the music that the micro:bit is playing).
|
||||
|
||||
### Examples
|
||||
|
||||
This program makes the music faster by 12 bpm.
|
||||
|
||||
```blocks
|
||||
music.changeTempoBy(12)
|
||||
```
|
||||
|
||||
This program makes the music _slower_ by 12 bpm.
|
||||
|
||||
```blocks
|
||||
music.changeTempoBy(-12)
|
||||
```
|
||||
|
||||
### See also
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
# Rest
|
||||
|
||||
Rests (plays nothing) for a specified time through pin PO.
|
||||
Rest (play no sound) through pin `PO` for the amount of time you say.
|
||||
|
||||
## Simulator
|
||||
|
||||
Simulation of this function is available in many, but not all browsers.
|
||||
This function only works on the micro:bit and in some browsers.
|
||||
|
||||
```sig
|
||||
music.rest(400)
|
||||
@ -12,7 +12,7 @@ music.rest(400)
|
||||
|
||||
### Parameters
|
||||
|
||||
* `ms`: [Number](/reference/types/number) - the duration of the rest (milliseconds)
|
||||
* a [number](/reference/types/number) saying how many milliseconds the micro:bit should rest. One second is 1000 milliseconds.
|
||||
|
||||
## Example
|
||||
|
||||
|
@ -1,10 +1,11 @@
|
||||
# Ring Tone
|
||||
|
||||
Play a continuous tone through pin P0.
|
||||
Play a musical tone through pin `P0` with the pitch as high or low as you say.
|
||||
The tone will keep playing until you tell it not to.
|
||||
|
||||
## Simulator
|
||||
|
||||
Simulation of this function is available in many, but not all browsers.
|
||||
This function only works on the micro:bit and in some browsers.
|
||||
|
||||
```sig
|
||||
music.ringTone(440)
|
||||
@ -12,11 +13,18 @@ music.ringTone(440)
|
||||
|
||||
### Parameters
|
||||
|
||||
* `frequency` : [Number](/reference/types/number) - Plays a tone in (Hz)
|
||||
* a [number](/reference/types/number) that says the tone's
|
||||
**frequency** (how high-pitched or low-pitched the tone is). This
|
||||
number is in **Hz** (**Hertz**), which is a measurement of frequency
|
||||
or pitch.
|
||||
|
||||
### Example
|
||||
|
||||
Play a sound based on the tile of the device
|
||||
This program checks the **accelerometer** for the micro:bit's
|
||||
**acceleration** (how much the micro:bit is speeding up or slowing
|
||||
down). Then it uses that acceleration to make a tone. If the micro:bit
|
||||
speeds up, the tone's pitch gets higher, and if it slows down, the
|
||||
tone's pitch gets lower. It's fun -- try it!
|
||||
|
||||
```blocks
|
||||
basic.forever(() => {
|
||||
@ -26,5 +34,6 @@ basic.forever(() => {
|
||||
|
||||
### See also
|
||||
|
||||
[rest](/reference/music/rest), [play tone](/reference/music/play-tone) , [tempo](/reference/music/tempo), [set tempo](/reference/music/set-tempo), [change tempo by](/reference/music/change-tempo-by)
|
||||
|
||||
[rest](/reference/music/rest), [play tone](/reference/music/play-tone),
|
||||
[tempo](/reference/music/tempo), [set tempo](/reference/music/set-tempo),
|
||||
[change tempo by](/reference/music/change-tempo-by)
|
||||
|
@ -1,14 +1,17 @@
|
||||
# Set Tempo
|
||||
|
||||
Sets the tempo to the specified amount
|
||||
Makes the tempo (speed of a piece of music) as fast or slow as you say.
|
||||
|
||||
```sig
|
||||
music.setTempo(60)
|
||||
```
|
||||
## Simulator
|
||||
|
||||
This function only works on the micro:bit and in some browsers.
|
||||
|
||||
### Parameters
|
||||
|
||||
* Returns : [Number](/reference/types/number) - sets the tempo in beats per minute
|
||||
* a [number](/reference/types/number) that means the bpm you want (beats per minute, or number of beats in a minute of the music that the micro:bit is playing).
|
||||
|
||||
### See also
|
||||
|
||||
|
@ -1,13 +1,19 @@
|
||||
# On Data Received
|
||||
|
||||
Registers code to run when a packet is received over ``radio``.
|
||||
Run part of a program when the micro:bit receives a
|
||||
[number](/reference/types/number) or [string](/reference/types/string) over ``radio``.
|
||||
|
||||
### Parameters
|
||||
|
||||
* body - is an action
|
||||
* the part of the program to run when the micro:bit receives information over ``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));
|
||||
@ -19,5 +25,6 @@ radio.onDataReceived(() => {
|
||||
|
||||
### See also
|
||||
|
||||
[receive number](/reference/radio/receive-number), [send number](/reference/radio/send-number), [set group](/reference/radio/set-group)
|
||||
[receive number](/reference/radio/receive-number),
|
||||
[send number](/reference/radio/send-number), [set group](/reference/radio/set-group)
|
||||
|
||||
|
36
docs/reference/radio/received-signal-strength.md
Normal file
@ -0,0 +1,36 @@
|
||||
# Received Signal Strength
|
||||
|
||||
Find how strong the ``radio`` signal is, from `255` to `0`.
|
||||
(`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 last time it ran the
|
||||
[receive number](/reference/radio/receive-number) function. That means
|
||||
it needs to run **receive number** first.
|
||||
|
||||
### Returns
|
||||
|
||||
* a [number](/reference/types/number) between `255` and `0` that means
|
||||
how strong the signal is.
|
||||
|
||||
## Simulator
|
||||
|
||||
This function only works on the micro:bit, not in browsers.
|
||||
|
||||
### Example
|
||||
|
||||
This example shows how strong the radio signal of the
|
||||
[light level sender example](/reference/input/send-number) is.
|
||||
|
||||
```blocks
|
||||
let x = 0;
|
||||
radio.setGroup(99);
|
||||
basic.forever(() => {
|
||||
x = radio.receiveNumber();
|
||||
basic.showNumber(radio.receivedSignalStrength());
|
||||
});
|
||||
```
|
||||
|
||||
### See also
|
||||
|
||||
[receive number](/reference/radio/receive-number), [send number](/reference/radio/send-number), [on data received](/reference/radio/on-data-received)
|
@ -1,16 +1,22 @@
|
||||
# Set Group
|
||||
|
||||
Sets the group id for ``radio`` communications. A micro:bit can only listen to one group ID at any time.
|
||||
Make a program have the group ID you tell it for sending and receiving
|
||||
with ``radio``. A group is like a cable channel (a micro:bit can only
|
||||
send or receive in one group at a time). A group ID is like the cable
|
||||
channel number.
|
||||
|
||||
Unless specified, the group id is automatically inferred from the script source. Every script with the same exact source code with start with the same group id.
|
||||
If you do not tell your program which group ID to use with this
|
||||
function, it will figure out its own group ID by itself. If you load
|
||||
the very same program onto two different micro:bits, they will be able
|
||||
to talk to each other because they will have the same group ID.
|
||||
|
||||
### Parameters
|
||||
|
||||
* ``id`` -- a [number](/reference/types/number) between ``0`` and ``255``.
|
||||
* ``id`` is a [number](/reference/types/number) from ``0`` to ``255``.
|
||||
|
||||
### Example
|
||||
|
||||
Sets the group to 128.
|
||||
This program makes the group ID equal 128.
|
||||
|
||||
```blocks
|
||||
radio.setGroup(128)
|
||||
|
@ -1,33 +1,27 @@
|
||||
# Set Transmit Power
|
||||
|
||||
Sets the transmitter power for ``radio`` communications.
|
||||
The power can be set to a value between 0 (-30dbm) and 7 (+4dbm).
|
||||
Make the ``radio`` signal of the micro:bit stronger or weaker.
|
||||
It can be as weak as `0` and as strong as `7`.
|
||||
|
||||
The scientific name for the strength of the ``radio`` signal is
|
||||
**dBm**, or **decibel-milliwatts**. A signal strength of `0`
|
||||
can be measured as -30 dBm, and a strength of `7` can be
|
||||
measured as +4 dBm.
|
||||
|
||||
## Range
|
||||
|
||||
At power level 7, in an open area without significant interference (coming from WiFi networks or other devices operating on the 2.4 GHz range), you can get a **range of over 70m**.
|
||||
|
||||
Indoors (or with additional interference), range will be significantly reduced.
|
||||
|
||||
## Important Security Consideration
|
||||
|
||||
The functions in the ``radio`` namespace allow the BBC micro:bit to communicate with other micro:bits.
|
||||
|
||||
This API does not contain any form of encryption, authentication or authorization. It's purpose is solely for use as a teaching aid to demonstrate how simple communications operates, and to provide a sandpit through which learning can take place.
|
||||
|
||||
For serious applications, BLE should be considered a substantially more secure alternative.
|
||||
|
||||
```sig
|
||||
radio.setTransmitPower(1)
|
||||
```
|
||||
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
|
||||
can reach as far as 70 meters (about 230 feet).
|
||||
|
||||
### Parameters
|
||||
|
||||
* ``power`` -- a [number](/reference/types/number) between ``0`` and ``7``.
|
||||
* a [number](/reference/types/number) between ``0`` and ``7`` that
|
||||
means how strong the signal is.
|
||||
|
||||
### Example
|
||||
|
||||
Sets the transmitter power to full power at 7.
|
||||
This program makes the ``radio`` send at full strength.
|
||||
|
||||
```blocks
|
||||
radio.setTransmitPower(7)
|
||||
|
@ -4,7 +4,12 @@
|
||||
basic.forever(() => { basic.showString("RELEASE NOTES"); });
|
||||
```
|
||||
|
||||
## May 2017
|
||||
## June 2016
|
||||
|
||||
* It is now possible to stream data into the cloud (Azure) from the PXT editor. Simply click on the log view to get started.
|
||||
* Documentation column pops up for large screen to avoid switching between docs and editor.
|
||||
|
||||
## May 2016
|
||||
|
||||
We're happy to announce [m.pxt.io](https://m.pxt.io), an Blocks/JavaScript editor for the [BBC micro:bit](https://www.microbit.co.uk).
|
||||
The editor is [open source](/open-source) on GitHub. Send us your PR!
|
||||
|
BIN
docs/static/mb/analyze1.png
vendored
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
docs/static/mb/analyze3.png
vendored
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
docs/static/mb/lessons/analyze.png
vendored
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
docs/static/mb/lessons/analyze1.png
vendored
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
docs/static/mb/lessons/analyze16.png
vendored
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
docs/static/mb/lessons/analyze19.png
vendored
Normal file
After Width: | Height: | Size: 105 KiB |
BIN
docs/static/mb/lessons/analyze2.png
vendored
Normal file
After Width: | Height: | Size: 9.6 KiB |
BIN
docs/static/mb/lessons/analyze20.png
vendored
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
docs/static/mb/lessons/analyze3.png
vendored
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
docs/static/mb/lessons/analyze5.png
vendored
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
docs/static/mb/lessons/analyze6.png
vendored
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
docs/static/mb/lessons/analyze7.png
vendored
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
docs/static/mb/lessons/analyze8.png
vendored
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
docs/static/mb/lessons/analyze9.png
vendored
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
docs/static/mb/lessons/banana-keyboard-0.png
vendored
Before Width: | Height: | Size: 518 KiB After Width: | Height: | Size: 104 KiB |
BIN
docs/static/mb/lessons/banana-keyboard-10.png
vendored
Before Width: | Height: | Size: 915 KiB After Width: | Height: | Size: 196 KiB |
BIN
docs/static/mb/lessons/banana-keyboard-12.png
vendored
Before Width: | Height: | Size: 514 KiB After Width: | Height: | Size: 154 KiB |
BIN
docs/static/mb/lessons/cascade-0.png
vendored
Before Width: | Height: | Size: 553 KiB After Width: | Height: | Size: 54 KiB |
BIN
docs/static/mb/lessons/cascade-1.png
vendored
Before Width: | Height: | Size: 706 KiB After Width: | Height: | Size: 54 KiB |
BIN
docs/static/mb/lessons/cascade-2.png
vendored
Before Width: | Height: | Size: 587 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
BIN
docs/static/mb/lessons/column-0.png
vendored
Before Width: | Height: | Size: 412 KiB After Width: | Height: | Size: 22 KiB |
BIN
docs/static/mb/lessons/column-1.png
vendored
Before Width: | Height: | Size: 411 KiB After Width: | Height: | Size: 25 KiB |
BIN
docs/static/mb/lessons/guess-the-number-0.png
vendored
Before Width: | Height: | Size: 628 KiB After Width: | Height: | Size: 36 KiB |
BIN
docs/static/mb/lessons/ornament-chain-5.png
vendored
Before Width: | Height: | Size: 406 KiB After Width: | Height: | Size: 113 KiB |
BIN
docs/static/mb/lessons/ornament-chain-7.png
vendored
Before Width: | Height: | Size: 383 KiB After Width: | Height: | Size: 114 KiB |
BIN
docs/static/mb/lessons/seis_challenge01.png
vendored
Normal file
After Width: | Height: | Size: 142 KiB |
BIN
docs/static/mb/lessons/seis_challenge02.png
vendored
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
docs/static/mb/lessons/seis_challenge04.png
vendored
Normal file
After Width: | Height: | Size: 4.0 KiB |
BIN
docs/static/mb/lessons/seis_challenge05.png
vendored
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
docs/static/mb/lessons/seis_challenge06.png
vendored
Normal file
After Width: | Height: | Size: 126 KiB |
BIN
docs/static/mb/lessons/seis_challenge07.png
vendored
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
docs/static/mb/lessons/seismograph0.png
vendored
Normal file
After Width: | Height: | Size: 146 KiB |
BIN
docs/static/mb/lessons/seismograph1.png
vendored
Normal file
After Width: | Height: | Size: 164 KiB |
BIN
docs/static/mb/lessons/seismograph10.png
vendored
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
docs/static/mb/lessons/seismograph11.png
vendored
Normal file
After Width: | Height: | Size: 196 KiB |
BIN
docs/static/mb/lessons/seismograph22.png
vendored
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
docs/static/mb/lessons/seismograph3.png
vendored
Normal file
After Width: | Height: | Size: 21 KiB |