手速测试仪

来自Labplus盛思维基百科
Tangliufeng讨论 | 贡献2018年3月26日 (一) 15:37的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

挑战目标

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

知识点

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

信息窗

按键

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

Microbit class3 1.png1

重复当…

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

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


编写程序

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

Microbit class3 4.png


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

Microbit class3 5.png


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

Microbit class3 6.png


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

Microbit class3 7.png


tip:按键是属于数字输入模块,具有两种状态——真和假,利用Microbit class3 8.png判断按键是否被触发。引脚内的数值可以进行更改,和按键接入拓展板中的针脚进行对应。


Step5.实现按键按下松开记录一个数值,同样地利用空的循环语句截断程序。

Microbit class3 9.png


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

Microbit class3 10.png




Step7.参考程序如下:连接micro:bit,将程序烧到micro:bit上,并测试程序效果。

Microbit class3 11.png

训练场

如果要实现数码管从10开始进行倒数,可以怎么设计程序,自己试一试!

拓展挑战

利用数码管和两个按键制作一个抢答器。数码管进行3秒钟倒数,3秒钟后,如果左边的按钮先按下,显示屏显示左箭头,左边胜;如果右边的按钮先按下,显示屏显示右箭头,右边胜。

Tip:两个按键按下有快慢之分,利用两个变量存储不同的运行时间,并进行大小比较,就能判断左边和右边按下的先后顺序。

Microbit class3 12.png

拓展阅读

数码管
     数码管是一种可以显示数字和其他信息的电子设备,由七段发光二极管组成,当某些段点亮而另一些段不亮就可以显示一些字型。要使某些段点点亮,需具备两个条件:共阴极管的公共端接地和共阳极管的公共端接电源;共阴极管的控制端接电源和共阳极管的控制端接地。

     数码管常见的为“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,即公共电极。数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。此外,我们可以通过驱动电路,对不同的管脚输入相对的电流,从而驱动数码管的各个段码,使其发亮,显示出时间、日期、温度等所有可用数字表示的参数。

     由于它的价格便宜,使用简单,在电器特别是家电领域应用极为广泛,如空调、热水器、冰箱等等。绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。

Microbit class3 13.png