Skip to content

Activity

Which way now?

Beginner | MakeCode, Python | Accelerometer, LED display | Performance tools, Randomisation, Selection, Variables

Step 1: Make it

What is it?

Shake your micro:bit and be given a random direction to walk. You will learn about variables, and using random numbers, selection and comparison logic blocks.

These two videos show you what you'll make and how to code it:

Introduction

Coding guide

How it works

  • The program uses a variable called “direction” to store a random number.
  • Variables store numbers or values that can change in a computer program.
  • Shake the micro:bit to set “direction” to a random number between one and three.
  • The program then uses selection and comparison logic blocks to test the value of the variable.
  • If “direction” is equal to 1, then an arrow pointing north shows on the micro:bit’s LED display. If “direction” is equal to 2, then the arrow points east. Otherwise, the arrow points west.
  • To make the battery last longer, the program pauses for half a second after the arrow appears then clears the screen.

What you need

  • micro:bit (or MakeCode simulator)
  • MakeCode editor
  • battery pack (optional but recommended)

Step 2: Code it

1# Imports go at the top
2
3
4
5from microbit import *
6import random
7
8while True:
9    if accelerometer.was_gesture('shake'):
10        random_number = random.randint(1, 3)
11        if random_number == 1:
12            display.show(Image.ARROW_N)
13        elif random_number == 2:
14            display.show(Image.ARROW_E)
15        else:
16            display.show(Image.ARROW_W)
17    sleep(2000)
18    display.clear()

Step 3: Improve it

  • Add more directions.
  • Use buttons to show icons for skipping, running, and jumping.
  • Combine with the touch stopwatch program to make a motivational tool to use in sports lessons.

Thanks to David Hay, an educator in Alberta, Canada for sharing this brilliant project idea with us.