玩转硬件之Micro:bit的玩法(二) —— 秒表

秒表是一种计时器,用于测量时间间隔的工具。它通常具有一个数字显示屏和一个或多个按钮,用于开始、停止和重置计时器。秒表可以精确地测量时间,通常以秒为单位,但有些也可以测量毫秒或微秒。它们被广泛用于体育比赛、科学实验、工业生产和其他需要精确计时的应用中。

那我们看看某宝卖的秒表长什么样?

玩转硬件之Micro:bit的玩法(二) —— 秒表_第1张图片

别说还挺好看,但你有见过这种的吗?

玩转硬件之Micro:bit的玩法(二) —— 秒表_第2张图片

说实话,不是很好看,但是它可以让你真切感受到秒表制作就是这么简单。

单片机制作秒表的原理如下:
  1. 硬件设计:需要一个计时器/计数器模块、一个显示模块和一个按键模块。计时器/计数器模块用于计时,显示模块用于显示计时结果,按键模块用于控制启动、停止和复位操作。

  2. 软件设计:通过编程控制单片机的IO口和计时器/计数器模块,实现秒表的功能。

具体步骤如下:

  1. 初始化:设置计时器/计数器模块为计数模式,配置计数器的计数频率。

  2. 按键检测:通过按键模块检测启动、停止和复位按钮的状态。

  3. 启动计时:当按下启动按钮时,开始计时器/计数器的计数。

  4. 停止计时:当按下停止按钮时,停止计时器/计数器的计数。

  5. 复位计时:当按下复位按钮时,将计时器/计数器的计数值清零。

  6. 显示计时结果:通过显示模块将计时器/计数器的计数值显示出来。

  7. 循环执行:重复执行2-6步,实现秒表的持续计时功能。

通过以上步骤,单片机可以实现秒表的功能。

以上看起来有点复杂,但是使用Micro:bit,这一切就很Easy。

Step 1 当按钮A被按下时

玩转硬件之Micro:bit的玩法(二) —— 秒表_第3张图片

Step 2 增加一个变量用来存储运行时间

玩转硬件之Micro:bit的玩法(二) —— 秒表_第4张图片

Step 3 增加一个模块,当按钮B被按下时

玩转硬件之Micro:bit的玩法(二) —— 秒表_第5张图片

Step 4 再增加一个变量用来存储经过了多少时间

玩转硬件之Micro:bit的玩法(二) —— 秒表_第6张图片

Step 5 将该变量的单位变为"秒"

玩转硬件之Micro:bit的玩法(二) —— 秒表_第7张图片

保存,然后运行,可以看到按钮A按下时,秒表开始计时,当按钮B按下时,显示一共经过了多少秒。

玩转硬件之Micro:bit的玩法(二) —— 秒表_第8张图片

附上Javscript的代码:

let start = 0
let elpased = 0
input.onButtonPressed(Button.A, function () {
    start = input.runningTime()
})
input.onButtonPressed(Button.B, function () {
    elpased = input.runningTime() - start
    basic.showNumber(elpased / 1000)
})

附上Python的代码:

start = 0
elpased = 0

def on_button_pressed_a():
    global start
    start = input.running_time()
input.on_button_pressed(Button.A, on_button_pressed_a)

def on_button_pressed_b():
    global elpased
    elpased = input.running_time() - start
    basic.show_number(elpased / 1000)
input.on_button_pressed(Button.B, on_button_pressed_b)

你可能感兴趣的:(硬件,单片机,经验分享)