The Microbit’s compass (magnetometer)
In this topic we will be learning how to use the Microbit’s on-board compass (aka. magnetometer). We will learn how we can use to magnetometer to find north, and use the Microbit’s direction in our projects.
A magnetometer is a device that measures magnetic fields around a device.
Magnetometers are commonly used for:
- Electronic compasses – detecting the earths magnetic field
- Detecting buried or hidden metal objects, such as buried treasure or land mines.
Magnetic fields
Magnetic fields are the areas of magnetic attraction and repulsion that are exerted by magnetically charged objects.
Magnetic fields attempt to line up magnetically charged objects along the line of magnetic field lines. The earth is has a huge magnetic field that runs south to north roughly in line with our south and north poles, and so the magnet in a compass will always try to align itself south to north.
The magnetometer inside of the BBC can detect these magnetic field lines and so can be used as an electronic compass.
Calibrating the Magnetometer
Each time you turn on the Microbit it will ask you to calibrate the compass. To do this just need to tilt the Microbit in different directions until the circle on the display is full up.
To use the magnetometer you need to use the Microbit bearing block.
Watch the animation below and have a go at getting the compass working!
Challenge 1 – Scrolling compass bearing (Easy)
Create a simple compass that scrolls the bearing across the screen every 2 seconds.
Challenge 2 – Find north
Create a simple compass that displays a smiley face when the Microbit is facing north, and a sad face when it is facing any other direction.
Challenge 3 – Simple compass
Code a simple compass that displays either N,E,S or W if the Microbit is facing at the exact angle.
Here’s some code to get you started!
Challenge 4 – NESW Compass (Easy)
Create a simple compass that displays N/E/S/W depending on direction that the user is facing. The program should update the direction every time the user presses the A button.
[/tab
Challenge 5 – Go north compass (Medium)
Create a script that helps the user to orientate the compass to north.
The user should display an arrow on the screen and the direction of the arrow should help the user point the compass to north.
Challenge 6 – Advanced Compass ( e.g. NE,SW ) (Medium)
Create a compass that displays minor gradations too – E.g. NE
Here is the full list of compass angle bearings to say some time calculating them!
Bearing | From | To |
N | 337 | 22 |
NE | 22 | 67 |
E | 67 | 112 |
SE | 112 | 157 |
S | 157 | 202 |
SW | 202 | 247 |
W | 247 | 292 |
NW | 292 | 337 |
Challenge 7 – Compass bearing game (Difficult)
Create a compass game where the game displays a bearing and the user has to change to that direction as quickly as possible. Once the user has turned the compass to the correct direction the Microbit should display how many seconds it took to turn it to the correct direction.
Class unplugged activity
Could you a bearings game outside where the user has to work out the bearing to certain objects within an area using the compass they have made. Will need the battery pack!
Quiz questions
South is how many degrees? 180
What direction is ENE?
How many milliseconds in a second?
What is 300 milliseconds represented as in seconds?