手速测试仪

来自Labplus盛思维基百科
Tangliufeng讨论 | 贡献2018年3月26日 (一) 15:05的版本 运行时间
跳转至: 导航搜索

挑战目标

本课目标为制作手速测试仪,使用按键,测试在规定时间内能按下多少次按键,并利用数码管记录时间,micro:bit显示屏显示最终数值。

知识点

  1. 认识按键和数码管;
  2. 掌握数码管、按键和拓展板的连接;
  3. 认识“重复当…”循环语句的使用;
  4. 掌握手速测试程序的编写。

信息窗

按键

按键采用按压式的开关,属于数字输入模块,按下为高电平输出,释放为低电平输出。

Microbit class3 1.png

重复当…

位于循环模块中,表示当右边的条件判断为真时重复执行程序。该指令下拉倒三角可以修改为“重复直到”,程序语句和“重复当”相反。

Microbit class3 2.png

运行时间

位于Microbit模块中,获取开机或复位后的运行时间,单位为毫秒。

Microbit class3 3.png

硬件连接

找到数码管和按键,将杜邦线插入到按键(VCC D0 GND)针脚上,另一端对应地连接到micro:bit拓展板2(extend bit Ⅱ)1引脚(3V3 D GND)上。用杜邦线接入到数码管左端(GND SCL SDA VCC)针脚上,连接到micro:bit拓展板2(extend bit Ⅱ)I2C接口,对应地接入(GND SCL SDA 3V3)针脚上,如图1-4所示。

Microbit class3 4-1.png


编写程序

现在我们来编写手速测试仪的程序。创建两个变量,一个为记录时间的t,一个为记录分数的s,初始化它们的数值。

Microbit class3 4.png


利用系统运行时间来设定变量t的值,并显示在数码管上。由于运行时间为毫秒,而数码管显示为秒,可以让变量除以1000,并进行取整。

Microbit class3 5.png


时间是在不断增加的,数码管也要重复显示时间的值,因此要为它们添加重复的指令。时间不是无止境地增加,我们可以给它规定一个时间,比如10秒。利用“重复当…”指令,当时间在10秒内时,重复执行变量t设定为运行时间和数码管显示时间的程序。

Microbit class3 6.png


在10秒的时间内,还要重复判断按键是否被按下,如果是,将记录分数的变量s增加1。

Microbit class3 7.png


tip:按键是属于数字输入模块,具有两种状态——真和假,利用Microbit class3 8.png判断按键是否被触发。引脚内的数值可以进行更改,和按键接入拓展板中的针脚进行对应。
实现按键按下松开记录一个数值,同样地利用空的循环语句截断程序。

Microbit class3 9.png


当时间到达10秒后,显示屏上显示变量s的最终数值。

Microbit class3 10.png




参考程序如下:

Microbit class3 11.png

连接micro:bit,将程序烧到micro:bit上,并测试程序效果。

训练场

拓展挑战

拓展阅读