2019-4-22 12:31:30 [显示全部楼层]
31713浏览
查看: 31713|回复: 11

[入门教程] Mind+ 掌控板入门教程12 电子秒表

[复制链接]
【Mind+】掌控入门 项目十二 电子秒表

-DFRobot官方出品
上一篇:【Mind+】掌控入门 项目十五 家庭噪音数据分析

下一篇:敬请期待

      在运动会上,很多体育项目需要裁判记录时间来代表运动员的成绩,秒表就是一种常用的测时仪器。秒表主要有机械秒表电子秒表两大类,由于电子秒表具有显示直观、读取便利、精度高等优点,所以使用更为广泛。

      利用掌控板不仅可以做出一个可以计时的电子秒表,还可以结合按钮实现分次计时,让我们一起来动手试试吧!

Mind+ 掌控板入门教程12 电子秒表图1Mind+ 掌控板入门教程12 电子秒表图2  

项目示例

      电子秒表显示时间的格式为60进制的“00:00.00”,表示分(00-59)秒(00-59)精度(00-99)。秒后保留两位小数代表时间精度为0.01秒。读取秒表的方法非常简便,如下图可读为5分28秒36或5分28.36秒。

Mind+ 掌控板入门教程12 电子秒表图3

      电子秒表上一般会有3-4个按键,控制秒表的启动、暂停、复位和分次计时。本项目中,我们将利用掌控板上的按扭A控制启动或暂停按扭B控制分次计时,掌控板背部自带的复位按键实现复位

    可通过以下三个小任务进行实践:

  • 任务一:以“00:00.00”格式显示时间

  • 任务二:按下按钮A控制计时的启动、暂停

  • 任务三:按下按扭B进行分次计时

任务一:显示时间

      在掌控板屏幕中央以以下格式显示计时中的时间。

Mind+ 掌控板入门教程12 电子秒表图4

      输入以下程序,并将程序上传。

Mind+ 掌控板入门教程12 电子秒表图5

* 程序中对变量“分”、“秒”的计算其实就是将10进制数转换为60进制,关于进制转换的知识见本文知识拓展。

运行结果:屏幕中央显示实时计时时间。

Mind+ 掌控板入门教程12 电子秒表图6

      程序中设置了“分”“秒”“精度”三个变量,对应掌控板上的“00:00.00”。我们知道1分钟有60秒,1秒钟有100个0.01秒。所以需要将指令Mind+ 掌控板入门教程12 电子秒表图7获得的实时时间进行一些数学运算得到三个变量的数值。

      如下表,当Mind+ 掌控板入门教程12 电子秒表图8为11685231毫秒时,转换为60进制的时间为3小时14分钟45秒23。

Mind+ 掌控板入门教程12 电子秒表图9

小试牛刀:尝试在屏幕中央显示当前系统运行时间,效果如下。

Mind+ 掌控板入门教程12 电子秒表图10

任务二:启动与暂停

      接下来,我们将学习使用按钮A控制秒表的启动和暂停。参考程序:
Mind+ 掌控板入门教程12 电子秒表图11
Mind+ 掌控板入门教程12 电子秒表图12


      运行结果:程序运行后,屏幕中央显示00:00.00。当按下A键,开始计时,再次按下A键,计时停止。如此循环往复。

任务三:分次计时

      按下按钮B进行分次计时,并将分次计时时间显示在掌控板上。参考程序:

Mind+ 掌控板入门教程12 电子秒表图13
Mind+ 掌控板入门教程12 电子秒表图14
Mind+ 掌控板入门教程12 电子秒表图15
运行结果:

Mind+ 掌控板入门教程12 电子秒表图16


知识拓展

软件知识

1、系统运行时间

      在Mind+中,指令Mind+ 掌控板入门教程12 电子秒表图17表示掌控板上程序开始运行后的实时时间。读取的时间单位为毫秒。分别输入下面两个程序,观察运行结果。

程序一:
Mind+ 掌控板入门教程12 电子秒表图18

程序二:
Mind+ 掌控板入门教程12 电子秒表图29

      运行程序一,屏幕左上角可看到不断变化的“系统运行时间”的数值。

      运行程序二,屏幕显示为空,当按下按钮A,屏幕左下角可看到当前的“系统运行时间”值。

      对比上面两个程序,可以发现“系统运行时间”只与程序什么时候开始执行有关系,与程序中的输入、输出无关。

2、进制

      进制是人为定义的一种带进位的计数方式。

      生活中描述身高185公分、钱10元、学生56个,采用的都是十进制,十进制是逢10进1的计数方法,每一位的数值为0-9。钟表计时中,1个小时为60分钟,1分钟为60秒,为六十进制计数方法,逢60进1,每一位的数值为0-59

      此外,一天24小时,逢24进1,就是二十四进制;一星期7天,逢7进1,就是七进制;一年12个月,逢12进1,就是十二进制;而计算机中的数据只有 0 和 1,逢2进1,就是二进制

Mind+ 掌控板入门教程12 电子秒表图19

3、进制转换

      不同进制之间的数可以相互转换,比如将六十进制的1小时25分钟可转换为十进制的85分钟(1*60+25=85)、十进制的30个月可转换为十二进制的2年6个月(30/12=2余6)。

      本项目的核心难点就在于将十进制Mind+ 掌控板入门教程12 电子秒表图20转换为六十进制的钟表时间。所以接下来,我们将举例说明十进制转换为六十进制的方法。可以采用除余法,过程如下:

Mind+ 掌控板入门教程12 电子秒表图21

     12345秒(十进制)可转换为3小时25分45秒(六十进制)。

4、数字类型变量

      在Mind+中,所有的数字类型变量默认保留小数点后两位,如果设置变量值为1,在软件底层这个值为1.00。

Mind+ 掌控板入门教程12 电子秒表图22

      下图为任务一中部分程序截图,作用是将小于10的变量“精度”补零后显示在屏幕上。

Mind+ 掌控板入门教程12 电子秒表图23

      例如,当系统运行时间为35毫秒时,变量“精度”为3.00秒,补零过程如下:

Mind+ 掌控板入门教程12 电子秒表图24

Mind+ 掌控板入门教程12 电子秒表图25中,“屏幕显示文字”指令会自动处理掉变量中小数部分的“.00”,以整数形式显示,所以不用考虑。

5、指令汇总
Mind+ 掌控板入门教程12 电子秒表图26
项目小结
  • 掌握Mind+ 掌控板入门教程12 电子秒表图27指令的意义和用法

  • 学习通过数学方法处理数据

  • 掌握计时器的编程实现

  • 了解进制、进制转换的概念

挑战一下

1、尝试将掌控板变成一个智能手表,在屏幕上显示时间、日期和星期几。

Mind+ 掌控板入门教程12 电子秒表图28

2、尝试用掌控板制作一个倒计时器。用户可以自定义倒计时时间,在屏幕上显示倒计时时间,倒计时完成后,发出警报声音,全部LED灯显示为红色呼吸灯。
12-16.png

电子秒表程序.zip

151.46 KB, 下载次数: 4423

138347640882018  见习技师

发表于 2019-4-24 16:38:56

运行出错!不对
回复

使用道具 举报

EVE  高级技匠
 楼主|

发表于 2019-4-24 18:09:35


刚刚在帖子里附了程序,可以下载运行看看,这个项目的程序有很多数据类型的转换,比如把字符串转成数字等等,如果不注意的话容易出错,希望可以帮到你哟
回复

使用道具 举报

138347640882018  见习技师

发表于 2019-4-24 19:40:37

注意空格的清空作用就对了
回复

使用道具 举报

33  见习技师

发表于 2019-7-8 08:50:54

运行出错,怎么回事
回复

使用道具 举报

EVE  高级技匠
 楼主|

发表于 2019-7-8 09:42:51

33 发表于 2019-7-8 08:50
运行出错,怎么回事

下载压缩包程序试试看
回复

使用道具 举报

338925  学徒

发表于 2019-11-18 16:44:16


运行出错!不对
回复

使用道具 举报

EVE  高级技匠
 楼主|

发表于 2019-11-19 11:35:21

338925 发表于 2019-11-18 16:44
运行出错!不对

用的什么版本Mind+啊?刚刚用1.6.1跑了程序没问题啊
回复

使用道具 举报

gada888  版主

发表于 2019-11-25 14:32:54

学习了
回复

使用道具 举报

YONG  学徒

发表于 2019-11-25 23:03:46

初学者表示这个很详细,但是很烧脑,得慢慢消化
回复

使用道具 举报

迟迟具体  见习技师

发表于 2024-6-27 11:25:11

太棒了,学到了,感恩
回复

使用道具 举报

HY2020HY1  见习技师

发表于 2024-7-14 22:12:25

多谢大佬
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail