查看: 150|回复: 5

[基础教程] 【BBC micro:bit】Science/定时闸门-计算汽车速度

[复制链接]
【BBC micro:bit】Science/定时闸门-计算汽车速度
本文转自micro:bit官方网站
翻译kiki 未经许可请勿转载
2019-02-12 16.58.05.gif
2019-02-12 17.11.21.gif
定时门/Timing gates
将两个门链接到micro:bit,就可以检测到通过的车辆。
2019-02-12 16.04.35.gif
当汽车通过 闸门0 时,它通过 on pin pressed 发送一个事件到micro:bit。micro:bit在变量中记录时间t0
2019-02-12 16.07.35.gif
当车通过 闸门1 的时候,它通过 on pin pressed 发送一个事件到micro:bit。micro:bit在变量中记录时间t1
2019-02-12 16.13.04.gif
其余的是一些数学和物理知识。穿过门的时间计算为t1-t0。通过将门之间的距离除以持续时间,我们得到了车的速度!
2019-02-12 16.14.46.gif

物料/Materials
  • 纸板
  • 铝箔
  • 双面胶带
  • 4个鳄鱼夹
  • micro:bit和USB线
2019-02-12 16.15.56.gif
代码
一:显示LED
在LED屏幕上显示图片

2019-02-12 16.17.23.gif
参数
leds是一个字符串,用于控制打开和关闭哪些LED。
interval是一个可选数字,表示显示图片后等待多少毫秒。如果使用块编程,interval则设置为400毫秒。

该程序显示具有该show leds功能的图片。
2019-02-12 16.18.56.gif
二:On Pin Pressed

2019-02-12 16.20.43.gif
参数
2019-02-12 16.21.07.gif
2019-02-12 16.21.16.gif
[AppleScript] 纯文本查看 复制代码
let count = 0
basic.showNumber(count, 100)
input.onPinPressed(TouchPin.P0, () => {
    count = count + 1
    basic.showNumber(count, 100)
})

三:在变量中存储数字
2019-02-12 16.30.12.gif
[AppleScript] 纯文本查看 复制代码
let item = 5
basic.showNumber(item)

在变量中存储字符串

2019-02-12 16.31.58.gif
[AppleScript] 纯文本查看 复制代码
let name = "Joe"
basic.showString(name);

四:运行时间
2019-02-12 16.28.12.gif

示例:已用时间
2019-02-12 16.29.06.gif
[AppleScript] 纯文本查看 复制代码
input.onButtonPressed(Button.B, () => {
    let now = input.runningTime()
    basic.showNumber(now)
})

五:事件时间戳
2019-02-12 16.33.19.gif
六:显示数字
显示号码
2019-02-12 16.34.06.gif
例子:
要显示数字10:
2019-02-12 16.55.52.gif
[AppleScript] 纯文本查看 复制代码
basic.showNumber(10)

要显示存储在变量中的数字:
2019-02-12 16.36.13.gif
[AppleScript] 纯文本查看 复制代码
let x = 1
basic.showNumber(x)

示例:计数到5
2019-02-12 16.37.01.gif
[AppleScript] 纯文本查看 复制代码
for (let i = 0; i < 6; i++) {
    basic.showNumber(i)
    basic.pause(200)
}

建造大门
截图201902121637565012.png

截图201902121638037240.png

截图201902121638092911.png

截图201902121638148663.png

截图201902121638183893.png

截图201902121638254297.png

升级汽车
截图201902121651488077.png

用代码检测汽车
2019-02-12 16.39.31.gif
[AppleScript] 纯文本查看 复制代码
basic.showLeds(`
        . . . . .
        . . . . .
        . . # . .
        . . . . .
        . . . . .
        `)
input.onPinPressed(TouchPin.P0, () => {
    basic.showLeds(`
        # . . . .
        # . . . .
        # . . . .
        # . . . .
        # . . . .
        `)
})

检测第二个门
2019-02-12 16.40.33.gif
[AppleScript] 纯文本查看 复制代码
basic.showLeds(`
        . . . . .
        . . . . .
        . . # . .
        . . . . .
        . . . . .
        `)
input.onPinPressed(TouchPin.P0, () => {
    basic.showLeds(`
        # . . . .
        # . . . .
        # . . . .
        # . . . .
        # . . . .
        `)
})
input.onPinPressed(TouchPin.P1, () => {
    basic.showLeds(`
        # . . . #
        # . . . #
        # . . . #
        # . . . #
        # . . . #
        `)
})

计算时间
2019-02-12 16.41.35.gif
2019-02-12 16.42.24.gif
[AppleScript] 纯文本查看 复制代码
let t0 = 0;
let t1 = 0;
basic.showLeds(`
        . . . . .
        . . . . .
        . . # . .
        . . . . .
        . . . . .
        `)
input.onPinPressed(TouchPin.P0, () => {
    t0 = control.eventTimestamp();
    basic.showLeds(`
        # . . . .
        # . . . .
        # . . . .
        # . . . .
        # . . . .
        `)
})
input.onPinPressed(TouchPin.P1, () => {
    t1 = control.eventTimestamp();
    basic.showLeds(`
        # . . . #
        # . . . #
        # . . . #
        # . . . #
        # . . . #
        `)
    let d = t1 - t0
    basic.showNumber(d)
})

计算速度
测量门之间的距离并应用牛顿定律来计算汽车的速度(它的速度)。

v = d / t




rzyzzxw  版主

发表于 2019-2-12 18:51:22

赞一下KIKI,多译一些科学探究的过来学。
回复 支持 反对

使用道具 举报

KIKIYA  管理员
 楼主|

发表于 2019-2-12 18:52:44

rzyzzxw 发表于 2019-2-12 18:51
赞一下KIKI,多译一些科学探究的过来学。

好的呢
回复 支持 反对

使用道具 举报

rzegkly  初级技匠

发表于 7 天前

很好的科学探究赞
回复 支持 反对

使用道具 举报

tyjjr  初级技匠

发表于 7 天前

哈哈哈哈
回复 支持 反对

使用道具 举报

gada888  版主

发表于 4 天前

不错
回复 支持 反对

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

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

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

mail