Step Counter
Count your steps with the micro:bit!
Turn your micro:bit into a step counter (also known as a pedometer). We’ll use the motion sensor (also known as an accelerometer) to measure when we take a step with the micro:bit.
{Step 1}
First we need to create a variable to keep track of the number of steps 🦶. A variable is a container for storing values.
Click on the ||variables:Variables||
category in the Toolbox. Click on the Make a Variable button. Give your new variable the name “steps” and click Ok.
{Step 2}
Click on the ||variables:Variables||
category in the Toolbox. You’ll notice that there are some new blocks that have appeared. Drag a ||variables:set steps||
block into the ||basic:on start||
block. This sets the value of our ||variables:steps||
variable to 0 when our program starts.
let steps = 0
{Step 3}
Let’s record a step every time our micro:bit shakes. Click on the ||input:Input||
category in the Toolbox. Drag an ||input:on shake||
block out to the workspace and place it anywhere.
input.onGesture(Gesture.Shake, function () {})
{Step 4}
Click on the ||variables:Variables||
category in the Toolbox. Drag a ||variables:change steps||
block into the ||input:on shake||
block. Now every time we shake our micro:bit (or take a step), we will add 1 to the value in our ||variables:steps||
variable.
let steps = 0
input.onGesture(Gesture.Shake, function () {
steps += 1
})
{Step 5}
Let’s show the number of steps taken. Click on the ||basic:Basic||
category in the Toolbox. Drag a ||basic:show number||
block into the ||input:on shake||
block, underneath the ||variables:change steps||
block.
let steps = 0
input.onGesture(Gesture.Shake, function () {
steps += 1
basic.showNumber(0)
})
{Step 6}
Click on the ||variables:Variables||
category in the Toolbox. Drag a ||variables:steps||
block into the ||basic:show number||
block, replacing the number 0.
let steps = 0
input.onGesture(Gesture.Shake, function () {
steps += 1
basic.showNumber(steps)
})
{Step 7}
Let’s test your code! Press the white SHAKE button on the micro:bit on-screen simulator, or move your cursor quickly back and forth over the simulator. Do you see the number of steps increasing on the micro:bit? ⭐ Great job! ⭐
{Step 8}
If you have a micro:bit device, connect it to your computer and click the |Download|
button. Follow the instructions to transfer your code onto the micro:bit. Once your code has been downloaded, attach your micro:bit to a battery pack and put in your sock. Walk around. Is the micro:bit counting your steps?
{Step 9}
Go further - you may notice the micro:bit can’t count as fast you might run. That’s because there is a delay while the micro:bit is displaying numbers. To correct for this, click on the Hint to see an alternate solution. Learn more about how the micro:bit acccelerometer works by watching this video.
let steps = 0
input.onGesture(Gesture.Shake, function () {
steps += 1
led.stopAnimation()
})
basic.forever(function() {
basic.showNumber(steps)
})