2018-2-23 23:13:23 [显示全部楼层]
8895浏览
查看: 8895|回复: 1

[入门教程] 玩转micro:bit-用BXY玩板载按钮

[复制链接]
我要按按钮,A,B,A,B。   
拿出上学时的学习劲头,一边学一边记学习心得。
发现有错,提出来我再改正啊。:handshake
1、比比看谁按的多
这是个官方教程中的例子,很好玩的。
小伙伴们比一比,在10秒钟内,看谁按下A按钮次数多。
列个表格记录下来,不服,再比几次。


这个程序的功能:记录10秒内,A按键被按下的次数,并在10秒后将次数滚动显示出来。

  1. from microbit import *
  2. #write your program:
  3. sleep(10000)
  4. display.scroll(str(button_a.get_presses()))
复制代码

笔记:sleep():设置microbit睡眠的时间,以毫秒为单位,sleep(10000)则是睡眠10秒。
有一个button_a对象被调用,通过它的get_presses()方法得到它被按下的次数。
由于get_presses()返回的是一个整数,但是display.scroll()只接收字符,所以我们需要将整数转换为字符串。我们用这个str()函数(“string”的缩写)可以将整数转换为字符串。

2、养一只电子宠物
作死创客小姐姐有一个视频,用scratch做过一个皮皮虾,老有趣了。
玩转micro:bit-用BXY玩板载按钮图1
http://www.acfun.cn/v/ac3519565
用bit做皮皮虾,有些难,做简单些的吧。
好吧,简单的可不是一点点呢。

一个非常简单的网络宠物。它很伤心,当你按下按钮A,它会笑。但是如果按下按钮B,它会死亡。
例子来自官方教程:
  1. from microbit import *
  2. #write your program:
  3. while True:
  4.   if button_a.is_pressed():
  5.     display.show(Image.HAPPY)
  6.   elif button_b.is_pressed():
  7.     break
  8.   else:
  9.     display.show(Image.SAD)
  10. display.clear()
复制代码


这个例子我连着写了好几遍,终于明白了一点。
(1)、  if elif else  如果  否则如果 否则  这个在图形化编程中常用的句子
(2)、  break声明跳出循环

3、自己出个题目吧
按下A亮红心,按下B灭掉。
  1. from microbit import *
  2. #write your program:
  3. led=Image("00000:""00000:""00000:""00000:""00000:")
  4. while True:
  5.   if button_a.is_pressed():
  6.     display.show(Image.HEART)
  7.   elif button_b.is_pressed():
  8.    display.show(led)
复制代码

下载运行,成功。其实这个程序有点啰嗦,上面自定义了一张空白图片。
后来发现还有一个清屏的语句可用的。display.clear():$
程序:
  1. from microbit import *
  2. #write your program:
  3. while True:
  4.   if button_a.is_pressed():
  5.     display.show(Image.HEART)
  6.   elif button_b.is_pressed():
  7.     display.clear()
复制代码

模仿,实践。
思考:你有办法检查 两个按钮是否被按下吗?(提示:Python有and(与),or(或)和not(非)逻辑运算符来判断多个事实的正确或错误(产生任何事情True或False结果)。

作业:使用Microbit的按钮制作一个“简易计数器”,要求每次按下按钮A一次计数增加1并在LED阵列上滚动显示出来!
参考:https://mp.weixin.qq.com/s/C_ZZvjpvRw1bG65I7cf3Hg
这个问题要用到设置变量了,是个新问题哦。

本学习内容参考官方教程: http://docs.dfrobot.com.cn/bxy/buttons.html

rzyzzxw  版主
 楼主|

发表于 2018-2-24 09:30:32

思考题参考:
  1. from microbit import *
  2. #write your program:
  3. while True:
  4.   if button_a.is_pressed() and button_b.is_pressed():
  5.     display.show(Image.HAPPY)
  6.     sleep(1000)
  7.     for i in range(0,4):
  8.       display.show(Image.HEART_SMALL)
  9.       sleep(200)
  10.       display.show(Image.HEART)
  11.       sleep(200)
  12.   elif button_a.is_pressed():
  13.     display.show(Image.HAPPY)
  14.     sleep(1000)
  15.   elif button_b.is_pressed():
  16.     display.show(Image.HEART_SMALL)
  17.     sleep(1000)
  18.   else:
  19.     display.show(Image.SAD)
复制代码
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

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

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

mail