1. 元件清單:Micro:bit主板×1,電池盒×1。

2. 實用功能:小bit上有一個厲害的功能——加速度計。它可以實現很多好玩的功能,現在我們利用這個功能制作一個計步器。
3. 編程思路:
錯誤的思路:組件中有默認的振動監測積木,直接的編程思路是當振動時步數變量加1。但實際使用你會發現測量數值非常不準,必須有較大的振動才會記錄,且計量間隔也過長,走快點就會漏計,沒有實用價值。
改進思路:為了準確計步我們需要合理提高靈敏度保證走步的振動被記錄同時也要忽略更小的振動。還要合理控制測量間隔時間,避免一步被記錄成兩步或者兩步被并作一步。Micro:bit能夠精確獲取本身的重力加速度值,我們按一定時間間隔計算兩次加速度值的差值,如果該差值的絕對值大于某個合適值就認為走了一步,步數變量加1。
按A鍵顯示步數值即可。
編程后需要通過實際測量反復修改最終確定時間間隔和加速度差值,通過調試完善程序的監測效果。
時間間隔可以用走100步測量平均時長的辦法預先估算,我自己的平均時長是半秒左右。
加速度差值最終確定在100到200之間比較合適,太大容易漏步,太小容易計多。
4. 編程實現:
(1) 設置變量:步數、X1、X2,用于記錄兩次加速度值。
(2) 初始化:步數為零,X2記錄初始加速度值一次。
(3) 無限循環:記錄加速度值X1,計算X1和X2差值的絕對值,判斷大于150即計算一步。
(4) 將X2的值設為X1,作為新一次計算的基礎。
(5) 暫停550ms,等待下一次循環。
(6) 按A鍵顯示當前步數。
5. 調試:
將hex文件傳輸進Micro:bit,連接電池盒,實際測量幾次,看看數值設置是否合理并根據自己的情況進行優化。