Nana 发表于 2017-8-15 14:26:26

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到电脑,就可以开始编程啦~
所需代码:# 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))

代码详解:【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了(如有错处,欢迎指出)。试试下面的改进版,反应更灵敏哦~





页: [1]
查看完整版本: Micro: bit 计数器