8946| 3
|
[项目] DIY Micro:bit运动手环 |
本帖最后由 Nana 于 2017-9-29 14:45 编辑 爬楼梯和跳绳是公认的减肥效率最高的运动方式。爬楼梯吧,跑上跑下容易打扰别人,楼上楼下人们来来往往也爱打断我,跳绳便成了我主要的运动方式。运动要循序渐进,也要达到强度才能出汗,没有工具监测运动情况可不行~手机带身上总容易掉,带手表运动又要不停去看看,市面上的运动手环又贵,看着桌上的micro:bit,嘿嘿,山人自有妙计~ 一秒一秒的看着太糟心,我设置的倒计时为10秒一次,为了方便携带也就没有加入扬声器,而是用最后10秒鱼的闪烁来提醒最后几秒啦,胜利的曙光就在眼前啦。 先看看程序执行效果吧~ 所需软硬件 3.7V电池 ×1 连线效果图 所需代码 [mw_shl_code=python,true]# Timer for microbit # www.dfrobot.com.cn 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()[/mw_shl_code] 运行成功效果 代码详解 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亚历山大 DIY材料准备: 塑料瓶 ×1 剪 刀 ×1 胶 带 ×1 1.竖着开口剪出一个长条弧形,要记得把开口位置剪得圆滑一些。 2.然后剪出一个方块,方便放置Microbit和3.7V电源。 3.最后用胶带小心翼翼(简。。。单。。。粗。。。暴)地包裹好塑料条,轻松搞定! 从此跳绳跑步测进度毫无压力~ 虽然略显粗糙,但胜在轻便好用。你喜欢吗? |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed