温度活动

在这个活动中学习如何使用设备的传感器作为输入。

  • Get started
  • MakeCode
  • Inputs
  • Variables
  • Sensors
Print lesson
  • 年龄 8+
  • 30 分钟
  • MakeCode Editor

简介

这个项目使用一个板载的传感器和一个手势控件来显示现实世界的温度。

教学指南

打开 打开 teacher resources

课堂活动

4个步骤

第一步

In the MakeCode editor select the Input option from the block menu and find the “On shake” block and drag onto the workspace.

Drag the 'on shake' block to the workspace

一旦在工作区上,“积木块“on”可以被改变成一系列手势,例如向左或右倾斜。在这个项目中,摇晃手势就选择成功了。

Click the arrow to change the gesture

input.onGesture(Gesture.Shake, function () {

})
          

第二步

现在micro:bit已经被编程,它将会响应一个摇晃手势。下一步是创建一个变量来存储温度。 在积木块菜单中选择“Variable”(变量)并点击“Make a Variable”(创建一个变量)。

然后会弹出一个对话框,要求你给变量命名。在这个例子中,将它命名为“Temp”(温度)。

Click 'ok' to change the variable name

“Temp”积木块现在出现在了变量选项菜单中。 当micro:bit被摇晃的时候,我们想让温度存储在变量“Temp”中。 To achieve this, we select the “Set item to” block and drag into the workspace.

Drag the 'set item' block to the workspace

Click the arrow next to 'item' and select 'Temp'.

Now when the micro:bit is shaken the variable “Temp” will be set to 0.


let temp = 0
input.onGesture(Gesture.Shake, function () {
    temp = 0
})
          

第三步

因此,当变量“Temp”被设置为实际温度时,我们需要使用积木块菜单中的“Input”选项的温度输入。

Drag the 'temperature' block to the workspace

将它拖拽到工作区,并设置它来替换“0”。因此,当摇晃micro:bit的时候,变量“Temp”被设置为micro:bit传感器的温度输入。


let temp = 0
input.onGesture(Gesture.Shake, function () {
    temp = input.temperature()
})
          

第四步

既然变量“Temp”(温度)已经通过micro:bit的传感器被设置成了实际温度,它现在必须显示出来,这样用户就可以看到数值。 在basic(基本)菜单中选择“Show number”积木块,并将其拖拽至工作区域。

Drag the 'show number' block to the workspace

将“show number”(显示数字)积木块放在shake input(摇晃输入)积木块中 set Temp(设置温度)积木块的下方。


let temp = 0
input.onGesture(Gesture.Shake, function () {
    temp = input.temperature()
    basic.showNumber(0)
})
          

因此,温度就会显示在LED屏幕上。我们需要再次变量“Temp”。你可以从积木块菜单下的变量选项中找到它。

Drag the 'temp' block from the variables section

将变量“Temp”(温度)放在“show number”(显示数字)积木块中,让温度的数值显示在LED屏幕上。


let temp = 0
input.onGesture(Gesture.Shake, function () {
    temp = input.temperature()
    basic.showNumber(temp)
})
          

保存好程序,并将它下载到micro:bit上。

挑战

试着添加下列功能:

  • 在温度读数后显示文本,方便用户读取温度值。
  • 显示一个温度标识
  • 在按下一个按钮或者作出一个不同的手势后,将温度改为摄氏温度或华氏温度。

了解更多

请看“掷骰子”游戏,它再次使用了手势控制,但是增加了LED屏幕的控制,并介绍了IF语句。

Selecting this opens external content from our support system, which adheres to their privacy policy.