8907| 0
|
Micro: bit 计数器 |
本帖最后由 Nana 于 2017-8-16 14:08 编辑 昨天下午呀,我吃了饭在路边转悠来着,一群孩子蹦蹦跳跳的跑过来,就围成一团在空地上跳起绳来, 孩子们跳着笑着,哎呀呀,让我不禁感慨啊~这就是年少时光啊,就在我yy起小学,初中,高中同桌的脸时~不知道怎么的,他们就闹成一团了。原来是几个孩子数数数出问题了,这个说她跳了40个,那个说作弊,明明就只有38个。。。公说公有理,婆说婆有理,闹得不可开交。时不我待,是时候拿出秘密武器啦~ 来来来,看小姐姐闪瞎你们的眼睛------micro:bit电子计数器。 那么问题来了,具体该怎么做呢? 首先,我们需要实现在按向A时,计数为-1;按向B时,计数为+1;同时按向A和B时,计数器归0。 需要哪些东西呢?硬件只仅仅需要一块Micro:bit开发板和一根USB数据线,软件呢,强推UpyCraft(Micropython),即点即用,简单吧!吼吼~连接Micro:bit到电脑,就可以开始编程啦~ 所需代码:[mw_shl_code=python,true]# counter for micro:bit# www.dfrobot.com.cn counter = 0 display.show(str(counter)) while True: if button_a.was_pressed(): counter=counter+1 if button_b.was_pressed(): counter=counter-1 if button_a.is_pressed() and button_b.is_pressed(): counter = 0 if counter < 10: display.show(str(counter)) elif counter >= 10: display.scroll(str(counter)) [/mw_shl_code] 代码详解: 【1】 设置计数器初始值为0 【2】 在Micro:bit上演示初始值 【3】 while循环,后面的条件满足时,将会执行后面的语句,执行完后,在判断条件是否满足,以此循环,直到条件不满足时退出。这里的True表示条件为真,那么程序会一直运行后面的代码。 【4】 按下A后,计数值+1 【5】 按下B后,计数值-1 【6】 A和B同时被按下时,计数值归零 【7】 在数值小于10时,display.show就可以完成数值演示 【8】 在数值大于10时,需要滚动显示才能完全显示出两位数或多位数。 注意:代码中was和is的区别。实验效果: 有了计数器,你可以数数你鞋柜的鞋子有多少双,还要不要再买几双,不过要是家里鞋柜全是你的鞋子,就数都不用数了~计数再多也挡不住你买买买啦。 哦,对了。还记得上次Micro:bit发声里面的代码吗? 调试的重点是格式格式格式,缩进缩进缩进,重要的事情说三遍~ 至于为什么按下AB却只显示A呢?我个人想法是A和B的循环中,要么显示A要么显示B,但是A的循环周期比较长,也就变成只显示A了(如有错处,欢迎指出)。试试下面的改进版,反应更灵敏哦~ |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed