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

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

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

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

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

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

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

具体步骤如下:

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

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

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

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

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

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

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

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

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

Step 1 当按钮A被按下时

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

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

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

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

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

附上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)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂的豆包

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值