查看: 4301|回复: 3

[项目分享] DIY Micro:bit运动手环

[复制链接]
本帖最后由 Nana 于 2017-9-29 14:45 编辑

爬楼梯和跳绳是公认的减肥效率最高的运动方式。爬楼梯吧,跑上跑下容易打扰别人,楼上楼下人们来来往往也爱打断我,跳绳便成了我主要的运动方式。运动要循序渐进,也要达到强度才能出汗,没有工具监测运动情况可不行~手机带身上总容易掉,带手表运动又要不停去看看,市面上的运动手环又贵,看着桌上的Micro:bit,嘿嘿,山人自有妙计~
1H)TSXL690U08Q}H@_U]H3G.png
一秒一秒的看着太糟心,我设置的倒计时为10秒一次,为了方便携带也就没有加入扬声器,而是用最后10秒鱼的闪烁来提醒最后几秒啦,胜利的曙光就在眼前啦。

先看看程序执行效果吧~
20170928_113917_20170928165803.gif

所需软硬件

连线效果图
6$S36Y$I(ARG1`I~5M4JV@1.png

所需代码
[Python] 纯文本查看 复制代码
# Timer for microbit
# [url=http://www.dfrobot.com.cn]www.dfrobot.com.cn[/url]
from microbit import *

mylist=["60","50","40","30","20","10"]
ii=0
counter = 0
while button_a.is_pressed() is not True:
  button_b.get_presses()

while True:
  if button_b.get_presses():
    display.clear()
    break 
  else:
    if ii==6:
      break
    if counter == 0:
      display.scroll(mylist[ii])
      ii=ii+1
      counter=counter+1
    else:
      if counter == 2000:
        counter = 0
      else:
        counter=counter+1
        sleep(5)
 
fish3 = Image( "00500:05050:55555:00500:05050") 
fish4 = Image( "00700:07070:77777:00700:07070") 
fish5 = Image( "00900:09090:99999:00900:09090")
all_fishes = [fish3,fish4,fish5]
ii=0
while ii<12:
  display.show(all_fishes,delay=300,loop=False)
  ii=ii+1 
display.clear()


运行成功效果
QZVYB90BE1RS5$EX1@~${K5.png

代码详解

from microbit import *
3行:你可以使用这个模块里面的成员函数。导入的模块越多,可以调用的成员函数也越多,但会占用更多的内存。你可以通过Microbit模块控制屏幕显示、检测按钮状态、音乐播放等。
----------------------------------------------------------------------------------------------------------------------
mylist=["60","50","40","30","20","10"]
ii=0
counter=0
5,6,7行:定义一个列表,包括6个字符,这些字符代表时间;定义随机数ii为0;定义counter为0
----------------------------------------------------------------------------------------------------------------------
while button_a.is_pressed() is not True:
   button_b.get_presses()
8,9行:
按下A,程序运行
----------------------------------------------------------------------------------------------------------------------
while True:
  if button_b.get_presses():
    display.clear()
    break
第11到14行:如果按下B,清屏,跳出循环
----------------------------------------------------------------------------------------------------------------------
else:
    if ii==6:
      break
15到17行:当ii=6,则倒计时到0秒(未显示),跳出循环
----------------------------------------------------------------------------------------------------------------------
if counter == 0:
      display.scroll(mylist[ii])
      ii=ii+1
      counter=counter+1
18到21行:counter=0有两层含义:(1)程序初始化为0;(2)已计满2000次后归0
----------------------------------------------------------------------------------------------------------------------
else:
      if counter == 2000:
        counter = 0
22到23行:counter计满2000次归零
----------------------------------------------------------------------------------------------------------------------
else:
        counter=counter+1
        sleep(5)
25到27行:counter每次计数的周期为5毫秒
----------------------------------------------------------------------------------------------------------------------
fish3 = Image("00500:05050:55555:00500:05050")
fish4 = Image("00700:07070:77777:00700:07070")
fish5 = Image( "00900:09090:99999:00900:09090")
29到31行:设置显示图像的led灯构成以及每个led灯的亮度
----------------------------------------------------------------------------------------------------------------------
all_fishes = [fish3,fish4,fish5]
第32行:定义一个鱼图像的集合,包含三个图像
----------------------------------------------------------------------------------------------------------------------
ii=0
while i<12:
display.show(all_fishes,delay=300,loop=False)
ii=ii+1
30到33行:循环显示all_fishes中的图像,每隔300毫秒切换到下一个图片;连续显示all_fishes 12次
----------------------------------------------------------------------------------------------------------------------
display.clear()
34行:清空显示
----------------------------------------------------------------------------------------------------------------------

写好了代码,将程序在板子默认运行,连接好电源,就可以做手环啦。
作为一名资深手残党,我表示Hen亚历山大 P32UBTRINA@$HG@QO75
A.png

DIY材料准备:
塑料瓶 ×1
剪   刀 ×1
胶   带 ×1
(Q7H76BHYJ1MCMS3(V(YAV8.png

1.竖着开口剪出一个长条弧形,要记得把开口位置剪得圆滑一些。
JBLF0{QVE5FHO2[LVKGYKA1.png

2.然后剪出一个方块,方便放置Microbit和3.7V电源。
~B{W~]FPQ~2FUCKT7[C0%M9.png

3.最后用胶带小心翼翼(简。。。单。。。粗。。。暴)地包裹好塑料条,轻松搞定!
20170928_155558_20170929094628.gif

从此跳绳跑步测进度毫无压力~
虽然略显粗糙,但胜在轻便好用。你喜欢吗?
N)`Q28CFJYV08@W{ZT742T6.png

hnyzcj  超级版主

发表于 2017-9-29 12:38:24

不错不错,很好的设计
回复 支持 反对

使用道具 举报

Nana  见习技师
 楼主|

发表于 2017-9-29 14:50:23

hnyzcj 发表于 2017-9-29 12:38
不错不错,很好的设计

回复 支持 反对

使用道具 举报

bobo  NPC

发表于 2017-9-30 16:37:56

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail