玩转micro:bit-用BXY玩板载按钮

2018-02-231.2万
AI 快速预览详细 收起
本文介绍了使用micro:bit板载按钮进行编程的方法,包括记录按键次数、创建电子宠物和实现计数器。通过这些项目,孩子们可以学习到基本的编程逻辑。例如,在10秒内记录A按键被按下的次数,并在10秒后将次数滚动显示出来。此外,还提供了一个简单的电子宠物项目,按下按钮A会显示笑脸,按下按钮B则会死亡。最后,文章还提到了一个简易计数器的作业,要求每次按下按钮A一次计数增加1并在LED阵列上滚动显示。
我要按按钮,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

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
rzyzzxw
rzyzzxw
作者
思考题参考:
[code]from microbit import *
#write your program:
while True:
if button_a.is_pressed() and button_b.is_pressed():
display.show(Image.HAPPY)
sleep(1000)
for i in range(0,4):
display.show(Image.HEART_SMALL)
sleep(200)
display.show(Image.HEART)
sleep(200)
elif button_a.is_pressed():
display.show(Image.HAPPY)
sleep(1000)
elif button_b.is_pressed():
display.show(Image.HEART_SMALL)
sleep(1000)
else:
display.show(Image.SAD)[/code]
- 没有更多了 -