电子秒表

来自Microduino Wikipedia
跳转至: 导航搜索

概述

Anywhere Stopwatch.jpg

做一个电子秒表,可以精确计时,一个触摸传感器控制计时开始,另一个触摸传感器控制计时器停止,同时把时间显示在OLED屏幕上。
适合套件:mCookie302


模块清单

模块

模块 数量 功能
mCookie-Core 1 核心板
电池盒 1 程序下载和供电模块
mCookie-Hub 1 传感器转接板
mCookie-OLED 1 显示
触摸传感器 2 检测是否发生触摸

其他设备

  • USB数据线*1
  • 传感器连接线*2
  • 传感器外壳
  • 乐高或其它固定结构
Anywhere Stopwatch-module.jpg

模块搭建

搭建

Anywhere Stopwatch-step.jpg
  • 将模块和传感器组装起来:
    • 将红色的核心模块,电池底座、OLED与绿色的扩展模块吸在一起;
    • 将触摸传感器连接在Hub的6/7、4/5管脚。
    • 将USB连接线一端插入电池底座,另一端连接电脑;

编程

使用的程序块


编程思路

开始键按下计时开始,停止键按下前重复执行计算时间、显示程序,停止键按下后停止计时,屏幕上保留当前时间。

Mixly-ctrl-Stopwatch.jpg

开始编程

声明变量,等待触摸按下,开始计时
s变量储存用来显示的秒数(小数格式)。 s_timer变量存储从定时器读到的毫秒数(整数格式)。 等待“开始”键按下。 计时器timer1开始计时。

Mixly-ctrl-Stopwatch-code.jpg


判断4号触摸松开情况下重复执行
当“停止”键按下前一直重复执行。 将timer1的时间存入s_timer。 s_timer除以10(去掉最后一位数,也就是千分秒位)。 将s_timer存入s。 s除以100(将十分秒和百分秒位移到小数点右边)。 以“s:秒数”的格式显示到OLED。

Mixly-ctrl-Stopwatch-code1.jpg



测试结果
上传成功后,按下6管脚的触摸传感器计时开始,可以看到OLED屏幕上时间在变化;再按下4管脚的触摸传感器计时结束,时间不再变化;再次按下6管脚的触摸传感器重新开始计时。

Anywhere Stopwatch.jpg



Q:如何把电子秒表中的数据清零?
A:在计时结束后,将存储时间的变量赋值为0就可以啦。

在所有程序后面添加。
等待“清零”键按下(计时停止之后,开始键也作为清零键使用)。 等待“清零”键松开。 s的值设为0。 在OLED上显示清零后的秒数。

Mixly-ctrl-Stopwatch-code2.jpg

技术规范

相关案例


Q&A