在之前的教程中,已经讲解了关于输出的一些操作,这里说明一下输入部分,在 micro:bit 控制器板载的输入是 A B 两个按键,我们可以通过编程来读取按键是否按下,同时作出反应。
1、按键操作 - button_a.get_presses()
记录一段时间内按下按键的次数,并且通过 micro bit 点阵显示出来
- from microbit import *
- sleep(1000)
- display.scroll(str(button_a.get_presses())) #显示按键A按下的次数
复制代码 程序上传后,microbit 等待 1 秒,然后打印出这 1 秒内,按下按键 A 的次数
2、按键操作 - button_a.is_pressed()
判断某个按键是否被按下,常用于某个动作的触发
- from microbit import *
- while True:
- if button_a.is_pressed():
- display.show(Image.HAPPY)
- elif button_b.is_pressed():
- break
- else:
- display.show(Image.SAD)
- display.clear()
复制代码 实验效果:
当按键 A 没有被按下时,点阵显示“Image.SAD”
当按键 A 被按下时,点阵显示“Image.HAPPY”
当按键 B 被按下时,退出程序
3、使用按键控制外部 LED(1)LED 发光二极管 * 1个
(2)470欧电阻 * 1个
(3)micro bit 扩展板 * 1个
(4)micro USB 连接线 * 1个
(5)micro bit 控制器 * 1个
(6)跳线 * 若干
接线说明:
LED 正极(长脚)连接 P0
LED 负极(短脚)连接 电阻一端,电阻另一端连接 GND
micro Python 程序1:
- from microbit import *
- brightness = 0
- pin0.write_digital(0)
- while True:
- if button_a.is_pressed():
- pin0.write_digital(1)
- sleep(1000)
- else:
- pin0.write_digital(0)
复制代码
效果:
micro Python 程序2:
- from microbit import *
- brightness = 0
- while True:
- if button_a.is_pressed():
- pin0.write_digital(1)
- sleep(1000)
-
- elif button_b.is_pressed():
- for i in range(50):
- brightness = brightness + 20
- pin0.write_analog(brightness)
- sleep(200)
- pin0.write_analog(0)
- brightness = 0
- else:
- pin0.write_digital(0)
复制代码
效果:
当按下按键 A 时,LED 亮起 1 秒后熄灭
当按下按键 B 时,LED 逐渐亮起后熄灭
|