时间是一个较为抽象的概念,人类一直在寻找方法记录和标识它。公元前20000年,人类以在木棍和骨头上刻标记来计时; 到公元前4000年,古巴比伦人创造了日晷,以太阳的投影方向来测定并划分时刻,在尧统治时代,华夏子孙也开始使用日晷;到春秋战国时期,中国的漏壶计时更是达到了很高水平。之后,还出现了各种刻漏、沙漏、机械钟表、石英钟、闹钟、秒表、计时器等,如今手机、电脑都具有较为丰富的计时功能,那你知道常见的这些计时工具都是怎么工作的吗?
秒表和计时器的制作都需要有时间显示屏和控制按键。这次好搭BOX给我们提供的新工具是数码管。
数码管模块 | |
好搭BOX套件中包含1个数码管模块,它最多可以显示由四个数字组成的数,所以叫做“四位数码管”(如下图6-1所示)。数码管的每个数都是由八段LED组成,其中七段LED用于显示数字,第八段在数字的右下角,用于显示小数点。
图6-1 数码管模块
要控制数码管模块的显示,需要用到以下的指令:
使用这个指令可以设置数码管显示指定的数值,“整数”、“小数”这些数值类型;需要显示的数值可以在最后一个输入框中输入。
使用这个指令可以清除数码管上显示的内容。
要制作本课的范例作品,可以按以下步骤先连接硬件、连接网络,然后进入“好好搭搭”网站编写、调试、编译、下载程序。
准备工作:搭建硬件、连接网络、进入网站 | |
第一步:搭建硬件、连接网络。将数码管模块和按键模块,放置在主控板上的任意一个六边形区域,磁铁吸合,(如图6-2所示);打开主控板的电源开关,等待主控板连接网络成功。
图6-2 “秒表和定时器”范例作品硬件图
第二步:进入网站。打开浏览器,登录“好好搭搭”网站;单击网站上方的“创作”按钮,在“无线编程”网页中选择“好搭BOX智能实验箱”模板,进入程序设计页。
在正式设计计时器之前,可编译下载图6-3所示程序代码,熟悉数码管模块控制指令:
图6-3 “初识数码管指令”程序代码
案例一:简易计时器
计时器可以是从0开始记录所用时长,也可以是先设置一个时间长度,倒数计时至0。以上两种形式都有一个共同特点,即有一个数,从初始值开始依此递增或者依此递减,且在数码管上显示这个不断变化的数。从“不断变化的数”分析可得,这一效果的实现需要借助“变量”。
变量的添加方法如下:单击“变量”选项卡中的“创建变量”按钮,在弹出的对话框中输入“新变量的名称”为“Time”,最后单击“确定”按钮,即新建了一个名为“Time”的变量。
注意:好搭BOX程序中的变量名不能是中文,只能使用英文字母和数字作为变量名、并且首位必须是英文字母。
此处的简易计时器,设定变量“Time”的初始值为“0”,数码管显示变量“Time”的值,每隔一秒,变量“Time”增加1,为了确保数码管显示内容的准确性,在数码管显示语句之前加一条“数码管清除”语句。简易计时器具体程序代码如下图6-4所示:
图6-4 “简易计时器”程序代码
案例二: 可控的计时器 | |
若没有控制计时器启停的按键,以上的简易计时器会一直工作。如何实现按下“上”按键后松开,启动计时器,按下“下”按键后松开,计时器停止计时。计时结束后继续处于条件判断状态,等待再次按下“上”按键重新计时。具体程序代码如下图6-5所示:
图6-5“可控计时器”程序代码
以上所做的计时器是从“0”开始计时的,倒数计时器,是先设定一个数值,例如:设置变量“Time”的初始值为10,当按下“中”按键时,变量“Time”每隔1秒减1,直至变量“Time”值为0时,停止计时,数码管显示内容为0.。具体程序代码可如下图6-6:
图6-6“智能倒数计时器”程序代码
| 当倒计时时间只剩3秒时,能否增加蜂鸣器或者LED灯,用来提醒倒计时的结束,并且当时间为0时,结束提醒。 |
我发现:________________________________________________________________
_______________________________________________________________________
是否能再增加一个按钮,让以上的倒计时器更智能,按“上”按键开始计时,按“下”按键,可以改变倒计时的数值,按一下“下”按键,倒计时数值增加10秒,再按一下“下”按键,倒计时数值再增加10秒,当按“下”按键次数达到5次,第6次按下后不再改变倒计时数值。
我打算这么做:_______________________________________________________
______________________________________________________________________。
做的时候需要注意:____________________________________________________
____________________________________________________________________