Buttons and Timings
Code blocks used in this tutorial:
Our goal for this tutorial will be to control the animation speed using buttons:

A button: slow action. B button: fast action.
    We are going to use the Input blocks. Click in Input and drag and drop on button [A▼] pressed on an open space on the right side.

on button Code Block
    This block tells micro:bit what happens when a button is pressed.
If you click on the down arrow ▼, you can select the specific button to check
(A, B, or A+B).

on button Selection
    Let’s select button A and create a simple animation.

on button A pressed
    Let’s test our program by clicking on play ▶.

on button A pressed
    
You may have noticed that the animation timing is a little bit too fast. This is because we haven’t told micro:bit how long it should pause before changing the animation.
We can use the Basic > pause (ms) [100▼] code block to tell micro:bit to wait for a
little bit before doing the next instruction.

pause Code Block
    If you click on the down arrow ▼, you can select the specific time that
micro:bit should wait. You can also manually write the time (in milliseconds).
For our animation, let’s write 500 and let’s place a pause block between
each show leds.

on button A pressed with pause
    Now, if you click on play ▶, we should have the correct timing!

on button A pressed with pause
    Are you up for a challenge?
Try to program the code for button B by yourself. There should be a 50 ms pause
between each LED animation.

Once you finish, you can check your solution with the answer here.