【掌控】日行万步,OK

2019-02-108235
AI 快速预览详细 收起
本文介绍了如何使用掌控板制作一个计步器小程序。通过加速度传感器和计时器实现精准计步。项目难度适中,适合8岁以上儿童进行编程启蒙。


虽然有手机

手环

计步器

可是

自己写一个计步器小程序

用掌控来玩

依然很美好
【掌控】日行万步,OK图4

春节几天
X迭代了多个版本
【掌控】日行万步,OK图5

比如加速度这块新的block
【掌控】日行万步,OK图2
还多了一个新事件
【掌控】日行万步,OK图1
下面是代码
[mw_shl_code=python,true]from mpython import *
from machine import Timer

_is_shaked = False
_last_x = _last_y = _last_z = _count_shaked = 0
def on_shaked():pass

tim12 = Timer(12)

def timer12_tick(_):
    global _is_shaked, _last_x, _last_y, _last_z, _count_shaked
    if _is_shaked:
        _count_shaked += 1
        if _count_shaked == 5: _count_shaked = 0
    x=accelerometer.get_x(); y=accelerometer.get_y(); z=accelerometer.get_z()
    if _last_x == 0 and _last_y == 0 and _last_z == 0:
        _last_x = x; _last_y = y; _last_z = z; return
    diff_x = x - _last_x; diff_y = y - _last_y; diff_z = z - _last_z
    _last_x = x; _last_y = y; _last_z = z
    if _count_shaked > 0: return
    _is_shaked = (diff_x * diff_x + diff_y * diff_y + diff_z * diff_z > 1)
    if _is_shaked: on_shaked()

tim12.init(period=100, mode=Timer.PERIODIC, callback=timer12_tick)

def on_shaked():
    pass
[/mw_shl_code]
看完代码也没全明白

总之感觉用了计时器

所以做了计步器后更准确了

其实也可以做跳绳读数

或者其它好玩的东东

【掌控】日行万步,OK图3

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(3)
tdw
tdw
最新固件从哪可以下载,升级
求指导!
tdw
tdw回复rzyzzxw
谢谢,昨天重新烧录就OK了
rzyzzxw
rzyzzxw
作者
回复tdw
下载最新版X,烧录固件就好。
tdw
tdw
我在实验时,也提示了上面同样的问题,是不 没有这个库文件:font.digiface_30
Jieo
Jieo
你好,我想问下,为什么我用了仿数码管显示之后,显示导入库的错误,说no module named "font"
rzyzzxw
rzyzzxw
作者
回复Jieo
要升级到最新固件。
- 没有更多了 -