pxt-calliope/docs/getting-started.md

213 lines
4.6 KiB
Markdown
Raw Normal View History

2016-05-12 22:56:03 +02:00
# Getting started
2016-05-12 22:41:15 +02:00
Are you ready to build cool BBC micro:bit programs?
2016-05-12 22:41:15 +02:00
Here are some challenges for you. Unscramble the blocks in the editor
to make real programs that work!
2016-05-12 22:41:15 +02:00
2016-06-02 21:32:13 +02:00
### Happy face
2016-06-02 20:38:14 +02:00
You should see three blocks in the editor to the left.
These are a block with a smiley face, ...
2016-06-02 21:32:13 +02:00
```blocks
2016-06-02 20:38:14 +02:00
basic.forever(() => {
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .
`)
basic.showLeds(`
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
`)
});
```
To move your program from your computer to the BBC micro:bit:
* Connect your micro:bit to the computer with the USB cable.
* Click **Compile**.
* Drag and drop the new file whose name ends in **.hex** into the **MICROBIT** window.
* Wait until the yellow light stops blinking!
2016-05-12 22:41:15 +02:00
2016-06-02 21:32:13 +02:00
### Happy unhappy face
2016-05-12 22:50:27 +02:00
2016-06-02 21:32:13 +02:00
Let's draw an unhappy face instead of the blank screen. Click on the dots in the ``show leds`` block
until it matches the blocks below.
2016-05-12 22:50:27 +02:00
2016-05-17 18:35:55 +02:00
```blocks
2016-06-02 21:32:13 +02:00
basic.forever(() => {
2016-05-12 22:50:27 +02:00
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .
`)
basic.showLeds(`
. . . . .
. # . # .
. . . . .
. # # # .
# . . . #
`)
2016-06-02 21:32:13 +02:00
});
2016-05-12 22:50:27 +02:00
```
To move your program from your computer to the BBC micro:bit:
* Connect your micro:bit to the computer with the USB cable.
* Click **Compile**.
* Drag and drop the new file whose name ends in **.hex** into the **MICROBIT** window.
* Wait until the yellow light stops blinking!
2016-06-02 21:32:13 +02:00
### Your turn!
2016-05-12 22:50:27 +02:00
2016-06-02 21:32:13 +02:00
Pile up more ``show leds`` blocks to create your animation! Create an animation with at least 5 images.
2016-05-12 22:41:15 +02:00
2016-06-02 21:32:13 +02:00
```blocks
2016-05-12 22:41:15 +02:00
basic.forever(() => {
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .
`)
basic.showLeds(`
. . . . .
. # . # .
. . . . .
. # # # .
# . . . #
`)
2016-06-02 21:32:13 +02:00
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# # # # #
. . . . .
`)
2016-05-12 22:41:15 +02:00
});
```
2016-06-02 21:32:13 +02:00
To move your program from your computer to the BBC micro:bit:
* Connect your micro:bit to the computer with the USB cable.
* Click **Compile**.
* Drag and drop the new file whose name ends in **.hex** into the **MICROBIT** window.
* Wait until the yellow light stops blinking!
#### ~hint
2016-06-02 21:32:13 +02:00
You can find the ``show leds`` block under the **Basic** category.
#### ~
2016-05-12 22:41:15 +02:00
### Button A and B
This program will show the word `banana` on the LED
2016-06-02 21:32:13 +02:00
screen when you press button `A`.
2016-05-12 22:41:15 +02:00
```blocks
2016-06-02 21:32:13 +02:00
input.onButtonPressed(Button.A, () => {
basic.showString("banana");
2016-05-12 22:41:15 +02:00
});
```
Now try to unscramble these blocks in the editor so that the micro:bit
2016-06-02 21:32:13 +02:00
shows **apple** when you press button `B`.
2016-05-12 22:41:15 +02:00
```shuffle
input.onButtonPressed(Button.B, () => {
2016-06-02 21:32:13 +02:00
basic.showString("apple");
2016-05-12 22:41:15 +02:00
});
```
### Shake
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.
2016-05-12 22:41:15 +02:00
```shuffle
input.onGesture(Gesture.Shake, () => {
basic.showLeds(`
. . . . .
. # . # .
. . . . .
. # # # .
# . . . #`);
});
```
### Tilting with gestures
You can also find when someone is tilting the micro:bit left or right,
face up or face down, and logo up or logo down (the logo is the yellow
oval picture at the top of the board).
2016-05-12 22:41:15 +02:00
Try to build a Rock Paper Scissors game where you tilt the micro:bit
left to show paper, right to show scissors, and down to show rock.
Unscramble these blocks in the editor and try this program on the
micro:bit itself!
2016-05-12 22:41:15 +02:00
```shuffle
input.onGesture(Gesture.TiltLeft, () => {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #`);
});
input.onGesture(Gesture.LogoDown, () => {
basic.showLeds(`
. . . . .
. # # # .
. # # # .
. # # # .
. . . . .`);
});
input.onGesture(Gesture.TiltRight, () => {
basic.showLeds(`
# # . . #
# # . # .
. . # . .
# # . # .
# # . . #`);
});
```
### Pins
You can also use the pins as buttons. (The pins are the holes in the
metal bar 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 smiley when you press
pin ``P0``.
2016-05-12 22:41:15 +02:00
```shuffle
input.onPinPressed(TouchPin.P0, () => {
basic.showLeds(`
. . . . .
. # . # .
. . . . .
# . . . #
. # # # .`);
});
```
### Your turn!
2016-05-12 22:41:15 +02:00
Use the screen, buttons, gestures, and pins to make your own fun game
with the BBC micro:bit!