玩转micro:bit-用BXY玩板载按钮
我要按按钮,A,B,A,B。拿出上学时的学习劲头,一边学一边记学习心得。
发现有错,提出来我再改正啊。:handshake
1、比比看谁按的多
这是个官方教程中的例子,很好玩的。
小伙伴们比一比,在10秒钟内,看谁按下A按钮次数多。
列个表格记录下来,不服,再比几次。
这个程序的功能:记录10秒内,A按键被按下的次数,并在10秒后将次数滚动显示出来。
from microbit import *
#write your program:
sleep(10000)
display.scroll(str(button_a.get_presses()))
笔记:sleep():设置microbit睡眠的时间,以毫秒为单位,sleep(10000)则是睡眠10秒。
有一个button_a对象被调用,通过它的get_presses()方法得到它被按下的次数。
由于get_presses()返回的是一个整数,但是display.scroll()只接收字符,所以我们需要将整数转换为字符串。我们用这个str()函数(“string”的缩写)可以将整数转换为字符串。
2、养一只电子宠物
作死创客小姐姐有一个视频,用scratch做过一个皮皮虾,老有趣了。
http://www.acfun.cn/v/ac3519565
用bit做皮皮虾,有些难,做简单些的吧。
好吧,简单的可不是一点点呢。
一个非常简单的网络宠物。它很伤心,当你按下按钮A,它会笑。但是如果按下按钮B,它会死亡。
例子来自官方教程:
from microbit import *
#write your program:
while True:
if button_a.is_pressed():
display.show(Image.HAPPY)
elif button_b.is_pressed():
break
else:
display.show(Image.SAD)
display.clear()
这个例子我连着写了好几遍,终于明白了一点。
(1)、if elif else如果否则如果 否则这个在图形化编程中常用的句子
(2)、break声明跳出循环
3、自己出个题目吧
按下A亮红心,按下B灭掉。
from microbit import *
#write your program:
led=Image("00000:""00000:""00000:""00000:""00000:")
while True:
if button_a.is_pressed():
display.show(Image.HEART)
elif button_b.is_pressed():
display.show(led)
下载运行,成功。其实这个程序有点啰嗦,上面自定义了一张空白图片。
后来发现还有一个清屏的语句可用的。display.clear():$
程序:
from microbit import *
#write your program:
while True:
if button_a.is_pressed():
display.show(Image.HEART)
elif button_b.is_pressed():
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
思考题参考:
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)
页:
[1]